./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/forester-heap/sll-reverse_simple.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/forester-heap/sll-reverse_simple.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 a7651578256dc791e0a036690d99e12094845a58f582fb99f9abee48c7c5dfba --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 16:52:37,369 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 16:52:37,371 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 16:52:37,393 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 16:52:37,394 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 16:52:37,395 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 16:52:37,396 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 16:52:37,397 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 16:52:37,399 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 16:52:37,399 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 16:52:37,400 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 16:52:37,401 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 16:52:37,401 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 16:52:37,402 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 16:52:37,403 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 16:52:37,404 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 16:52:37,405 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 16:52:37,406 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 16:52:37,407 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 16:52:37,408 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 16:52:37,410 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 16:52:37,411 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 16:52:37,412 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 16:52:37,413 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 16:52:37,415 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 16:52:37,415 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 16:52:37,416 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 16:52:37,416 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 16:52:37,417 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 16:52:37,418 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 16:52:37,418 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 16:52:37,419 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 16:52:37,419 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 16:52:37,420 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 16:52:37,421 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 16:52:37,421 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 16:52:37,422 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 16:52:37,422 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 16:52:37,422 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 16:52:37,423 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 16:52:37,424 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 16:52:37,425 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:52:37,442 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 16:52:37,442 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 16:52:37,443 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 16:52:37,443 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 16:52:37,444 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 16:52:37,444 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 16:52:37,444 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 16:52:37,444 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 16:52:37,445 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 16:52:37,445 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 16:52:37,445 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 16:52:37,445 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 16:52:37,445 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 16:52:37,446 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 16:52:37,446 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 16:52:37,446 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 16:52:37,446 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 16:52:37,446 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 16:52:37,446 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 16:52:37,447 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 16:52:37,447 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 16:52:37,447 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 16:52:37,447 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 16:52:37,447 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 16:52:37,448 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 16:52:37,448 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 16:52:37,448 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 16:52:37,448 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 16:52:37,448 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 16:52:37,449 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 16:52:37,449 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 16:52:37,449 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 16:52:37,449 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 16:52:37,449 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 -> a7651578256dc791e0a036690d99e12094845a58f582fb99f9abee48c7c5dfba [2022-02-20 16:52:37,627 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 16:52:37,643 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 16:52:37,645 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 16:52:37,646 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 16:52:37,647 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 16:52:37,648 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/forester-heap/sll-reverse_simple.i [2022-02-20 16:52:37,693 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/4101b4c44/cbee2bcfa5bd4d15b3cb4908be8cd728/FLAGb06fba4cb [2022-02-20 16:52:38,109 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 16:52:38,110 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/forester-heap/sll-reverse_simple.i [2022-02-20 16:52:38,126 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/4101b4c44/cbee2bcfa5bd4d15b3cb4908be8cd728/FLAGb06fba4cb [2022-02-20 16:52:38,492 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/4101b4c44/cbee2bcfa5bd4d15b3cb4908be8cd728 [2022-02-20 16:52:38,494 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 16:52:38,496 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 16:52:38,499 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 16:52:38,499 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 16:52:38,501 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 16:52:38,502 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 04:52:38" (1/1) ... [2022-02-20 16:52:38,503 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@5d8f7784 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:52:38, skipping insertion in model container [2022-02-20 16:52:38,503 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 04:52:38" (1/1) ... [2022-02-20 16:52:38,508 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 16:52:38,561 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 16:52:38,829 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/forester-heap/sll-reverse_simple.i[22251,22264] [2022-02-20 16:52:38,832 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/forester-heap/sll-reverse_simple.i[22336,22349] [2022-02-20 16:52:38,841 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/forester-heap/sll-reverse_simple.i[22829,22842] [2022-02-20 16:52:38,846 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 16:52:38,852 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 16:52:38,883 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/forester-heap/sll-reverse_simple.i[22251,22264] [2022-02-20 16:52:38,884 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/forester-heap/sll-reverse_simple.i[22336,22349] [2022-02-20 16:52:38,888 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/forester-heap/sll-reverse_simple.i[22829,22842] [2022-02-20 16:52:38,890 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 16:52:38,922 INFO L208 MainTranslator]: Completed translation [2022-02-20 16:52:38,923 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:52:38 WrapperNode [2022-02-20 16:52:38,923 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 16:52:38,924 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 16:52:38,924 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 16:52:38,924 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 16:52:38,932 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:52:38" (1/1) ... [2022-02-20 16:52:38,948 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:52:38" (1/1) ... [2022-02-20 16:52:38,980 INFO L137 Inliner]: procedures = 119, calls = 35, calls flagged for inlining = 2, calls inlined = 2, statements flattened = 136 [2022-02-20 16:52:38,981 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 16:52:38,981 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 16:52:38,981 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 16:52:38,982 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 16:52:38,990 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:52:38" (1/1) ... [2022-02-20 16:52:38,991 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:52:38" (1/1) ... [2022-02-20 16:52:39,000 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:52:38" (1/1) ... [2022-02-20 16:52:39,000 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:52:38" (1/1) ... [2022-02-20 16:52:39,007 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:52:38" (1/1) ... [2022-02-20 16:52:39,010 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:52:38" (1/1) ... [2022-02-20 16:52:39,012 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:52:38" (1/1) ... [2022-02-20 16:52:39,014 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 16:52:39,015 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 16:52:39,015 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 16:52:39,015 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 16:52:39,016 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:52:38" (1/1) ... [2022-02-20 16:52:39,021 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 16:52:39,037 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 16:52:39,046 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:52:39,047 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:52:39,073 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-02-20 16:52:39,073 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-02-20 16:52:39,073 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2022-02-20 16:52:39,073 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 16:52:39,073 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2022-02-20 16:52:39,074 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2022-02-20 16:52:39,074 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 16:52:39,074 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 16:52:39,074 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 16:52:39,074 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 16:52:39,153 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 16:52:39,154 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 16:52:39,506 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 16:52:39,514 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 16:52:39,514 INFO L299 CfgBuilder]: Removed 11 assume(true) statements. [2022-02-20 16:52:39,515 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 04:52:39 BoogieIcfgContainer [2022-02-20 16:52:39,516 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 16:52:39,517 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 16:52:39,517 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 16:52:39,520 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 16:52:39,520 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 04:52:38" (1/3) ... [2022-02-20 16:52:39,521 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2bdda830 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 04:52:39, skipping insertion in model container [2022-02-20 16:52:39,521 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:52:38" (2/3) ... [2022-02-20 16:52:39,521 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2bdda830 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 04:52:39, skipping insertion in model container [2022-02-20 16:52:39,522 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 04:52:39" (3/3) ... [2022-02-20 16:52:39,523 INFO L111 eAbstractionObserver]: Analyzing ICFG sll-reverse_simple.i [2022-02-20 16:52:39,529 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 16:52:39,529 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 3 error locations. [2022-02-20 16:52:39,584 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 16:52:39,595 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:52:39,595 INFO L340 AbstractCegarLoop]: Starting to check reachability of 3 error locations. [2022-02-20 16:52:39,608 INFO L276 IsEmpty]: Start isEmpty. Operand has 37 states, 33 states have (on average 1.7878787878787878) internal successors, (59), 36 states have internal predecessors, (59), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:39,611 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2022-02-20 16:52:39,611 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:52:39,612 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:52:39,612 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr2ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:52:39,616 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:52:39,616 INFO L85 PathProgramCache]: Analyzing trace with hash 1813527409, now seen corresponding path program 1 times [2022-02-20 16:52:39,623 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:52:39,623 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [680672255] [2022-02-20 16:52:39,623 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:52:39,624 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:52:39,747 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:52:39,818 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#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(21, 2); {40#true} is VALID [2022-02-20 16:52:39,819 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~mem4#1.base, main_#t~mem4#1.offset, main_#t~nondet2#1, main_#t~mem8#1.base, main_#t~mem8#1.offset, main_#t~mem5#1.base, main_#t~mem5#1.offset, main_#t~nondet6#1, main_#t~short7#1, main_#t~mem9#1.base, main_#t~mem9#1.offset, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~mem11#1.base, main_#t~mem11#1.offset, main_#t~mem12#1.base, main_#t~mem12#1.offset, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_~next~0#1.base, main_~next~0#1.offset, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~t1~0#1, main_~t2~0#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, main_~prev~0#1.base, main_~prev~0#1.offset;call main_#t~malloc1#1.base, main_#t~malloc1#1.offset := #Ultimate.allocOnHeap(8);main_~head~0#1.base, main_~head~0#1.offset := main_#t~malloc1#1.base, main_#t~malloc1#1.offset;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset;call write~$Pointer$(0, 0, main_~head~0#1.base, main_~head~0#1.offset, 4);call write~int(0, main_~head~0#1.base, 4 + main_~head~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {40#true} is VALID [2022-02-20 16:52:39,820 INFO L290 TraceCheckUtils]: 2: Hoare triple {40#true} assume !true; {41#false} is VALID [2022-02-20 16:52:39,820 INFO L290 TraceCheckUtils]: 3: Hoare triple {41#false} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {41#false} is VALID [2022-02-20 16:52:39,820 INFO L290 TraceCheckUtils]: 4: Hoare triple {41#false} assume !true; {41#false} is VALID [2022-02-20 16:52:39,821 INFO L290 TraceCheckUtils]: 5: Hoare triple {41#false} assume !(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0); {41#false} is VALID [2022-02-20 16:52:39,821 INFO L290 TraceCheckUtils]: 6: Hoare triple {41#false} assume !false; {41#false} is VALID [2022-02-20 16:52:39,822 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 16:52:39,823 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:52:39,823 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [680672255] [2022-02-20 16:52:39,824 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [680672255] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:52:39,825 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:52:39,825 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 16:52:39,826 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [612923281] [2022-02-20 16:52:39,827 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:52:39,831 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 3.5) internal successors, (7), 2 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 7 [2022-02-20 16:52:39,832 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:52:39,834 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 2 states, 2 states have (on average 3.5) internal successors, (7), 2 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:39,850 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 7 edges. 7 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:52:39,850 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-02-20 16:52:39,851 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:52:39,875 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-02-20 16:52:39,876 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 16:52:39,879 INFO L87 Difference]: Start difference. First operand has 37 states, 33 states have (on average 1.7878787878787878) internal successors, (59), 36 states have internal predecessors, (59), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand has 2 states, 2 states have (on average 3.5) internal successors, (7), 2 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:39,952 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:52:39,952 INFO L93 Difference]: Finished difference Result 70 states and 112 transitions. [2022-02-20 16:52:39,953 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-02-20 16:52:39,953 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 3.5) internal successors, (7), 2 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 7 [2022-02-20 16:52:39,953 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:52:39,954 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 3.5) internal successors, (7), 2 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:39,965 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 112 transitions. [2022-02-20 16:52:39,965 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 3.5) internal successors, (7), 2 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:39,970 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 112 transitions. [2022-02-20 16:52:39,970 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 112 transitions. [2022-02-20 16:52:40,084 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 112 edges. 112 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:52:40,092 INFO L225 Difference]: With dead ends: 70 [2022-02-20 16:52:40,092 INFO L226 Difference]: Without dead ends: 31 [2022-02-20 16:52:40,096 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 2 GetRequests, 2 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:52:40,099 INFO L933 BasicCegarLoop]: 45 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, 45 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:52:40,100 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 45 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 16:52:40,111 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 31 states. [2022-02-20 16:52:40,121 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 31 to 31. [2022-02-20 16:52:40,121 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:52:40,122 INFO L82 GeneralOperation]: Start isEquivalent. First operand 31 states. Second operand has 31 states, 28 states have (on average 1.3571428571428572) internal successors, (38), 30 states have internal predecessors, (38), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:40,123 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand has 31 states, 28 states have (on average 1.3571428571428572) internal successors, (38), 30 states have internal predecessors, (38), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:40,125 INFO L87 Difference]: Start difference. First operand 31 states. Second operand has 31 states, 28 states have (on average 1.3571428571428572) internal successors, (38), 30 states have internal predecessors, (38), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:40,127 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:52:40,128 INFO L93 Difference]: Finished difference Result 31 states and 38 transitions. [2022-02-20 16:52:40,128 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 38 transitions. [2022-02-20 16:52:40,128 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:52:40,128 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:52:40,129 INFO L74 IsIncluded]: Start isIncluded. First operand has 31 states, 28 states have (on average 1.3571428571428572) internal successors, (38), 30 states have internal predecessors, (38), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 31 states. [2022-02-20 16:52:40,130 INFO L87 Difference]: Start difference. First operand has 31 states, 28 states have (on average 1.3571428571428572) internal successors, (38), 30 states have internal predecessors, (38), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 31 states. [2022-02-20 16:52:40,132 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:52:40,132 INFO L93 Difference]: Finished difference Result 31 states and 38 transitions. [2022-02-20 16:52:40,132 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 38 transitions. [2022-02-20 16:52:40,133 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:52:40,133 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:52:40,133 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:52:40,133 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:52:40,134 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 31 states, 28 states have (on average 1.3571428571428572) internal successors, (38), 30 states have internal predecessors, (38), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:40,135 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 38 transitions. [2022-02-20 16:52:40,137 INFO L78 Accepts]: Start accepts. Automaton has 31 states and 38 transitions. Word has length 7 [2022-02-20 16:52:40,137 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:52:40,137 INFO L470 AbstractCegarLoop]: Abstraction has 31 states and 38 transitions. [2022-02-20 16:52:40,137 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 3.5) internal successors, (7), 2 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:40,138 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 38 transitions. [2022-02-20 16:52:40,138 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 11 [2022-02-20 16:52:40,138 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:52:40,138 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:52:40,139 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 16:52:40,139 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr2ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:52:40,140 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:52:40,141 INFO L85 PathProgramCache]: Analyzing trace with hash -1038813004, now seen corresponding path program 1 times [2022-02-20 16:52:40,141 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:52:40,142 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [281854205] [2022-02-20 16:52:40,142 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:52:40,142 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:52:40,182 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:52:40,248 INFO L290 TraceCheckUtils]: 0: Hoare triple {225#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(21, 2); {225#true} is VALID [2022-02-20 16:52:40,249 INFO L290 TraceCheckUtils]: 1: Hoare triple {225#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~mem4#1.base, main_#t~mem4#1.offset, main_#t~nondet2#1, main_#t~mem8#1.base, main_#t~mem8#1.offset, main_#t~mem5#1.base, main_#t~mem5#1.offset, main_#t~nondet6#1, main_#t~short7#1, main_#t~mem9#1.base, main_#t~mem9#1.offset, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~mem11#1.base, main_#t~mem11#1.offset, main_#t~mem12#1.base, main_#t~mem12#1.offset, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_~next~0#1.base, main_~next~0#1.offset, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~t1~0#1, main_~t2~0#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, main_~prev~0#1.base, main_~prev~0#1.offset;call main_#t~malloc1#1.base, main_#t~malloc1#1.offset := #Ultimate.allocOnHeap(8);main_~head~0#1.base, main_~head~0#1.offset := main_#t~malloc1#1.base, main_#t~malloc1#1.offset;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset;call write~$Pointer$(0, 0, main_~head~0#1.base, main_~head~0#1.offset, 4);call write~int(0, main_~head~0#1.base, 4 + main_~head~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {227#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0))} is VALID [2022-02-20 16:52:40,250 INFO L290 TraceCheckUtils]: 2: Hoare triple {227#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0))} assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647; {227#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0))} is VALID [2022-02-20 16:52:40,251 INFO L290 TraceCheckUtils]: 3: Hoare triple {227#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0))} assume !(0 != main_#t~nondet2#1);havoc main_#t~nondet2#1; {227#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0))} is VALID [2022-02-20 16:52:40,251 INFO L290 TraceCheckUtils]: 4: Hoare triple {227#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0))} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {228#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0))} is VALID [2022-02-20 16:52:40,252 INFO L290 TraceCheckUtils]: 5: Hoare triple {228#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0))} call main_#t~mem5#1.base, main_#t~mem5#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_#t~short7#1 := main_#t~mem5#1.base != 0 || main_#t~mem5#1.offset != 0; {229#(not |ULTIMATE.start_main_#t~short7#1|)} is VALID [2022-02-20 16:52:40,253 INFO L290 TraceCheckUtils]: 6: Hoare triple {229#(not |ULTIMATE.start_main_#t~short7#1|)} assume main_#t~short7#1;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_#t~short7#1 := 0 != main_#t~nondet6#1; {226#false} is VALID [2022-02-20 16:52:40,253 INFO L290 TraceCheckUtils]: 7: Hoare triple {226#false} assume !!main_#t~short7#1;havoc main_#t~mem5#1.base, main_#t~mem5#1.offset;havoc main_#t~nondet6#1;havoc main_#t~short7#1; {226#false} is VALID [2022-02-20 16:52:40,253 INFO L290 TraceCheckUtils]: 8: Hoare triple {226#false} assume !(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0); {226#false} is VALID [2022-02-20 16:52:40,254 INFO L290 TraceCheckUtils]: 9: Hoare triple {226#false} assume !false; {226#false} is VALID [2022-02-20 16:52:40,254 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 16:52:40,254 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:52:40,255 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [281854205] [2022-02-20 16:52:40,255 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [281854205] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:52:40,262 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:52:40,262 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 16:52:40,263 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1262563057] [2022-02-20 16:52:40,263 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:52:40,264 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.0) internal successors, (10), 5 states have internal predecessors, (10), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 10 [2022-02-20 16:52:40,264 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:52:40,264 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.0) internal successors, (10), 5 states have internal predecessors, (10), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:40,274 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:52:40,274 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 16:52:40,274 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:52:40,275 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 16:52:40,275 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 16:52:40,275 INFO L87 Difference]: Start difference. First operand 31 states and 38 transitions. Second operand has 5 states, 5 states have (on average 2.0) internal successors, (10), 5 states have internal predecessors, (10), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:40,544 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:52:40,544 INFO L93 Difference]: Finished difference Result 71 states and 89 transitions. [2022-02-20 16:52:40,544 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 16:52:40,545 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.0) internal successors, (10), 5 states have internal predecessors, (10), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 10 [2022-02-20 16:52:40,545 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:52:40,545 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.0) internal successors, (10), 5 states have internal predecessors, (10), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:40,546 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 89 transitions. [2022-02-20 16:52:40,546 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.0) internal successors, (10), 5 states have internal predecessors, (10), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:40,548 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 89 transitions. [2022-02-20 16:52:40,548 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 89 transitions. [2022-02-20 16:52:40,635 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:52:40,637 INFO L225 Difference]: With dead ends: 71 [2022-02-20 16:52:40,637 INFO L226 Difference]: Without dead ends: 45 [2022-02-20 16:52:40,637 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=25, Unknown=0, NotChecked=0, Total=42 [2022-02-20 16:52:40,638 INFO L933 BasicCegarLoop]: 28 mSDtfsCounter, 17 mSDsluCounter, 64 mSDsCounter, 0 mSdLazyCounter, 55 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 92 SdHoareTripleChecker+Invalid, 67 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 55 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 16:52:40,639 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [17 Valid, 92 Invalid, 67 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 55 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 16:52:40,642 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2022-02-20 16:52:40,649 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 37. [2022-02-20 16:52:40,649 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:52:40,650 INFO L82 GeneralOperation]: Start isEquivalent. First operand 45 states. Second operand has 37 states, 34 states have (on average 1.3235294117647058) internal successors, (45), 36 states have internal predecessors, (45), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:40,650 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand has 37 states, 34 states have (on average 1.3235294117647058) internal successors, (45), 36 states have internal predecessors, (45), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:40,651 INFO L87 Difference]: Start difference. First operand 45 states. Second operand has 37 states, 34 states have (on average 1.3235294117647058) internal successors, (45), 36 states have internal predecessors, (45), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:40,654 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:52:40,656 INFO L93 Difference]: Finished difference Result 45 states and 54 transitions. [2022-02-20 16:52:40,656 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 54 transitions. [2022-02-20 16:52:40,657 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:52:40,657 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:52:40,658 INFO L74 IsIncluded]: Start isIncluded. First operand has 37 states, 34 states have (on average 1.3235294117647058) internal successors, (45), 36 states have internal predecessors, (45), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 45 states. [2022-02-20 16:52:40,659 INFO L87 Difference]: Start difference. First operand has 37 states, 34 states have (on average 1.3235294117647058) internal successors, (45), 36 states have internal predecessors, (45), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 45 states. [2022-02-20 16:52:40,661 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:52:40,662 INFO L93 Difference]: Finished difference Result 45 states and 54 transitions. [2022-02-20 16:52:40,662 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 54 transitions. [2022-02-20 16:52:40,663 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:52:40,663 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:52:40,664 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:52:40,664 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:52:40,664 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 34 states have (on average 1.3235294117647058) internal successors, (45), 36 states have internal predecessors, (45), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:40,667 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 45 transitions. [2022-02-20 16:52:40,668 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 45 transitions. Word has length 10 [2022-02-20 16:52:40,668 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:52:40,668 INFO L470 AbstractCegarLoop]: Abstraction has 37 states and 45 transitions. [2022-02-20 16:52:40,669 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.0) internal successors, (10), 5 states have internal predecessors, (10), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:40,669 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 45 transitions. [2022-02-20 16:52:40,669 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 11 [2022-02-20 16:52:40,669 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:52:40,669 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:52:40,670 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-02-20 16:52:40,670 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr2ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:52:40,670 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:52:40,671 INFO L85 PathProgramCache]: Analyzing trace with hash -1038754672, now seen corresponding path program 1 times [2022-02-20 16:52:40,671 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:52:40,671 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1631546260] [2022-02-20 16:52:40,671 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:52:40,671 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:52:40,697 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:52:40,741 INFO L290 TraceCheckUtils]: 0: Hoare triple {452#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(21, 2); {452#true} is VALID [2022-02-20 16:52:40,742 INFO L290 TraceCheckUtils]: 1: Hoare triple {452#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~mem4#1.base, main_#t~mem4#1.offset, main_#t~nondet2#1, main_#t~mem8#1.base, main_#t~mem8#1.offset, main_#t~mem5#1.base, main_#t~mem5#1.offset, main_#t~nondet6#1, main_#t~short7#1, main_#t~mem9#1.base, main_#t~mem9#1.offset, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~mem11#1.base, main_#t~mem11#1.offset, main_#t~mem12#1.base, main_#t~mem12#1.offset, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_~next~0#1.base, main_~next~0#1.offset, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~t1~0#1, main_~t2~0#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, main_~prev~0#1.base, main_~prev~0#1.offset;call main_#t~malloc1#1.base, main_#t~malloc1#1.offset := #Ultimate.allocOnHeap(8);main_~head~0#1.base, main_~head~0#1.offset := main_#t~malloc1#1.base, main_#t~malloc1#1.offset;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset;call write~$Pointer$(0, 0, main_~head~0#1.base, main_~head~0#1.offset, 4);call write~int(0, main_~head~0#1.base, 4 + main_~head~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {454#(not (= |ULTIMATE.start_main_~head~0#1.base| 0))} is VALID [2022-02-20 16:52:40,742 INFO L290 TraceCheckUtils]: 2: Hoare triple {454#(not (= |ULTIMATE.start_main_~head~0#1.base| 0))} assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647; {454#(not (= |ULTIMATE.start_main_~head~0#1.base| 0))} is VALID [2022-02-20 16:52:40,743 INFO L290 TraceCheckUtils]: 3: Hoare triple {454#(not (= |ULTIMATE.start_main_~head~0#1.base| 0))} assume !(0 != main_#t~nondet2#1);havoc main_#t~nondet2#1; {454#(not (= |ULTIMATE.start_main_~head~0#1.base| 0))} is VALID [2022-02-20 16:52:40,743 INFO L290 TraceCheckUtils]: 4: Hoare triple {454#(not (= |ULTIMATE.start_main_~head~0#1.base| 0))} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {455#(not (= |ULTIMATE.start_main_~x~0#1.base| 0))} is VALID [2022-02-20 16:52:40,744 INFO L290 TraceCheckUtils]: 5: Hoare triple {455#(not (= |ULTIMATE.start_main_~x~0#1.base| 0))} call main_#t~mem5#1.base, main_#t~mem5#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_#t~short7#1 := main_#t~mem5#1.base != 0 || main_#t~mem5#1.offset != 0; {455#(not (= |ULTIMATE.start_main_~x~0#1.base| 0))} is VALID [2022-02-20 16:52:40,744 INFO L290 TraceCheckUtils]: 6: Hoare triple {455#(not (= |ULTIMATE.start_main_~x~0#1.base| 0))} assume !main_#t~short7#1; {455#(not (= |ULTIMATE.start_main_~x~0#1.base| 0))} is VALID [2022-02-20 16:52:40,746 INFO L290 TraceCheckUtils]: 7: Hoare triple {455#(not (= |ULTIMATE.start_main_~x~0#1.base| 0))} assume !main_#t~short7#1;havoc main_#t~mem5#1.base, main_#t~mem5#1.offset;havoc main_#t~nondet6#1;havoc main_#t~short7#1; {455#(not (= |ULTIMATE.start_main_~x~0#1.base| 0))} is VALID [2022-02-20 16:52:40,746 INFO L290 TraceCheckUtils]: 8: Hoare triple {455#(not (= |ULTIMATE.start_main_~x~0#1.base| 0))} assume !(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0); {453#false} is VALID [2022-02-20 16:52:40,746 INFO L290 TraceCheckUtils]: 9: Hoare triple {453#false} assume !false; {453#false} is VALID [2022-02-20 16:52:40,747 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 16:52:40,747 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:52:40,748 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1631546260] [2022-02-20 16:52:40,748 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1631546260] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:52:40,749 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:52:40,749 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 16:52:40,749 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [126936781] [2022-02-20 16:52:40,749 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:52:40,750 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 2.5) internal successors, (10), 4 states have internal predecessors, (10), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 10 [2022-02-20 16:52:40,750 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:52:40,750 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 2.5) internal successors, (10), 4 states have internal predecessors, (10), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:40,759 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:52:40,759 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 16:52:40,760 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:52:40,761 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 16:52:40,761 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 16:52:40,761 INFO L87 Difference]: Start difference. First operand 37 states and 45 transitions. Second operand has 4 states, 4 states have (on average 2.5) internal successors, (10), 4 states have internal predecessors, (10), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:40,906 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:52:40,906 INFO L93 Difference]: Finished difference Result 64 states and 78 transitions. [2022-02-20 16:52:40,906 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 16:52:40,906 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 2.5) internal successors, (10), 4 states have internal predecessors, (10), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 10 [2022-02-20 16:52:40,906 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:52:40,907 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 2.5) internal successors, (10), 4 states have internal predecessors, (10), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:40,909 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 70 transitions. [2022-02-20 16:52:40,909 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 2.5) internal successors, (10), 4 states have internal predecessors, (10), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:40,910 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 70 transitions. [2022-02-20 16:52:40,911 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 70 transitions. [2022-02-20 16:52:40,983 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:52:40,984 INFO L225 Difference]: With dead ends: 64 [2022-02-20 16:52:40,984 INFO L226 Difference]: Without dead ends: 50 [2022-02-20 16:52:40,985 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 5 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2022-02-20 16:52:40,986 INFO L933 BasicCegarLoop]: 27 mSDtfsCounter, 41 mSDsluCounter, 27 mSDsCounter, 0 mSdLazyCounter, 28 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 41 SdHoareTripleChecker+Valid, 54 SdHoareTripleChecker+Invalid, 42 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 28 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 16:52:40,986 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [41 Valid, 54 Invalid, 42 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 28 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 16:52:40,987 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-02-20 16:52:40,990 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 44. [2022-02-20 16:52:40,990 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:52:40,991 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand has 44 states, 41 states have (on average 1.3170731707317074) internal successors, (54), 43 states have internal predecessors, (54), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:40,991 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand has 44 states, 41 states have (on average 1.3170731707317074) internal successors, (54), 43 states have internal predecessors, (54), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:40,991 INFO L87 Difference]: Start difference. First operand 50 states. Second operand has 44 states, 41 states have (on average 1.3170731707317074) internal successors, (54), 43 states have internal predecessors, (54), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:40,993 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:52:40,993 INFO L93 Difference]: Finished difference Result 50 states and 61 transitions. [2022-02-20 16:52:40,993 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 61 transitions. [2022-02-20 16:52:40,994 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:52:40,994 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:52:40,994 INFO L74 IsIncluded]: Start isIncluded. First operand has 44 states, 41 states have (on average 1.3170731707317074) internal successors, (54), 43 states have internal predecessors, (54), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 50 states. [2022-02-20 16:52:40,995 INFO L87 Difference]: Start difference. First operand has 44 states, 41 states have (on average 1.3170731707317074) internal successors, (54), 43 states have internal predecessors, (54), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 50 states. [2022-02-20 16:52:40,996 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:52:40,996 INFO L93 Difference]: Finished difference Result 50 states and 61 transitions. [2022-02-20 16:52:41,003 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 61 transitions. [2022-02-20 16:52:41,004 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:52:41,004 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:52:41,004 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:52:41,004 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:52:41,004 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 44 states, 41 states have (on average 1.3170731707317074) internal successors, (54), 43 states have internal predecessors, (54), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:41,005 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 44 states to 44 states and 54 transitions. [2022-02-20 16:52:41,006 INFO L78 Accepts]: Start accepts. Automaton has 44 states and 54 transitions. Word has length 10 [2022-02-20 16:52:41,006 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:52:41,006 INFO L470 AbstractCegarLoop]: Abstraction has 44 states and 54 transitions. [2022-02-20 16:52:41,006 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 2.5) internal successors, (10), 4 states have internal predecessors, (10), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:41,006 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 54 transitions. [2022-02-20 16:52:41,007 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-02-20 16:52:41,007 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:52:41,007 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:52:41,007 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-02-20 16:52:41,007 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr2ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:52:41,008 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:52:41,008 INFO L85 PathProgramCache]: Analyzing trace with hash 1414194791, now seen corresponding path program 1 times [2022-02-20 16:52:41,008 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:52:41,008 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [371494589] [2022-02-20 16:52:41,008 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:52:41,009 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:52:41,037 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:52:41,101 INFO L290 TraceCheckUtils]: 0: Hoare triple {689#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(21, 2); {689#true} is VALID [2022-02-20 16:52:41,101 INFO L290 TraceCheckUtils]: 1: Hoare triple {689#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~mem4#1.base, main_#t~mem4#1.offset, main_#t~nondet2#1, main_#t~mem8#1.base, main_#t~mem8#1.offset, main_#t~mem5#1.base, main_#t~mem5#1.offset, main_#t~nondet6#1, main_#t~short7#1, main_#t~mem9#1.base, main_#t~mem9#1.offset, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~mem11#1.base, main_#t~mem11#1.offset, main_#t~mem12#1.base, main_#t~mem12#1.offset, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_~next~0#1.base, main_~next~0#1.offset, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~t1~0#1, main_~t2~0#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, main_~prev~0#1.base, main_~prev~0#1.offset;call main_#t~malloc1#1.base, main_#t~malloc1#1.offset := #Ultimate.allocOnHeap(8);main_~head~0#1.base, main_~head~0#1.offset := main_#t~malloc1#1.base, main_#t~malloc1#1.offset;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset;call write~$Pointer$(0, 0, main_~head~0#1.base, main_~head~0#1.offset, 4);call write~int(0, main_~head~0#1.base, 4 + main_~head~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {689#true} is VALID [2022-02-20 16:52:41,101 INFO L290 TraceCheckUtils]: 2: Hoare triple {689#true} assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647; {689#true} is VALID [2022-02-20 16:52:41,102 INFO L290 TraceCheckUtils]: 3: Hoare triple {689#true} assume !!(0 != main_#t~nondet2#1);havoc main_#t~nondet2#1;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);call write~$Pointer$(main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4);havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset;call main_#t~mem4#1.base, main_#t~mem4#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_#t~mem4#1.base, main_#t~mem4#1.offset;havoc main_#t~mem4#1.base, main_#t~mem4#1.offset;call write~$Pointer$(0, 0, main_~x~0#1.base, main_~x~0#1.offset, 4);call write~int(0, main_~x~0#1.base, 4 + main_~x~0#1.offset, 4); {689#true} is VALID [2022-02-20 16:52:41,102 INFO L290 TraceCheckUtils]: 4: Hoare triple {689#true} assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647; {689#true} is VALID [2022-02-20 16:52:41,102 INFO L290 TraceCheckUtils]: 5: Hoare triple {689#true} assume !(0 != main_#t~nondet2#1);havoc main_#t~nondet2#1; {689#true} is VALID [2022-02-20 16:52:41,102 INFO L290 TraceCheckUtils]: 6: Hoare triple {689#true} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {689#true} is VALID [2022-02-20 16:52:41,103 INFO L290 TraceCheckUtils]: 7: Hoare triple {689#true} call main_#t~mem5#1.base, main_#t~mem5#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_#t~short7#1 := main_#t~mem5#1.base != 0 || main_#t~mem5#1.offset != 0; {691#(or (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)) (not (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)) (not |ULTIMATE.start_main_#t~short7#1|))} is VALID [2022-02-20 16:52:41,103 INFO L290 TraceCheckUtils]: 8: Hoare triple {691#(or (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)) (not (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)) (not |ULTIMATE.start_main_#t~short7#1|))} assume main_#t~short7#1;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_#t~short7#1 := 0 != main_#t~nondet6#1; {692#(or (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)) (not (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)))} is VALID [2022-02-20 16:52:41,104 INFO L290 TraceCheckUtils]: 9: Hoare triple {692#(or (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)) (not (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)))} assume !!main_#t~short7#1;havoc main_#t~mem5#1.base, main_#t~mem5#1.offset;havoc main_#t~nondet6#1;havoc main_#t~short7#1; {692#(or (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)) (not (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)))} is VALID [2022-02-20 16:52:41,105 INFO L290 TraceCheckUtils]: 10: Hoare triple {692#(or (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)) (not (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)))} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0); {692#(or (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)) (not (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)))} is VALID [2022-02-20 16:52:41,105 INFO L290 TraceCheckUtils]: 11: Hoare triple {692#(or (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)) (not (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)))} goto; {692#(or (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)) (not (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)))} is VALID [2022-02-20 16:52:41,106 INFO L290 TraceCheckUtils]: 12: Hoare triple {692#(or (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)) (not (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)))} call main_#t~mem8#1.base, main_#t~mem8#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_#t~mem8#1.base, main_#t~mem8#1.offset;havoc main_#t~mem8#1.base, main_#t~mem8#1.offset; {693#(or (not (= |ULTIMATE.start_main_~x~0#1.base| 0)) (not (= |ULTIMATE.start_main_~x~0#1.offset| 0)))} is VALID [2022-02-20 16:52:41,107 INFO L290 TraceCheckUtils]: 13: Hoare triple {693#(or (not (= |ULTIMATE.start_main_~x~0#1.base| 0)) (not (= |ULTIMATE.start_main_~x~0#1.offset| 0)))} call main_#t~mem5#1.base, main_#t~mem5#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_#t~short7#1 := main_#t~mem5#1.base != 0 || main_#t~mem5#1.offset != 0; {693#(or (not (= |ULTIMATE.start_main_~x~0#1.base| 0)) (not (= |ULTIMATE.start_main_~x~0#1.offset| 0)))} is VALID [2022-02-20 16:52:41,107 INFO L290 TraceCheckUtils]: 14: Hoare triple {693#(or (not (= |ULTIMATE.start_main_~x~0#1.base| 0)) (not (= |ULTIMATE.start_main_~x~0#1.offset| 0)))} assume main_#t~short7#1;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_#t~short7#1 := 0 != main_#t~nondet6#1; {693#(or (not (= |ULTIMATE.start_main_~x~0#1.base| 0)) (not (= |ULTIMATE.start_main_~x~0#1.offset| 0)))} is VALID [2022-02-20 16:52:41,108 INFO L290 TraceCheckUtils]: 15: Hoare triple {693#(or (not (= |ULTIMATE.start_main_~x~0#1.base| 0)) (not (= |ULTIMATE.start_main_~x~0#1.offset| 0)))} assume !!main_#t~short7#1;havoc main_#t~mem5#1.base, main_#t~mem5#1.offset;havoc main_#t~nondet6#1;havoc main_#t~short7#1; {693#(or (not (= |ULTIMATE.start_main_~x~0#1.base| 0)) (not (= |ULTIMATE.start_main_~x~0#1.offset| 0)))} is VALID [2022-02-20 16:52:41,109 INFO L290 TraceCheckUtils]: 16: Hoare triple {693#(or (not (= |ULTIMATE.start_main_~x~0#1.base| 0)) (not (= |ULTIMATE.start_main_~x~0#1.offset| 0)))} assume !(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0); {690#false} is VALID [2022-02-20 16:52:41,110 INFO L290 TraceCheckUtils]: 17: Hoare triple {690#false} assume !false; {690#false} is VALID [2022-02-20 16:52:41,110 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 3 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-02-20 16:52:41,111 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:52:41,111 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [371494589] [2022-02-20 16:52:41,111 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [371494589] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 16:52:41,111 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1524246374] [2022-02-20 16:52:41,112 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:52:41,112 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:52:41,112 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 16:52:41,123 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:52:41,138 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:52:41,209 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:52:41,211 INFO L263 TraceCheckSpWp]: Trace formula consists of 147 conjuncts, 14 conjunts are in the unsatisfiable core [2022-02-20 16:52:41,239 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:52:41,243 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:52:41,503 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 17 [2022-02-20 16:52:41,515 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 21 treesize of output 13 [2022-02-20 16:52:41,558 INFO L290 TraceCheckUtils]: 0: Hoare triple {689#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(21, 2); {689#true} is VALID [2022-02-20 16:52:41,558 INFO L290 TraceCheckUtils]: 1: Hoare triple {689#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~mem4#1.base, main_#t~mem4#1.offset, main_#t~nondet2#1, main_#t~mem8#1.base, main_#t~mem8#1.offset, main_#t~mem5#1.base, main_#t~mem5#1.offset, main_#t~nondet6#1, main_#t~short7#1, main_#t~mem9#1.base, main_#t~mem9#1.offset, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~mem11#1.base, main_#t~mem11#1.offset, main_#t~mem12#1.base, main_#t~mem12#1.offset, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_~next~0#1.base, main_~next~0#1.offset, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~t1~0#1, main_~t2~0#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, main_~prev~0#1.base, main_~prev~0#1.offset;call main_#t~malloc1#1.base, main_#t~malloc1#1.offset := #Ultimate.allocOnHeap(8);main_~head~0#1.base, main_~head~0#1.offset := main_#t~malloc1#1.base, main_#t~malloc1#1.offset;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset;call write~$Pointer$(0, 0, main_~head~0#1.base, main_~head~0#1.offset, 4);call write~int(0, main_~head~0#1.base, 4 + main_~head~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {689#true} is VALID [2022-02-20 16:52:41,558 INFO L290 TraceCheckUtils]: 2: Hoare triple {689#true} assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647; {689#true} is VALID [2022-02-20 16:52:41,559 INFO L290 TraceCheckUtils]: 3: Hoare triple {689#true} assume !!(0 != main_#t~nondet2#1);havoc main_#t~nondet2#1;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);call write~$Pointer$(main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4);havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset;call main_#t~mem4#1.base, main_#t~mem4#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_#t~mem4#1.base, main_#t~mem4#1.offset;havoc main_#t~mem4#1.base, main_#t~mem4#1.offset;call write~$Pointer$(0, 0, main_~x~0#1.base, main_~x~0#1.offset, 4);call write~int(0, main_~x~0#1.base, 4 + main_~x~0#1.offset, 4); {689#true} is VALID [2022-02-20 16:52:41,559 INFO L290 TraceCheckUtils]: 4: Hoare triple {689#true} assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647; {689#true} is VALID [2022-02-20 16:52:41,559 INFO L290 TraceCheckUtils]: 5: Hoare triple {689#true} assume !(0 != main_#t~nondet2#1);havoc main_#t~nondet2#1; {689#true} is VALID [2022-02-20 16:52:41,559 INFO L290 TraceCheckUtils]: 6: Hoare triple {689#true} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {689#true} is VALID [2022-02-20 16:52:41,563 INFO L290 TraceCheckUtils]: 7: Hoare triple {689#true} call main_#t~mem5#1.base, main_#t~mem5#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_#t~short7#1 := main_#t~mem5#1.base != 0 || main_#t~mem5#1.offset != 0; {718#(or (and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (not |ULTIMATE.start_main_#t~short7#1|)) (and (or (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)) (not (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0))) |ULTIMATE.start_main_#t~short7#1|))} is VALID [2022-02-20 16:52:41,564 INFO L290 TraceCheckUtils]: 8: Hoare triple {718#(or (and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (not |ULTIMATE.start_main_#t~short7#1|)) (and (or (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)) (not (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0))) |ULTIMATE.start_main_#t~short7#1|))} assume main_#t~short7#1;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_#t~short7#1 := 0 != main_#t~nondet6#1; {692#(or (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)) (not (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)))} is VALID [2022-02-20 16:52:41,564 INFO L290 TraceCheckUtils]: 9: Hoare triple {692#(or (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)) (not (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)))} assume !!main_#t~short7#1;havoc main_#t~mem5#1.base, main_#t~mem5#1.offset;havoc main_#t~nondet6#1;havoc main_#t~short7#1; {692#(or (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)) (not (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)))} is VALID [2022-02-20 16:52:41,565 INFO L290 TraceCheckUtils]: 10: Hoare triple {692#(or (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)) (not (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)))} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0); {692#(or (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)) (not (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)))} is VALID [2022-02-20 16:52:41,567 INFO L290 TraceCheckUtils]: 11: Hoare triple {692#(or (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)) (not (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)))} goto; {692#(or (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)) (not (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)))} is VALID [2022-02-20 16:52:41,567 INFO L290 TraceCheckUtils]: 12: Hoare triple {692#(or (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)) (not (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)))} call main_#t~mem8#1.base, main_#t~mem8#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_#t~mem8#1.base, main_#t~mem8#1.offset;havoc main_#t~mem8#1.base, main_#t~mem8#1.offset; {693#(or (not (= |ULTIMATE.start_main_~x~0#1.base| 0)) (not (= |ULTIMATE.start_main_~x~0#1.offset| 0)))} is VALID [2022-02-20 16:52:41,568 INFO L290 TraceCheckUtils]: 13: Hoare triple {693#(or (not (= |ULTIMATE.start_main_~x~0#1.base| 0)) (not (= |ULTIMATE.start_main_~x~0#1.offset| 0)))} call main_#t~mem5#1.base, main_#t~mem5#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_#t~short7#1 := main_#t~mem5#1.base != 0 || main_#t~mem5#1.offset != 0; {693#(or (not (= |ULTIMATE.start_main_~x~0#1.base| 0)) (not (= |ULTIMATE.start_main_~x~0#1.offset| 0)))} is VALID [2022-02-20 16:52:41,569 INFO L290 TraceCheckUtils]: 14: Hoare triple {693#(or (not (= |ULTIMATE.start_main_~x~0#1.base| 0)) (not (= |ULTIMATE.start_main_~x~0#1.offset| 0)))} assume main_#t~short7#1;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_#t~short7#1 := 0 != main_#t~nondet6#1; {693#(or (not (= |ULTIMATE.start_main_~x~0#1.base| 0)) (not (= |ULTIMATE.start_main_~x~0#1.offset| 0)))} is VALID [2022-02-20 16:52:41,569 INFO L290 TraceCheckUtils]: 15: Hoare triple {693#(or (not (= |ULTIMATE.start_main_~x~0#1.base| 0)) (not (= |ULTIMATE.start_main_~x~0#1.offset| 0)))} assume !!main_#t~short7#1;havoc main_#t~mem5#1.base, main_#t~mem5#1.offset;havoc main_#t~nondet6#1;havoc main_#t~short7#1; {693#(or (not (= |ULTIMATE.start_main_~x~0#1.base| 0)) (not (= |ULTIMATE.start_main_~x~0#1.offset| 0)))} is VALID [2022-02-20 16:52:41,570 INFO L290 TraceCheckUtils]: 16: Hoare triple {693#(or (not (= |ULTIMATE.start_main_~x~0#1.base| 0)) (not (= |ULTIMATE.start_main_~x~0#1.offset| 0)))} assume !(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0); {690#false} is VALID [2022-02-20 16:52:41,570 INFO L290 TraceCheckUtils]: 17: Hoare triple {690#false} assume !false; {690#false} is VALID [2022-02-20 16:52:41,570 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 3 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-02-20 16:52:41,571 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 16:52:41,673 INFO L290 TraceCheckUtils]: 17: Hoare triple {690#false} assume !false; {690#false} is VALID [2022-02-20 16:52:41,674 INFO L290 TraceCheckUtils]: 16: Hoare triple {693#(or (not (= |ULTIMATE.start_main_~x~0#1.base| 0)) (not (= |ULTIMATE.start_main_~x~0#1.offset| 0)))} assume !(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0); {690#false} is VALID [2022-02-20 16:52:41,674 INFO L290 TraceCheckUtils]: 15: Hoare triple {693#(or (not (= |ULTIMATE.start_main_~x~0#1.base| 0)) (not (= |ULTIMATE.start_main_~x~0#1.offset| 0)))} assume !!main_#t~short7#1;havoc main_#t~mem5#1.base, main_#t~mem5#1.offset;havoc main_#t~nondet6#1;havoc main_#t~short7#1; {693#(or (not (= |ULTIMATE.start_main_~x~0#1.base| 0)) (not (= |ULTIMATE.start_main_~x~0#1.offset| 0)))} is VALID [2022-02-20 16:52:41,675 INFO L290 TraceCheckUtils]: 14: Hoare triple {693#(or (not (= |ULTIMATE.start_main_~x~0#1.base| 0)) (not (= |ULTIMATE.start_main_~x~0#1.offset| 0)))} assume main_#t~short7#1;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_#t~short7#1 := 0 != main_#t~nondet6#1; {693#(or (not (= |ULTIMATE.start_main_~x~0#1.base| 0)) (not (= |ULTIMATE.start_main_~x~0#1.offset| 0)))} is VALID [2022-02-20 16:52:41,676 INFO L290 TraceCheckUtils]: 13: Hoare triple {693#(or (not (= |ULTIMATE.start_main_~x~0#1.base| 0)) (not (= |ULTIMATE.start_main_~x~0#1.offset| 0)))} call main_#t~mem5#1.base, main_#t~mem5#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_#t~short7#1 := main_#t~mem5#1.base != 0 || main_#t~mem5#1.offset != 0; {693#(or (not (= |ULTIMATE.start_main_~x~0#1.base| 0)) (not (= |ULTIMATE.start_main_~x~0#1.offset| 0)))} is VALID [2022-02-20 16:52:41,676 INFO L290 TraceCheckUtils]: 12: Hoare triple {692#(or (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)) (not (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)))} call main_#t~mem8#1.base, main_#t~mem8#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_#t~mem8#1.base, main_#t~mem8#1.offset;havoc main_#t~mem8#1.base, main_#t~mem8#1.offset; {693#(or (not (= |ULTIMATE.start_main_~x~0#1.base| 0)) (not (= |ULTIMATE.start_main_~x~0#1.offset| 0)))} is VALID [2022-02-20 16:52:41,677 INFO L290 TraceCheckUtils]: 11: Hoare triple {692#(or (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)) (not (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)))} goto; {692#(or (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)) (not (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)))} is VALID [2022-02-20 16:52:41,677 INFO L290 TraceCheckUtils]: 10: Hoare triple {692#(or (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)) (not (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)))} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0); {692#(or (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)) (not (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)))} is VALID [2022-02-20 16:52:41,678 INFO L290 TraceCheckUtils]: 9: Hoare triple {692#(or (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)) (not (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)))} assume !!main_#t~short7#1;havoc main_#t~mem5#1.base, main_#t~mem5#1.offset;havoc main_#t~nondet6#1;havoc main_#t~short7#1; {692#(or (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)) (not (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)))} is VALID [2022-02-20 16:52:41,679 INFO L290 TraceCheckUtils]: 8: Hoare triple {691#(or (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)) (not (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)) (not |ULTIMATE.start_main_#t~short7#1|))} assume main_#t~short7#1;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_#t~short7#1 := 0 != main_#t~nondet6#1; {692#(or (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)) (not (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)))} is VALID [2022-02-20 16:52:41,679 INFO L290 TraceCheckUtils]: 7: Hoare triple {689#true} call main_#t~mem5#1.base, main_#t~mem5#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_#t~short7#1 := main_#t~mem5#1.base != 0 || main_#t~mem5#1.offset != 0; {691#(or (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)) (not (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)) (not |ULTIMATE.start_main_#t~short7#1|))} is VALID [2022-02-20 16:52:41,680 INFO L290 TraceCheckUtils]: 6: Hoare triple {689#true} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {689#true} is VALID [2022-02-20 16:52:41,680 INFO L290 TraceCheckUtils]: 5: Hoare triple {689#true} assume !(0 != main_#t~nondet2#1);havoc main_#t~nondet2#1; {689#true} is VALID [2022-02-20 16:52:41,680 INFO L290 TraceCheckUtils]: 4: Hoare triple {689#true} assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647; {689#true} is VALID [2022-02-20 16:52:41,680 INFO L290 TraceCheckUtils]: 3: Hoare triple {689#true} assume !!(0 != main_#t~nondet2#1);havoc main_#t~nondet2#1;call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(8);call write~$Pointer$(main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4);havoc main_#t~malloc3#1.base, main_#t~malloc3#1.offset;call main_#t~mem4#1.base, main_#t~mem4#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_#t~mem4#1.base, main_#t~mem4#1.offset;havoc main_#t~mem4#1.base, main_#t~mem4#1.offset;call write~$Pointer$(0, 0, main_~x~0#1.base, main_~x~0#1.offset, 4);call write~int(0, main_~x~0#1.base, 4 + main_~x~0#1.offset, 4); {689#true} is VALID [2022-02-20 16:52:41,680 INFO L290 TraceCheckUtils]: 2: Hoare triple {689#true} assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647; {689#true} is VALID [2022-02-20 16:52:41,681 INFO L290 TraceCheckUtils]: 1: Hoare triple {689#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~mem4#1.base, main_#t~mem4#1.offset, main_#t~nondet2#1, main_#t~mem8#1.base, main_#t~mem8#1.offset, main_#t~mem5#1.base, main_#t~mem5#1.offset, main_#t~nondet6#1, main_#t~short7#1, main_#t~mem9#1.base, main_#t~mem9#1.offset, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~mem11#1.base, main_#t~mem11#1.offset, main_#t~mem12#1.base, main_#t~mem12#1.offset, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_~next~0#1.base, main_~next~0#1.offset, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~t1~0#1, main_~t2~0#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, main_~prev~0#1.base, main_~prev~0#1.offset;call main_#t~malloc1#1.base, main_#t~malloc1#1.offset := #Ultimate.allocOnHeap(8);main_~head~0#1.base, main_~head~0#1.offset := main_#t~malloc1#1.base, main_#t~malloc1#1.offset;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset;call write~$Pointer$(0, 0, main_~head~0#1.base, main_~head~0#1.offset, 4);call write~int(0, main_~head~0#1.base, 4 + main_~head~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {689#true} is VALID [2022-02-20 16:52:41,681 INFO L290 TraceCheckUtils]: 0: Hoare triple {689#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(21, 2); {689#true} is VALID [2022-02-20 16:52:41,681 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 3 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-02-20 16:52:41,682 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1524246374] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 16:52:41,682 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 16:52:41,682 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 6 [2022-02-20 16:52:41,684 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [526392006] [2022-02-20 16:52:41,684 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 16:52:41,684 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 6 states have internal predecessors, (19), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 18 [2022-02-20 16:52:41,685 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:52:41,685 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 6 states have internal predecessors, (19), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:41,700 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 19 edges. 19 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:52:41,703 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 16:52:41,704 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:52:41,705 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 16:52:41,705 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-02-20 16:52:41,706 INFO L87 Difference]: Start difference. First operand 44 states and 54 transitions. Second operand has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 6 states have internal predecessors, (19), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:41,949 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:52:41,949 INFO L93 Difference]: Finished difference Result 50 states and 62 transitions. [2022-02-20 16:52:41,949 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 16:52:41,949 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 6 states have internal predecessors, (19), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 18 [2022-02-20 16:52:41,949 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:52:41,949 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 6 states have internal predecessors, (19), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:41,950 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 55 transitions. [2022-02-20 16:52:41,951 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 6 states have internal predecessors, (19), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:41,951 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 55 transitions. [2022-02-20 16:52:41,952 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 55 transitions. [2022-02-20 16:52:42,001 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:52:42,002 INFO L225 Difference]: With dead ends: 50 [2022-02-20 16:52:42,002 INFO L226 Difference]: Without dead ends: 46 [2022-02-20 16:52:42,002 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 41 GetRequests, 35 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=21, Invalid=35, Unknown=0, NotChecked=0, Total=56 [2022-02-20 16:52:42,003 INFO L933 BasicCegarLoop]: 26 mSDtfsCounter, 27 mSDsluCounter, 15 mSDsCounter, 0 mSdLazyCounter, 73 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 27 SdHoareTripleChecker+Valid, 41 SdHoareTripleChecker+Invalid, 85 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 73 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 16:52:42,004 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [27 Valid, 41 Invalid, 85 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 73 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 16:52:42,004 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2022-02-20 16:52:42,008 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 34. [2022-02-20 16:52:42,008 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:52:42,008 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand has 34 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 33 states have internal predecessors, (42), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:42,009 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand has 34 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 33 states have internal predecessors, (42), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:42,009 INFO L87 Difference]: Start difference. First operand 46 states. Second operand has 34 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 33 states have internal predecessors, (42), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:42,010 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:52:42,010 INFO L93 Difference]: Finished difference Result 46 states and 57 transitions. [2022-02-20 16:52:42,011 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 57 transitions. [2022-02-20 16:52:42,011 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:52:42,011 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:52:42,011 INFO L74 IsIncluded]: Start isIncluded. First operand has 34 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 33 states have internal predecessors, (42), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 46 states. [2022-02-20 16:52:42,012 INFO L87 Difference]: Start difference. First operand has 34 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 33 states have internal predecessors, (42), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 46 states. [2022-02-20 16:52:42,013 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:52:42,013 INFO L93 Difference]: Finished difference Result 46 states and 57 transitions. [2022-02-20 16:52:42,013 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 57 transitions. [2022-02-20 16:52:42,014 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:52:42,014 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:52:42,014 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:52:42,014 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:52:42,014 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 33 states have internal predecessors, (42), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:42,015 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 42 transitions. [2022-02-20 16:52:42,015 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 42 transitions. Word has length 18 [2022-02-20 16:52:42,015 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:52:42,016 INFO L470 AbstractCegarLoop]: Abstraction has 34 states and 42 transitions. [2022-02-20 16:52:42,016 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 6 states have internal predecessors, (19), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:42,016 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 42 transitions. [2022-02-20 16:52:42,016 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2022-02-20 16:52:42,017 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:52:42,017 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:52:42,047 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:52:42,231 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:52:42,232 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr2ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr2ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:52:42,232 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:52:42,232 INFO L85 PathProgramCache]: Analyzing trace with hash 1635066921, now seen corresponding path program 1 times [2022-02-20 16:52:42,232 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:52:42,232 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [315062205] [2022-02-20 16:52:42,232 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:52:42,233 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:52:42,264 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:52:42,332 INFO L290 TraceCheckUtils]: 0: Hoare triple {997#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(21, 2); {997#true} is VALID [2022-02-20 16:52:42,334 INFO L290 TraceCheckUtils]: 1: Hoare triple {997#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~mem4#1.base, main_#t~mem4#1.offset, main_#t~nondet2#1, main_#t~mem8#1.base, main_#t~mem8#1.offset, main_#t~mem5#1.base, main_#t~mem5#1.offset, main_#t~nondet6#1, main_#t~short7#1, main_#t~mem9#1.base, main_#t~mem9#1.offset, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~mem11#1.base, main_#t~mem11#1.offset, main_#t~mem12#1.base, main_#t~mem12#1.offset, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_~next~0#1.base, main_~next~0#1.offset, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~t1~0#1, main_~t2~0#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, main_~prev~0#1.base, main_~prev~0#1.offset;call main_#t~malloc1#1.base, main_#t~malloc1#1.offset := #Ultimate.allocOnHeap(8);main_~head~0#1.base, main_~head~0#1.offset := main_#t~malloc1#1.base, main_#t~malloc1#1.offset;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset;call write~$Pointer$(0, 0, main_~head~0#1.base, main_~head~0#1.offset, 4);call write~int(0, main_~head~0#1.base, 4 + main_~head~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {999#(= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1)} is VALID [2022-02-20 16:52:42,334 INFO L290 TraceCheckUtils]: 2: Hoare triple {999#(= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1)} assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647; {999#(= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1)} is VALID [2022-02-20 16:52:42,335 INFO L290 TraceCheckUtils]: 3: Hoare triple {999#(= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1)} assume !(0 != main_#t~nondet2#1);havoc main_#t~nondet2#1; {999#(= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1)} is VALID [2022-02-20 16:52:42,335 INFO L290 TraceCheckUtils]: 4: Hoare triple {999#(= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1)} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1000#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} is VALID [2022-02-20 16:52:42,336 INFO L290 TraceCheckUtils]: 5: Hoare triple {1000#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} call main_#t~mem5#1.base, main_#t~mem5#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_#t~short7#1 := main_#t~mem5#1.base != 0 || main_#t~mem5#1.offset != 0; {1000#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} is VALID [2022-02-20 16:52:42,337 INFO L290 TraceCheckUtils]: 6: Hoare triple {1000#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} assume !main_#t~short7#1; {1000#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} is VALID [2022-02-20 16:52:42,337 INFO L290 TraceCheckUtils]: 7: Hoare triple {1000#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} assume !main_#t~short7#1;havoc main_#t~mem5#1.base, main_#t~mem5#1.offset;havoc main_#t~nondet6#1;havoc main_#t~short7#1; {1000#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} is VALID [2022-02-20 16:52:42,338 INFO L290 TraceCheckUtils]: 8: Hoare triple {1000#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0); {1000#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} is VALID [2022-02-20 16:52:42,338 INFO L290 TraceCheckUtils]: 9: Hoare triple {1000#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} goto; {1000#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} is VALID [2022-02-20 16:52:42,339 INFO L290 TraceCheckUtils]: 10: Hoare triple {1000#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} call write~int(1, main_~x~0#1.base, 4 + main_~x~0#1.offset, 4);call main_#t~mem9#1.base, main_#t~mem9#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4); {1000#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} is VALID [2022-02-20 16:52:42,340 INFO L290 TraceCheckUtils]: 11: Hoare triple {1000#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} assume main_#t~mem9#1.base == 0 && main_#t~mem9#1.offset == 0;havoc main_#t~mem9#1.base, main_#t~mem9#1.offset;call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnHeap(8);call write~$Pointer$(main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4);havoc main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~mem11#1.base, main_#t~mem11#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_#t~mem11#1.base, main_#t~mem11#1.offset;havoc main_#t~mem11#1.base, main_#t~mem11#1.offset;call write~$Pointer$(0, 0, main_~x~0#1.base, main_~x~0#1.offset, 4);call write~int(2, main_~x~0#1.base, 4 + main_~x~0#1.offset, 4); {1001#(not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0))} is VALID [2022-02-20 16:52:42,341 INFO L290 TraceCheckUtils]: 12: Hoare triple {1001#(not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0))} main_~prev~0#1.base, main_~prev~0#1.offset := 0, 0;main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1002#(not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0))} is VALID [2022-02-20 16:52:42,342 INFO L290 TraceCheckUtils]: 13: Hoare triple {1002#(not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0))} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0);call main_#t~mem13#1.base, main_#t~mem13#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_~next~0#1.base, main_~next~0#1.offset := main_#t~mem13#1.base, main_#t~mem13#1.offset;havoc main_#t~mem13#1.base, main_#t~mem13#1.offset;call write~$Pointer$(main_~prev~0#1.base, main_~prev~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4);main_~prev~0#1.base, main_~prev~0#1.offset := main_~x~0#1.base, main_~x~0#1.offset;main_~x~0#1.base, main_~x~0#1.offset := main_~next~0#1.base, main_~next~0#1.offset; {1003#(not (= |ULTIMATE.start_main_~x~0#1.base| 0))} is VALID [2022-02-20 16:52:42,342 INFO L290 TraceCheckUtils]: 14: Hoare triple {1003#(not (= |ULTIMATE.start_main_~x~0#1.base| 0))} assume !(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0); {998#false} is VALID [2022-02-20 16:52:42,342 INFO L290 TraceCheckUtils]: 15: Hoare triple {998#false} main_~head~0#1.base, main_~head~0#1.offset := main_~prev~0#1.base, main_~prev~0#1.offset;main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {998#false} is VALID [2022-02-20 16:52:42,343 INFO L290 TraceCheckUtils]: 16: Hoare triple {998#false} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0);call main_#t~mem14#1 := read~int(main_~x~0#1.base, 4 + main_~x~0#1.offset, 4);main_~t1~0#1 := main_#t~mem14#1;havoc main_#t~mem14#1;main_~t2~0#1 := 0; {998#false} is VALID [2022-02-20 16:52:42,343 INFO L290 TraceCheckUtils]: 17: Hoare triple {998#false} assume 2 == main_~t1~0#1;call main_#t~mem15#1.base, main_#t~mem15#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);call main_#t~mem16#1 := read~int(main_#t~mem15#1.base, 4 + main_#t~mem15#1.offset, 4);main_~t2~0#1 := main_#t~mem16#1;havoc main_#t~mem15#1.base, main_#t~mem15#1.offset;havoc main_#t~mem16#1; {998#false} is VALID [2022-02-20 16:52:42,343 INFO L290 TraceCheckUtils]: 18: Hoare triple {998#false} assume !(2 != main_~t1~0#1 || 1 == main_~t2~0#1); {998#false} is VALID [2022-02-20 16:52:42,343 INFO L290 TraceCheckUtils]: 19: Hoare triple {998#false} assume !false; {998#false} is VALID [2022-02-20 16:52:42,343 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 16:52:42,344 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:52:42,344 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [315062205] [2022-02-20 16:52:42,344 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [315062205] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 16:52:42,344 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [169167708] [2022-02-20 16:52:42,344 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:52:42,345 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:52:42,345 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 16:52:42,346 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:52:42,347 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:52:42,434 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:52:42,436 INFO L263 TraceCheckSpWp]: Trace formula consists of 200 conjuncts, 34 conjunts are in the unsatisfiable core [2022-02-20 16:52:42,449 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:52:42,451 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:52:42,474 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:52:42,673 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 14 treesize of output 14 [2022-02-20 16:52:42,686 INFO L356 Elim1Store]: treesize reduction 15, result has 25.0 percent of original size [2022-02-20 16:52:42,687 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 28 treesize of output 29 [2022-02-20 16:52:42,701 INFO L356 Elim1Store]: treesize reduction 4, result has 66.7 percent of original size [2022-02-20 16:52:42,702 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 15 treesize of output 15 [2022-02-20 16:52:42,762 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 24 treesize of output 12 [2022-02-20 16:52:42,782 INFO L290 TraceCheckUtils]: 0: Hoare triple {997#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(21, 2); {997#true} is VALID [2022-02-20 16:52:42,784 INFO L290 TraceCheckUtils]: 1: Hoare triple {997#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~mem4#1.base, main_#t~mem4#1.offset, main_#t~nondet2#1, main_#t~mem8#1.base, main_#t~mem8#1.offset, main_#t~mem5#1.base, main_#t~mem5#1.offset, main_#t~nondet6#1, main_#t~short7#1, main_#t~mem9#1.base, main_#t~mem9#1.offset, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~mem11#1.base, main_#t~mem11#1.offset, main_#t~mem12#1.base, main_#t~mem12#1.offset, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_~next~0#1.base, main_~next~0#1.offset, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~t1~0#1, main_~t2~0#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, main_~prev~0#1.base, main_~prev~0#1.offset;call main_#t~malloc1#1.base, main_#t~malloc1#1.offset := #Ultimate.allocOnHeap(8);main_~head~0#1.base, main_~head~0#1.offset := main_#t~malloc1#1.base, main_#t~malloc1#1.offset;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset;call write~$Pointer$(0, 0, main_~head~0#1.base, main_~head~0#1.offset, 4);call write~int(0, main_~head~0#1.base, 4 + main_~head~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1010#(and (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} is VALID [2022-02-20 16:52:42,785 INFO L290 TraceCheckUtils]: 2: Hoare triple {1010#(and (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647; {1010#(and (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} is VALID [2022-02-20 16:52:42,785 INFO L290 TraceCheckUtils]: 3: Hoare triple {1010#(and (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} assume !(0 != main_#t~nondet2#1);havoc main_#t~nondet2#1; {1010#(and (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} is VALID [2022-02-20 16:52:42,788 INFO L290 TraceCheckUtils]: 4: Hoare triple {1010#(and (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1020#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} is VALID [2022-02-20 16:52:42,789 INFO L290 TraceCheckUtils]: 5: Hoare triple {1020#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} call main_#t~mem5#1.base, main_#t~mem5#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_#t~short7#1 := main_#t~mem5#1.base != 0 || main_#t~mem5#1.offset != 0; {1020#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} is VALID [2022-02-20 16:52:42,790 INFO L290 TraceCheckUtils]: 6: Hoare triple {1020#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} assume !main_#t~short7#1; {1020#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} is VALID [2022-02-20 16:52:42,790 INFO L290 TraceCheckUtils]: 7: Hoare triple {1020#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} assume !main_#t~short7#1;havoc main_#t~mem5#1.base, main_#t~mem5#1.offset;havoc main_#t~nondet6#1;havoc main_#t~short7#1; {1020#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} is VALID [2022-02-20 16:52:42,791 INFO L290 TraceCheckUtils]: 8: Hoare triple {1020#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0); {1020#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} is VALID [2022-02-20 16:52:42,791 INFO L290 TraceCheckUtils]: 9: Hoare triple {1020#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} goto; {1020#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} is VALID [2022-02-20 16:52:42,792 INFO L290 TraceCheckUtils]: 10: Hoare triple {1020#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} call write~int(1, main_~x~0#1.base, 4 + main_~x~0#1.offset, 4);call main_#t~mem9#1.base, main_#t~mem9#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4); {1020#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} is VALID [2022-02-20 16:52:42,794 INFO L290 TraceCheckUtils]: 11: Hoare triple {1020#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} assume main_#t~mem9#1.base == 0 && main_#t~mem9#1.offset == 0;havoc main_#t~mem9#1.base, main_#t~mem9#1.offset;call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnHeap(8);call write~$Pointer$(main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4);havoc main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~mem11#1.base, main_#t~mem11#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_#t~mem11#1.base, main_#t~mem11#1.offset;havoc main_#t~mem11#1.base, main_#t~mem11#1.offset;call write~$Pointer$(0, 0, main_~x~0#1.base, main_~x~0#1.offset, 4);call write~int(2, main_~x~0#1.base, 4 + main_~x~0#1.offset, 4); {1042#(and (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) |ULTIMATE.start_main_~head~0#1.base|)) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0)) (= |ULTIMATE.start_main_~head~0#1.offset| 0))} is VALID [2022-02-20 16:52:42,799 INFO L290 TraceCheckUtils]: 12: Hoare triple {1042#(and (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) |ULTIMATE.start_main_~head~0#1.base|)) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0)) (= |ULTIMATE.start_main_~head~0#1.offset| 0))} main_~prev~0#1.base, main_~prev~0#1.offset := 0, 0;main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1046#(and (= |ULTIMATE.start_main_~x~0#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)) (not (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|))))} is VALID [2022-02-20 16:52:42,801 INFO L290 TraceCheckUtils]: 13: Hoare triple {1046#(and (= |ULTIMATE.start_main_~x~0#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0)) (not (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|))))} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0);call main_#t~mem13#1.base, main_#t~mem13#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_~next~0#1.base, main_~next~0#1.offset := main_#t~mem13#1.base, main_#t~mem13#1.offset;havoc main_#t~mem13#1.base, main_#t~mem13#1.offset;call write~$Pointer$(main_~prev~0#1.base, main_~prev~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4);main_~prev~0#1.base, main_~prev~0#1.offset := main_~x~0#1.base, main_~x~0#1.offset;main_~x~0#1.base, main_~x~0#1.offset := main_~next~0#1.base, main_~next~0#1.offset; {1050#(and (not (= |ULTIMATE.start_main_~x~0#1.base| 0)) (not (= |ULTIMATE.start_main_~prev~0#1.base| |ULTIMATE.start_main_~x~0#1.base|)))} is VALID [2022-02-20 16:52:42,802 INFO L290 TraceCheckUtils]: 14: Hoare triple {1050#(and (not (= |ULTIMATE.start_main_~x~0#1.base| 0)) (not (= |ULTIMATE.start_main_~prev~0#1.base| |ULTIMATE.start_main_~x~0#1.base|)))} assume !(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0); {998#false} is VALID [2022-02-20 16:52:42,802 INFO L290 TraceCheckUtils]: 15: Hoare triple {998#false} main_~head~0#1.base, main_~head~0#1.offset := main_~prev~0#1.base, main_~prev~0#1.offset;main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {998#false} is VALID [2022-02-20 16:52:42,803 INFO L290 TraceCheckUtils]: 16: Hoare triple {998#false} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0);call main_#t~mem14#1 := read~int(main_~x~0#1.base, 4 + main_~x~0#1.offset, 4);main_~t1~0#1 := main_#t~mem14#1;havoc main_#t~mem14#1;main_~t2~0#1 := 0; {998#false} is VALID [2022-02-20 16:52:42,803 INFO L290 TraceCheckUtils]: 17: Hoare triple {998#false} assume 2 == main_~t1~0#1;call main_#t~mem15#1.base, main_#t~mem15#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);call main_#t~mem16#1 := read~int(main_#t~mem15#1.base, 4 + main_#t~mem15#1.offset, 4);main_~t2~0#1 := main_#t~mem16#1;havoc main_#t~mem15#1.base, main_#t~mem15#1.offset;havoc main_#t~mem16#1; {998#false} is VALID [2022-02-20 16:52:42,805 INFO L290 TraceCheckUtils]: 18: Hoare triple {998#false} assume !(2 != main_~t1~0#1 || 1 == main_~t2~0#1); {998#false} is VALID [2022-02-20 16:52:42,807 INFO L290 TraceCheckUtils]: 19: Hoare triple {998#false} assume !false; {998#false} is VALID [2022-02-20 16:52:42,807 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 16:52:42,807 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 16:52:42,897 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 16:52:42,898 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 1 new quantified variables, introduced 1 case distinctions, treesize of input 19 treesize of output 20 [2022-02-20 16:52:42,908 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 16:52:42,908 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 50 treesize of output 41 [2022-02-20 16:52:42,920 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 20 treesize of output 18 [2022-02-20 16:52:43,466 INFO L290 TraceCheckUtils]: 19: Hoare triple {998#false} assume !false; {998#false} is VALID [2022-02-20 16:52:43,467 INFO L290 TraceCheckUtils]: 18: Hoare triple {998#false} assume !(2 != main_~t1~0#1 || 1 == main_~t2~0#1); {998#false} is VALID [2022-02-20 16:52:43,467 INFO L290 TraceCheckUtils]: 17: Hoare triple {998#false} assume 2 == main_~t1~0#1;call main_#t~mem15#1.base, main_#t~mem15#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);call main_#t~mem16#1 := read~int(main_#t~mem15#1.base, 4 + main_#t~mem15#1.offset, 4);main_~t2~0#1 := main_#t~mem16#1;havoc main_#t~mem15#1.base, main_#t~mem15#1.offset;havoc main_#t~mem16#1; {998#false} is VALID [2022-02-20 16:52:43,467 INFO L290 TraceCheckUtils]: 16: Hoare triple {998#false} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0);call main_#t~mem14#1 := read~int(main_~x~0#1.base, 4 + main_~x~0#1.offset, 4);main_~t1~0#1 := main_#t~mem14#1;havoc main_#t~mem14#1;main_~t2~0#1 := 0; {998#false} is VALID [2022-02-20 16:52:43,468 INFO L290 TraceCheckUtils]: 15: Hoare triple {998#false} main_~head~0#1.base, main_~head~0#1.offset := main_~prev~0#1.base, main_~prev~0#1.offset;main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {998#false} is VALID [2022-02-20 16:52:43,468 INFO L290 TraceCheckUtils]: 14: Hoare triple {1003#(not (= |ULTIMATE.start_main_~x~0#1.base| 0))} assume !(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0); {998#false} is VALID [2022-02-20 16:52:43,469 INFO L290 TraceCheckUtils]: 13: Hoare triple {1002#(not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0))} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0);call main_#t~mem13#1.base, main_#t~mem13#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_~next~0#1.base, main_~next~0#1.offset := main_#t~mem13#1.base, main_#t~mem13#1.offset;havoc main_#t~mem13#1.base, main_#t~mem13#1.offset;call write~$Pointer$(main_~prev~0#1.base, main_~prev~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4);main_~prev~0#1.base, main_~prev~0#1.offset := main_~x~0#1.base, main_~x~0#1.offset;main_~x~0#1.base, main_~x~0#1.offset := main_~next~0#1.base, main_~next~0#1.offset; {1003#(not (= |ULTIMATE.start_main_~x~0#1.base| 0))} is VALID [2022-02-20 16:52:43,469 INFO L290 TraceCheckUtils]: 12: Hoare triple {1001#(not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0))} main_~prev~0#1.base, main_~prev~0#1.offset := 0, 0;main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1002#(not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0))} is VALID [2022-02-20 16:52:43,471 INFO L290 TraceCheckUtils]: 11: Hoare triple {1093#(forall ((v_arrayElimCell_7 Int)) (or (not (= (select |#valid| v_arrayElimCell_7) 0)) (= v_arrayElimCell_7 0) (and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (not (= v_arrayElimCell_7 |ULTIMATE.start_main_~head~0#1.base|)) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|))))} assume main_#t~mem9#1.base == 0 && main_#t~mem9#1.offset == 0;havoc main_#t~mem9#1.base, main_#t~mem9#1.offset;call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnHeap(8);call write~$Pointer$(main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4);havoc main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~mem11#1.base, main_#t~mem11#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_#t~mem11#1.base, main_#t~mem11#1.offset;havoc main_#t~mem11#1.base, main_#t~mem11#1.offset;call write~$Pointer$(0, 0, main_~x~0#1.base, main_~x~0#1.offset, 4);call write~int(2, main_~x~0#1.base, 4 + main_~x~0#1.offset, 4); {1001#(not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0))} is VALID [2022-02-20 16:52:43,472 INFO L290 TraceCheckUtils]: 10: Hoare triple {1093#(forall ((v_arrayElimCell_7 Int)) (or (not (= (select |#valid| v_arrayElimCell_7) 0)) (= v_arrayElimCell_7 0) (and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (not (= v_arrayElimCell_7 |ULTIMATE.start_main_~head~0#1.base|)) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|))))} call write~int(1, main_~x~0#1.base, 4 + main_~x~0#1.offset, 4);call main_#t~mem9#1.base, main_#t~mem9#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4); {1093#(forall ((v_arrayElimCell_7 Int)) (or (not (= (select |#valid| v_arrayElimCell_7) 0)) (= v_arrayElimCell_7 0) (and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (not (= v_arrayElimCell_7 |ULTIMATE.start_main_~head~0#1.base|)) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|))))} is VALID [2022-02-20 16:52:43,473 INFO L290 TraceCheckUtils]: 9: Hoare triple {1093#(forall ((v_arrayElimCell_7 Int)) (or (not (= (select |#valid| v_arrayElimCell_7) 0)) (= v_arrayElimCell_7 0) (and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (not (= v_arrayElimCell_7 |ULTIMATE.start_main_~head~0#1.base|)) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|))))} goto; {1093#(forall ((v_arrayElimCell_7 Int)) (or (not (= (select |#valid| v_arrayElimCell_7) 0)) (= v_arrayElimCell_7 0) (and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (not (= v_arrayElimCell_7 |ULTIMATE.start_main_~head~0#1.base|)) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|))))} is VALID [2022-02-20 16:52:43,474 INFO L290 TraceCheckUtils]: 8: Hoare triple {1093#(forall ((v_arrayElimCell_7 Int)) (or (not (= (select |#valid| v_arrayElimCell_7) 0)) (= v_arrayElimCell_7 0) (and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (not (= v_arrayElimCell_7 |ULTIMATE.start_main_~head~0#1.base|)) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|))))} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0); {1093#(forall ((v_arrayElimCell_7 Int)) (or (not (= (select |#valid| v_arrayElimCell_7) 0)) (= v_arrayElimCell_7 0) (and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (not (= v_arrayElimCell_7 |ULTIMATE.start_main_~head~0#1.base|)) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|))))} is VALID [2022-02-20 16:52:43,474 INFO L290 TraceCheckUtils]: 7: Hoare triple {1093#(forall ((v_arrayElimCell_7 Int)) (or (not (= (select |#valid| v_arrayElimCell_7) 0)) (= v_arrayElimCell_7 0) (and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (not (= v_arrayElimCell_7 |ULTIMATE.start_main_~head~0#1.base|)) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|))))} assume !main_#t~short7#1;havoc main_#t~mem5#1.base, main_#t~mem5#1.offset;havoc main_#t~nondet6#1;havoc main_#t~short7#1; {1093#(forall ((v_arrayElimCell_7 Int)) (or (not (= (select |#valid| v_arrayElimCell_7) 0)) (= v_arrayElimCell_7 0) (and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (not (= v_arrayElimCell_7 |ULTIMATE.start_main_~head~0#1.base|)) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|))))} is VALID [2022-02-20 16:52:43,475 INFO L290 TraceCheckUtils]: 6: Hoare triple {1093#(forall ((v_arrayElimCell_7 Int)) (or (not (= (select |#valid| v_arrayElimCell_7) 0)) (= v_arrayElimCell_7 0) (and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (not (= v_arrayElimCell_7 |ULTIMATE.start_main_~head~0#1.base|)) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|))))} assume !main_#t~short7#1; {1093#(forall ((v_arrayElimCell_7 Int)) (or (not (= (select |#valid| v_arrayElimCell_7) 0)) (= v_arrayElimCell_7 0) (and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (not (= v_arrayElimCell_7 |ULTIMATE.start_main_~head~0#1.base|)) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|))))} is VALID [2022-02-20 16:52:43,476 INFO L290 TraceCheckUtils]: 5: Hoare triple {1093#(forall ((v_arrayElimCell_7 Int)) (or (not (= (select |#valid| v_arrayElimCell_7) 0)) (= v_arrayElimCell_7 0) (and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (not (= v_arrayElimCell_7 |ULTIMATE.start_main_~head~0#1.base|)) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|))))} call main_#t~mem5#1.base, main_#t~mem5#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_#t~short7#1 := main_#t~mem5#1.base != 0 || main_#t~mem5#1.offset != 0; {1093#(forall ((v_arrayElimCell_7 Int)) (or (not (= (select |#valid| v_arrayElimCell_7) 0)) (= v_arrayElimCell_7 0) (and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (not (= v_arrayElimCell_7 |ULTIMATE.start_main_~head~0#1.base|)) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|))))} is VALID [2022-02-20 16:52:43,477 INFO L290 TraceCheckUtils]: 4: Hoare triple {1115#(or (= |ULTIMATE.start_main_~head~0#1.base| 0) (not (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 0)))} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1093#(forall ((v_arrayElimCell_7 Int)) (or (not (= (select |#valid| v_arrayElimCell_7) 0)) (= v_arrayElimCell_7 0) (and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (not (= v_arrayElimCell_7 |ULTIMATE.start_main_~head~0#1.base|)) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|))))} is VALID [2022-02-20 16:52:43,477 INFO L290 TraceCheckUtils]: 3: Hoare triple {1115#(or (= |ULTIMATE.start_main_~head~0#1.base| 0) (not (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 0)))} assume !(0 != main_#t~nondet2#1);havoc main_#t~nondet2#1; {1115#(or (= |ULTIMATE.start_main_~head~0#1.base| 0) (not (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 0)))} is VALID [2022-02-20 16:52:43,478 INFO L290 TraceCheckUtils]: 2: Hoare triple {1115#(or (= |ULTIMATE.start_main_~head~0#1.base| 0) (not (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 0)))} assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647; {1115#(or (= |ULTIMATE.start_main_~head~0#1.base| 0) (not (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 0)))} is VALID [2022-02-20 16:52:43,479 INFO L290 TraceCheckUtils]: 1: Hoare triple {997#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~mem4#1.base, main_#t~mem4#1.offset, main_#t~nondet2#1, main_#t~mem8#1.base, main_#t~mem8#1.offset, main_#t~mem5#1.base, main_#t~mem5#1.offset, main_#t~nondet6#1, main_#t~short7#1, main_#t~mem9#1.base, main_#t~mem9#1.offset, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~mem11#1.base, main_#t~mem11#1.offset, main_#t~mem12#1.base, main_#t~mem12#1.offset, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_~next~0#1.base, main_~next~0#1.offset, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~t1~0#1, main_~t2~0#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, main_~prev~0#1.base, main_~prev~0#1.offset;call main_#t~malloc1#1.base, main_#t~malloc1#1.offset := #Ultimate.allocOnHeap(8);main_~head~0#1.base, main_~head~0#1.offset := main_#t~malloc1#1.base, main_#t~malloc1#1.offset;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset;call write~$Pointer$(0, 0, main_~head~0#1.base, main_~head~0#1.offset, 4);call write~int(0, main_~head~0#1.base, 4 + main_~head~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1115#(or (= |ULTIMATE.start_main_~head~0#1.base| 0) (not (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 0)))} is VALID [2022-02-20 16:52:43,479 INFO L290 TraceCheckUtils]: 0: Hoare triple {997#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(21, 2); {997#true} is VALID [2022-02-20 16:52:43,479 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 16:52:43,479 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [169167708] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 16:52:43,480 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 16:52:43,480 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7, 7] total 14 [2022-02-20 16:52:43,480 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [421767316] [2022-02-20 16:52:43,480 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 16:52:43,481 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 3.2142857142857144) internal successors, (45), 14 states have internal predecessors, (45), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 20 [2022-02-20 16:52:43,481 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:52:43,481 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 3.2142857142857144) internal successors, (45), 14 states have internal predecessors, (45), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:43,524 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:52:43,525 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-02-20 16:52:43,525 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:52:43,525 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-02-20 16:52:43,525 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=142, Unknown=0, NotChecked=0, Total=182 [2022-02-20 16:52:43,526 INFO L87 Difference]: Start difference. First operand 34 states and 42 transitions. Second operand has 14 states, 14 states have (on average 3.2142857142857144) internal successors, (45), 14 states have internal predecessors, (45), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:44,205 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:52:44,205 INFO L93 Difference]: Finished difference Result 79 states and 97 transitions. [2022-02-20 16:52:44,205 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-02-20 16:52:44,205 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 3.2142857142857144) internal successors, (45), 14 states have internal predecessors, (45), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 20 [2022-02-20 16:52:44,205 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:52:44,206 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 3.2142857142857144) internal successors, (45), 14 states have internal predecessors, (45), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:44,207 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 94 transitions. [2022-02-20 16:52:44,207 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 3.2142857142857144) internal successors, (45), 14 states have internal predecessors, (45), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:44,208 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 94 transitions. [2022-02-20 16:52:44,208 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 94 transitions. [2022-02-20 16:52:44,288 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:52:44,289 INFO L225 Difference]: With dead ends: 79 [2022-02-20 16:52:44,289 INFO L226 Difference]: Without dead ends: 69 [2022-02-20 16:52:44,290 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 54 GetRequests, 33 SyntacticMatches, 0 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 79 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=147, Invalid=359, Unknown=0, NotChecked=0, Total=506 [2022-02-20 16:52:44,291 INFO L933 BasicCegarLoop]: 32 mSDtfsCounter, 173 mSDsluCounter, 105 mSDsCounter, 0 mSdLazyCounter, 128 mSolverCounterSat, 68 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 173 SdHoareTripleChecker+Valid, 137 SdHoareTripleChecker+Invalid, 215 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 68 IncrementalHoareTripleChecker+Valid, 128 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 19 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 16:52:44,291 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [173 Valid, 137 Invalid, 215 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [68 Valid, 128 Invalid, 0 Unknown, 19 Unchecked, 0.2s Time] [2022-02-20 16:52:44,291 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 69 states. [2022-02-20 16:52:44,295 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 69 to 49. [2022-02-20 16:52:44,295 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:52:44,296 INFO L82 GeneralOperation]: Start isEquivalent. First operand 69 states. Second operand has 49 states, 48 states have (on average 1.2708333333333333) internal successors, (61), 48 states have internal predecessors, (61), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:44,296 INFO L74 IsIncluded]: Start isIncluded. First operand 69 states. Second operand has 49 states, 48 states have (on average 1.2708333333333333) internal successors, (61), 48 states have internal predecessors, (61), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:44,296 INFO L87 Difference]: Start difference. First operand 69 states. Second operand has 49 states, 48 states have (on average 1.2708333333333333) internal successors, (61), 48 states have internal predecessors, (61), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:44,298 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:52:44,298 INFO L93 Difference]: Finished difference Result 69 states and 84 transitions. [2022-02-20 16:52:44,298 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 84 transitions. [2022-02-20 16:52:44,298 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:52:44,298 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:52:44,299 INFO L74 IsIncluded]: Start isIncluded. First operand has 49 states, 48 states have (on average 1.2708333333333333) internal successors, (61), 48 states have internal predecessors, (61), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 69 states. [2022-02-20 16:52:44,299 INFO L87 Difference]: Start difference. First operand has 49 states, 48 states have (on average 1.2708333333333333) internal successors, (61), 48 states have internal predecessors, (61), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 69 states. [2022-02-20 16:52:44,301 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:52:44,301 INFO L93 Difference]: Finished difference Result 69 states and 84 transitions. [2022-02-20 16:52:44,301 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 84 transitions. [2022-02-20 16:52:44,301 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:52:44,301 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:52:44,301 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:52:44,302 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:52:44,302 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 49 states, 48 states have (on average 1.2708333333333333) internal successors, (61), 48 states have internal predecessors, (61), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:44,303 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 61 transitions. [2022-02-20 16:52:44,303 INFO L78 Accepts]: Start accepts. Automaton has 49 states and 61 transitions. Word has length 20 [2022-02-20 16:52:44,303 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:52:44,303 INFO L470 AbstractCegarLoop]: Abstraction has 49 states and 61 transitions. [2022-02-20 16:52:44,304 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 3.2142857142857144) internal successors, (45), 14 states have internal predecessors, (45), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:44,304 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 61 transitions. [2022-02-20 16:52:44,304 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2022-02-20 16:52:44,304 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:52:44,304 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:52:44,331 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:52:44,527 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:52:44,528 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting ULTIMATE.startErr2ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr2ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:52:44,528 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:52:44,528 INFO L85 PathProgramCache]: Analyzing trace with hash -1979842005, now seen corresponding path program 1 times [2022-02-20 16:52:44,528 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:52:44,528 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [68326101] [2022-02-20 16:52:44,528 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:52:44,529 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:52:44,550 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:52:44,632 INFO L290 TraceCheckUtils]: 0: Hoare triple {1438#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(21, 2); {1438#true} is VALID [2022-02-20 16:52:44,633 INFO L290 TraceCheckUtils]: 1: Hoare triple {1438#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~mem4#1.base, main_#t~mem4#1.offset, main_#t~nondet2#1, main_#t~mem8#1.base, main_#t~mem8#1.offset, main_#t~mem5#1.base, main_#t~mem5#1.offset, main_#t~nondet6#1, main_#t~short7#1, main_#t~mem9#1.base, main_#t~mem9#1.offset, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~mem11#1.base, main_#t~mem11#1.offset, main_#t~mem12#1.base, main_#t~mem12#1.offset, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_~next~0#1.base, main_~next~0#1.offset, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~t1~0#1, main_~t2~0#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, main_~prev~0#1.base, main_~prev~0#1.offset;call main_#t~malloc1#1.base, main_#t~malloc1#1.offset := #Ultimate.allocOnHeap(8);main_~head~0#1.base, main_~head~0#1.offset := main_#t~malloc1#1.base, main_#t~malloc1#1.offset;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset;call write~$Pointer$(0, 0, main_~head~0#1.base, main_~head~0#1.offset, 4);call write~int(0, main_~head~0#1.base, 4 + main_~head~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1440#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0))} is VALID [2022-02-20 16:52:44,634 INFO L290 TraceCheckUtils]: 2: Hoare triple {1440#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0))} assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647; {1440#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0))} is VALID [2022-02-20 16:52:44,635 INFO L290 TraceCheckUtils]: 3: Hoare triple {1440#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0))} assume !(0 != main_#t~nondet2#1);havoc main_#t~nondet2#1; {1440#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0))} is VALID [2022-02-20 16:52:44,635 INFO L290 TraceCheckUtils]: 4: Hoare triple {1440#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0))} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1441#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0))} is VALID [2022-02-20 16:52:44,636 INFO L290 TraceCheckUtils]: 5: Hoare triple {1441#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0))} call main_#t~mem5#1.base, main_#t~mem5#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_#t~short7#1 := main_#t~mem5#1.base != 0 || main_#t~mem5#1.offset != 0; {1441#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0))} is VALID [2022-02-20 16:52:44,636 INFO L290 TraceCheckUtils]: 6: Hoare triple {1441#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0))} assume !main_#t~short7#1; {1441#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0))} is VALID [2022-02-20 16:52:44,637 INFO L290 TraceCheckUtils]: 7: Hoare triple {1441#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0))} assume !main_#t~short7#1;havoc main_#t~mem5#1.base, main_#t~mem5#1.offset;havoc main_#t~nondet6#1;havoc main_#t~short7#1; {1441#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0))} is VALID [2022-02-20 16:52:44,637 INFO L290 TraceCheckUtils]: 8: Hoare triple {1441#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0))} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0); {1441#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0))} is VALID [2022-02-20 16:52:44,638 INFO L290 TraceCheckUtils]: 9: Hoare triple {1441#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0))} goto; {1441#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0))} is VALID [2022-02-20 16:52:44,639 INFO L290 TraceCheckUtils]: 10: Hoare triple {1441#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0))} call write~int(1, main_~x~0#1.base, 4 + main_~x~0#1.offset, 4);call main_#t~mem9#1.base, main_#t~mem9#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4); {1442#(and (= |ULTIMATE.start_main_#t~mem9#1.offset| 0) (= |ULTIMATE.start_main_#t~mem9#1.base| 0))} is VALID [2022-02-20 16:52:44,639 INFO L290 TraceCheckUtils]: 11: Hoare triple {1442#(and (= |ULTIMATE.start_main_#t~mem9#1.offset| 0) (= |ULTIMATE.start_main_#t~mem9#1.base| 0))} assume !(main_#t~mem9#1.base == 0 && main_#t~mem9#1.offset == 0);havoc main_#t~mem9#1.base, main_#t~mem9#1.offset;call main_#t~mem12#1.base, main_#t~mem12#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);call write~int(2, main_#t~mem12#1.base, 4 + main_#t~mem12#1.offset, 4);havoc main_#t~mem12#1.base, main_#t~mem12#1.offset; {1439#false} is VALID [2022-02-20 16:52:44,640 INFO L290 TraceCheckUtils]: 12: Hoare triple {1439#false} main_~prev~0#1.base, main_~prev~0#1.offset := 0, 0;main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1439#false} is VALID [2022-02-20 16:52:44,640 INFO L290 TraceCheckUtils]: 13: Hoare triple {1439#false} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0);call main_#t~mem13#1.base, main_#t~mem13#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_~next~0#1.base, main_~next~0#1.offset := main_#t~mem13#1.base, main_#t~mem13#1.offset;havoc main_#t~mem13#1.base, main_#t~mem13#1.offset;call write~$Pointer$(main_~prev~0#1.base, main_~prev~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4);main_~prev~0#1.base, main_~prev~0#1.offset := main_~x~0#1.base, main_~x~0#1.offset;main_~x~0#1.base, main_~x~0#1.offset := main_~next~0#1.base, main_~next~0#1.offset; {1439#false} is VALID [2022-02-20 16:52:44,640 INFO L290 TraceCheckUtils]: 14: Hoare triple {1439#false} assume !(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0); {1439#false} is VALID [2022-02-20 16:52:44,640 INFO L290 TraceCheckUtils]: 15: Hoare triple {1439#false} main_~head~0#1.base, main_~head~0#1.offset := main_~prev~0#1.base, main_~prev~0#1.offset;main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1439#false} is VALID [2022-02-20 16:52:44,640 INFO L290 TraceCheckUtils]: 16: Hoare triple {1439#false} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0);call main_#t~mem14#1 := read~int(main_~x~0#1.base, 4 + main_~x~0#1.offset, 4);main_~t1~0#1 := main_#t~mem14#1;havoc main_#t~mem14#1;main_~t2~0#1 := 0; {1439#false} is VALID [2022-02-20 16:52:44,640 INFO L290 TraceCheckUtils]: 17: Hoare triple {1439#false} assume 2 == main_~t1~0#1;call main_#t~mem15#1.base, main_#t~mem15#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);call main_#t~mem16#1 := read~int(main_#t~mem15#1.base, 4 + main_#t~mem15#1.offset, 4);main_~t2~0#1 := main_#t~mem16#1;havoc main_#t~mem15#1.base, main_#t~mem15#1.offset;havoc main_#t~mem16#1; {1439#false} is VALID [2022-02-20 16:52:44,641 INFO L290 TraceCheckUtils]: 18: Hoare triple {1439#false} assume !(2 != main_~t1~0#1 || 1 == main_~t2~0#1); {1439#false} is VALID [2022-02-20 16:52:44,641 INFO L290 TraceCheckUtils]: 19: Hoare triple {1439#false} assume !false; {1439#false} is VALID [2022-02-20 16:52:44,641 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 16:52:44,641 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:52:44,641 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [68326101] [2022-02-20 16:52:44,642 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [68326101] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:52:44,642 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:52:44,642 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 16:52:44,642 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [44531] [2022-02-20 16:52:44,642 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:52:44,643 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.0) internal successors, (20), 5 states have internal predecessors, (20), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 20 [2022-02-20 16:52:44,643 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:52:44,643 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 4.0) internal successors, (20), 5 states have internal predecessors, (20), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:44,659 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:52:44,659 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 16:52:44,659 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:52:44,660 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 16:52:44,660 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 16:52:44,660 INFO L87 Difference]: Start difference. First operand 49 states and 61 transitions. Second operand has 5 states, 5 states have (on average 4.0) internal successors, (20), 5 states have internal predecessors, (20), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:44,845 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:52:44,845 INFO L93 Difference]: Finished difference Result 64 states and 79 transitions. [2022-02-20 16:52:44,845 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 16:52:44,845 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.0) internal successors, (20), 5 states have internal predecessors, (20), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 20 [2022-02-20 16:52:44,845 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:52:44,845 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.0) internal successors, (20), 5 states have internal predecessors, (20), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:44,846 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 62 transitions. [2022-02-20 16:52:44,846 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.0) internal successors, (20), 5 states have internal predecessors, (20), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:44,847 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 62 transitions. [2022-02-20 16:52:44,847 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 62 transitions. [2022-02-20 16:52:44,899 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:52:44,900 INFO L225 Difference]: With dead ends: 64 [2022-02-20 16:52:44,900 INFO L226 Difference]: Without dead ends: 51 [2022-02-20 16:52:44,900 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=15, Invalid=27, Unknown=0, NotChecked=0, Total=42 [2022-02-20 16:52:44,901 INFO L933 BasicCegarLoop]: 28 mSDtfsCounter, 9 mSDsluCounter, 59 mSDsCounter, 0 mSdLazyCounter, 43 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 87 SdHoareTripleChecker+Invalid, 50 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 43 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 16:52:44,901 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [9 Valid, 87 Invalid, 50 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 43 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 16:52:44,902 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2022-02-20 16:52:44,905 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 49. [2022-02-20 16:52:44,905 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:52:44,905 INFO L82 GeneralOperation]: Start isEquivalent. First operand 51 states. Second operand has 49 states, 48 states have (on average 1.25) internal successors, (60), 48 states have internal predecessors, (60), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:44,906 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand has 49 states, 48 states have (on average 1.25) internal successors, (60), 48 states have internal predecessors, (60), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:44,906 INFO L87 Difference]: Start difference. First operand 51 states. Second operand has 49 states, 48 states have (on average 1.25) internal successors, (60), 48 states have internal predecessors, (60), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:44,907 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:52:44,907 INFO L93 Difference]: Finished difference Result 51 states and 62 transitions. [2022-02-20 16:52:44,907 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 62 transitions. [2022-02-20 16:52:44,907 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:52:44,907 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:52:44,908 INFO L74 IsIncluded]: Start isIncluded. First operand has 49 states, 48 states have (on average 1.25) internal successors, (60), 48 states have internal predecessors, (60), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 51 states. [2022-02-20 16:52:44,908 INFO L87 Difference]: Start difference. First operand has 49 states, 48 states have (on average 1.25) internal successors, (60), 48 states have internal predecessors, (60), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 51 states. [2022-02-20 16:52:44,909 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:52:44,909 INFO L93 Difference]: Finished difference Result 51 states and 62 transitions. [2022-02-20 16:52:44,909 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 62 transitions. [2022-02-20 16:52:44,910 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:52:44,910 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:52:44,910 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:52:44,910 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:52:44,910 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 49 states, 48 states have (on average 1.25) internal successors, (60), 48 states have internal predecessors, (60), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:44,911 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 60 transitions. [2022-02-20 16:52:44,911 INFO L78 Accepts]: Start accepts. Automaton has 49 states and 60 transitions. Word has length 20 [2022-02-20 16:52:44,912 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:52:44,912 INFO L470 AbstractCegarLoop]: Abstraction has 49 states and 60 transitions. [2022-02-20 16:52:44,912 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 4.0) internal successors, (20), 5 states have internal predecessors, (20), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:44,912 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 60 transitions. [2022-02-20 16:52:44,912 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2022-02-20 16:52:44,913 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:52:44,913 INFO L514 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:52:44,913 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2022-02-20 16:52:44,913 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting ULTIMATE.startErr2ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr2ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:52:44,913 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:52:44,914 INFO L85 PathProgramCache]: Analyzing trace with hash 742290787, now seen corresponding path program 2 times [2022-02-20 16:52:44,914 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:52:44,914 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [564630167] [2022-02-20 16:52:44,914 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:52:44,914 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:52:44,971 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:52:45,162 INFO L290 TraceCheckUtils]: 0: Hoare triple {1687#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(21, 2); {1687#true} is VALID [2022-02-20 16:52:45,163 INFO L290 TraceCheckUtils]: 1: Hoare triple {1687#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~mem4#1.base, main_#t~mem4#1.offset, main_#t~nondet2#1, main_#t~mem8#1.base, main_#t~mem8#1.offset, main_#t~mem5#1.base, main_#t~mem5#1.offset, main_#t~nondet6#1, main_#t~short7#1, main_#t~mem9#1.base, main_#t~mem9#1.offset, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~mem11#1.base, main_#t~mem11#1.offset, main_#t~mem12#1.base, main_#t~mem12#1.offset, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_~next~0#1.base, main_~next~0#1.offset, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~t1~0#1, main_~t2~0#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, main_~prev~0#1.base, main_~prev~0#1.offset;call main_#t~malloc1#1.base, main_#t~malloc1#1.offset := #Ultimate.allocOnHeap(8);main_~head~0#1.base, main_~head~0#1.offset := main_#t~malloc1#1.base, main_#t~malloc1#1.offset;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset;call write~$Pointer$(0, 0, main_~head~0#1.base, main_~head~0#1.offset, 4);call write~int(0, main_~head~0#1.base, 4 + main_~head~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1689#(and (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} is VALID [2022-02-20 16:52:45,164 INFO L290 TraceCheckUtils]: 2: Hoare triple {1689#(and (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647; {1689#(and (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} is VALID [2022-02-20 16:52:45,164 INFO L290 TraceCheckUtils]: 3: Hoare triple {1689#(and (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} assume !(0 != main_#t~nondet2#1);havoc main_#t~nondet2#1; {1689#(and (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} is VALID [2022-02-20 16:52:45,165 INFO L290 TraceCheckUtils]: 4: Hoare triple {1689#(and (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1690#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} is VALID [2022-02-20 16:52:45,166 INFO L290 TraceCheckUtils]: 5: Hoare triple {1690#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} call main_#t~mem5#1.base, main_#t~mem5#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_#t~short7#1 := main_#t~mem5#1.base != 0 || main_#t~mem5#1.offset != 0; {1690#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} is VALID [2022-02-20 16:52:45,166 INFO L290 TraceCheckUtils]: 6: Hoare triple {1690#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} assume !main_#t~short7#1; {1690#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} is VALID [2022-02-20 16:52:45,167 INFO L290 TraceCheckUtils]: 7: Hoare triple {1690#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} assume !main_#t~short7#1;havoc main_#t~mem5#1.base, main_#t~mem5#1.offset;havoc main_#t~nondet6#1;havoc main_#t~short7#1; {1690#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} is VALID [2022-02-20 16:52:45,167 INFO L290 TraceCheckUtils]: 8: Hoare triple {1690#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0); {1690#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} is VALID [2022-02-20 16:52:45,168 INFO L290 TraceCheckUtils]: 9: Hoare triple {1690#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} goto; {1690#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} is VALID [2022-02-20 16:52:45,169 INFO L290 TraceCheckUtils]: 10: Hoare triple {1690#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} call write~int(1, main_~x~0#1.base, 4 + main_~x~0#1.offset, 4);call main_#t~mem9#1.base, main_#t~mem9#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4); {1691#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) (+ |ULTIMATE.start_main_~x~0#1.offset| 4)) 1) (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} is VALID [2022-02-20 16:52:45,170 INFO L290 TraceCheckUtils]: 11: Hoare triple {1691#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) (+ |ULTIMATE.start_main_~x~0#1.offset| 4)) 1) (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} assume main_#t~mem9#1.base == 0 && main_#t~mem9#1.offset == 0;havoc main_#t~mem9#1.base, main_#t~mem9#1.offset;call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnHeap(8);call write~$Pointer$(main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4);havoc main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~mem11#1.base, main_#t~mem11#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_#t~mem11#1.base, main_#t~mem11#1.offset;havoc main_#t~mem11#1.base, main_#t~mem11#1.offset;call write~$Pointer$(0, 0, main_~x~0#1.base, main_~x~0#1.offset, 4);call write~int(2, main_~x~0#1.base, 4 + main_~x~0#1.offset, 4); {1692#(and (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) |ULTIMATE.start_main_~head~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 4)) 1) (= |ULTIMATE.start_main_~head~0#1.offset| 0))} is VALID [2022-02-20 16:52:45,171 INFO L290 TraceCheckUtils]: 12: Hoare triple {1692#(and (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) |ULTIMATE.start_main_~head~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 4)) 1) (= |ULTIMATE.start_main_~head~0#1.offset| 0))} main_~prev~0#1.base, main_~prev~0#1.offset := 0, 0;main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1693#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) (+ |ULTIMATE.start_main_~x~0#1.offset| 4)) 1) (not (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|))))} is VALID [2022-02-20 16:52:45,172 INFO L290 TraceCheckUtils]: 13: Hoare triple {1693#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) (+ |ULTIMATE.start_main_~x~0#1.offset| 4)) 1) (not (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|))))} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0);call main_#t~mem13#1.base, main_#t~mem13#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_~next~0#1.base, main_~next~0#1.offset := main_#t~mem13#1.base, main_#t~mem13#1.offset;havoc main_#t~mem13#1.base, main_#t~mem13#1.offset;call write~$Pointer$(main_~prev~0#1.base, main_~prev~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4);main_~prev~0#1.base, main_~prev~0#1.offset := main_~x~0#1.base, main_~x~0#1.offset;main_~x~0#1.base, main_~x~0#1.offset := main_~next~0#1.base, main_~next~0#1.offset; {1694#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~prev~0#1.base|) (+ 4 |ULTIMATE.start_main_~prev~0#1.offset|)) 1) (not (= |ULTIMATE.start_main_~prev~0#1.base| |ULTIMATE.start_main_~x~0#1.base|)))} is VALID [2022-02-20 16:52:45,173 INFO L290 TraceCheckUtils]: 14: Hoare triple {1694#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~prev~0#1.base|) (+ 4 |ULTIMATE.start_main_~prev~0#1.offset|)) 1) (not (= |ULTIMATE.start_main_~prev~0#1.base| |ULTIMATE.start_main_~x~0#1.base|)))} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0);call main_#t~mem13#1.base, main_#t~mem13#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_~next~0#1.base, main_~next~0#1.offset := main_#t~mem13#1.base, main_#t~mem13#1.offset;havoc main_#t~mem13#1.base, main_#t~mem13#1.offset;call write~$Pointer$(main_~prev~0#1.base, main_~prev~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4);main_~prev~0#1.base, main_~prev~0#1.offset := main_~x~0#1.base, main_~x~0#1.offset;main_~x~0#1.base, main_~x~0#1.offset := main_~next~0#1.base, main_~next~0#1.offset; {1695#(= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~prev~0#1.base|) |ULTIMATE.start_main_~prev~0#1.offset|)) (+ (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~prev~0#1.base|) |ULTIMATE.start_main_~prev~0#1.offset|) 4)) 1)} is VALID [2022-02-20 16:52:45,173 INFO L290 TraceCheckUtils]: 15: Hoare triple {1695#(= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~prev~0#1.base|) |ULTIMATE.start_main_~prev~0#1.offset|)) (+ (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~prev~0#1.base|) |ULTIMATE.start_main_~prev~0#1.offset|) 4)) 1)} assume !(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0); {1695#(= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~prev~0#1.base|) |ULTIMATE.start_main_~prev~0#1.offset|)) (+ (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~prev~0#1.base|) |ULTIMATE.start_main_~prev~0#1.offset|) 4)) 1)} is VALID [2022-02-20 16:52:45,174 INFO L290 TraceCheckUtils]: 16: Hoare triple {1695#(= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~prev~0#1.base|) |ULTIMATE.start_main_~prev~0#1.offset|)) (+ (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~prev~0#1.base|) |ULTIMATE.start_main_~prev~0#1.offset|) 4)) 1)} main_~head~0#1.base, main_~head~0#1.offset := main_~prev~0#1.base, main_~prev~0#1.offset;main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1696#(= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (+ (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 4)) 1)} is VALID [2022-02-20 16:52:45,175 INFO L290 TraceCheckUtils]: 17: Hoare triple {1696#(= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (+ (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 4)) 1)} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0);call main_#t~mem14#1 := read~int(main_~x~0#1.base, 4 + main_~x~0#1.offset, 4);main_~t1~0#1 := main_#t~mem14#1;havoc main_#t~mem14#1;main_~t2~0#1 := 0; {1696#(= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (+ (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 4)) 1)} is VALID [2022-02-20 16:52:45,175 INFO L290 TraceCheckUtils]: 18: Hoare triple {1696#(= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (+ (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 4)) 1)} assume 2 == main_~t1~0#1;call main_#t~mem15#1.base, main_#t~mem15#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);call main_#t~mem16#1 := read~int(main_#t~mem15#1.base, 4 + main_#t~mem15#1.offset, 4);main_~t2~0#1 := main_#t~mem16#1;havoc main_#t~mem15#1.base, main_#t~mem15#1.offset;havoc main_#t~mem16#1; {1697#(= |ULTIMATE.start_main_~t2~0#1| 1)} is VALID [2022-02-20 16:52:45,176 INFO L290 TraceCheckUtils]: 19: Hoare triple {1697#(= |ULTIMATE.start_main_~t2~0#1| 1)} assume !(2 != main_~t1~0#1 || 1 == main_~t2~0#1); {1688#false} is VALID [2022-02-20 16:52:45,176 INFO L290 TraceCheckUtils]: 20: Hoare triple {1688#false} assume !false; {1688#false} is VALID [2022-02-20 16:52:45,176 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 16:52:45,176 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:52:45,177 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [564630167] [2022-02-20 16:52:45,177 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [564630167] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 16:52:45,177 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [814596799] [2022-02-20 16:52:45,177 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 16:52:45,177 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:52:45,177 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 16:52:45,178 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:52:45,205 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:52:45,347 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-20 16:52:45,347 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 16:52:45,349 INFO L263 TraceCheckSpWp]: Trace formula consists of 225 conjuncts, 68 conjunts are in the unsatisfiable core [2022-02-20 16:52:45,364 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:52:45,365 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:52:45,380 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:52:45,486 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:52:45,548 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:52:45,549 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 26 [2022-02-20 16:52:45,558 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 14 treesize of output 14 [2022-02-20 16:52:45,570 INFO L356 Elim1Store]: treesize reduction 15, result has 25.0 percent of original size [2022-02-20 16:52:45,570 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 30 treesize of output 31 [2022-02-20 16:52:45,574 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:52:45,575 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:52:45,581 INFO L356 Elim1Store]: treesize reduction 4, result has 66.7 percent of original size [2022-02-20 16:52:45,581 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 15 treesize of output 15 [2022-02-20 16:52:45,644 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 18 [2022-02-20 16:52:45,648 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:52:45,653 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 7 treesize of output 3 [2022-02-20 16:52:45,709 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 11 treesize of output 7 [2022-02-20 16:52:45,720 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2022-02-20 16:52:45,724 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 18 treesize of output 20 [2022-02-20 16:52:45,854 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 37 treesize of output 25 [2022-02-20 16:52:45,878 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 21 treesize of output 13 [2022-02-20 16:52:45,900 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:52:45,905 INFO L290 TraceCheckUtils]: 0: Hoare triple {1687#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(21, 2); {1687#true} is VALID [2022-02-20 16:52:45,907 INFO L290 TraceCheckUtils]: 1: Hoare triple {1687#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~mem4#1.base, main_#t~mem4#1.offset, main_#t~nondet2#1, main_#t~mem8#1.base, main_#t~mem8#1.offset, main_#t~mem5#1.base, main_#t~mem5#1.offset, main_#t~nondet6#1, main_#t~short7#1, main_#t~mem9#1.base, main_#t~mem9#1.offset, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~mem11#1.base, main_#t~mem11#1.offset, main_#t~mem12#1.base, main_#t~mem12#1.offset, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_~next~0#1.base, main_~next~0#1.offset, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~t1~0#1, main_~t2~0#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, main_~prev~0#1.base, main_~prev~0#1.offset;call main_#t~malloc1#1.base, main_#t~malloc1#1.offset := #Ultimate.allocOnHeap(8);main_~head~0#1.base, main_~head~0#1.offset := main_#t~malloc1#1.base, main_#t~malloc1#1.offset;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset;call write~$Pointer$(0, 0, main_~head~0#1.base, main_~head~0#1.offset, 4);call write~int(0, main_~head~0#1.base, 4 + main_~head~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1689#(and (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} is VALID [2022-02-20 16:52:45,907 INFO L290 TraceCheckUtils]: 2: Hoare triple {1689#(and (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647; {1689#(and (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} is VALID [2022-02-20 16:52:45,908 INFO L290 TraceCheckUtils]: 3: Hoare triple {1689#(and (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} assume !(0 != main_#t~nondet2#1);havoc main_#t~nondet2#1; {1689#(and (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} is VALID [2022-02-20 16:52:45,909 INFO L290 TraceCheckUtils]: 4: Hoare triple {1689#(and (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1690#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} is VALID [2022-02-20 16:52:45,909 INFO L290 TraceCheckUtils]: 5: Hoare triple {1690#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} call main_#t~mem5#1.base, main_#t~mem5#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_#t~short7#1 := main_#t~mem5#1.base != 0 || main_#t~mem5#1.offset != 0; {1690#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} is VALID [2022-02-20 16:52:45,910 INFO L290 TraceCheckUtils]: 6: Hoare triple {1690#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} assume !main_#t~short7#1; {1690#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} is VALID [2022-02-20 16:52:45,910 INFO L290 TraceCheckUtils]: 7: Hoare triple {1690#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} assume !main_#t~short7#1;havoc main_#t~mem5#1.base, main_#t~mem5#1.offset;havoc main_#t~nondet6#1;havoc main_#t~short7#1; {1690#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} is VALID [2022-02-20 16:52:45,911 INFO L290 TraceCheckUtils]: 8: Hoare triple {1690#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0); {1690#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} is VALID [2022-02-20 16:52:45,911 INFO L290 TraceCheckUtils]: 9: Hoare triple {1690#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} goto; {1690#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} is VALID [2022-02-20 16:52:45,912 INFO L290 TraceCheckUtils]: 10: Hoare triple {1690#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} call write~int(1, main_~x~0#1.base, 4 + main_~x~0#1.offset, 4);call main_#t~mem9#1.base, main_#t~mem9#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4); {1691#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) (+ |ULTIMATE.start_main_~x~0#1.offset| 4)) 1) (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} is VALID [2022-02-20 16:52:45,914 INFO L290 TraceCheckUtils]: 11: Hoare triple {1691#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) (+ |ULTIMATE.start_main_~x~0#1.offset| 4)) 1) (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} assume main_#t~mem9#1.base == 0 && main_#t~mem9#1.offset == 0;havoc main_#t~mem9#1.base, main_#t~mem9#1.offset;call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnHeap(8);call write~$Pointer$(main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4);havoc main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~mem11#1.base, main_#t~mem11#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_#t~mem11#1.base, main_#t~mem11#1.offset;havoc main_#t~mem11#1.base, main_#t~mem11#1.offset;call write~$Pointer$(0, 0, main_~x~0#1.base, main_~x~0#1.offset, 4);call write~int(2, main_~x~0#1.base, 4 + main_~x~0#1.offset, 4); {1692#(and (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) |ULTIMATE.start_main_~head~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 4)) 1) (= |ULTIMATE.start_main_~head~0#1.offset| 0))} is VALID [2022-02-20 16:52:45,914 INFO L290 TraceCheckUtils]: 12: Hoare triple {1692#(and (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) |ULTIMATE.start_main_~head~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 4)) 1) (= |ULTIMATE.start_main_~head~0#1.offset| 0))} main_~prev~0#1.base, main_~prev~0#1.offset := 0, 0;main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1737#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) (+ |ULTIMATE.start_main_~x~0#1.offset| 4)) 1) (= |ULTIMATE.start_main_~x~0#1.offset| 0) (not (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|))))} is VALID [2022-02-20 16:52:45,915 INFO L290 TraceCheckUtils]: 13: Hoare triple {1737#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) (+ |ULTIMATE.start_main_~x~0#1.offset| 4)) 1) (= |ULTIMATE.start_main_~x~0#1.offset| 0) (not (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|))))} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0);call main_#t~mem13#1.base, main_#t~mem13#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_~next~0#1.base, main_~next~0#1.offset := main_#t~mem13#1.base, main_#t~mem13#1.offset;havoc main_#t~mem13#1.base, main_#t~mem13#1.offset;call write~$Pointer$(main_~prev~0#1.base, main_~prev~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4);main_~prev~0#1.base, main_~prev~0#1.offset := main_~x~0#1.base, main_~x~0#1.offset;main_~x~0#1.base, main_~x~0#1.offset := main_~next~0#1.base, main_~next~0#1.offset; {1741#(and (= |ULTIMATE.start_main_~prev~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~prev~0#1.base|) 4) 1) (not (= |ULTIMATE.start_main_~prev~0#1.base| |ULTIMATE.start_main_~x~0#1.base|)))} is VALID [2022-02-20 16:52:45,916 INFO L290 TraceCheckUtils]: 14: Hoare triple {1741#(and (= |ULTIMATE.start_main_~prev~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~prev~0#1.base|) 4) 1) (not (= |ULTIMATE.start_main_~prev~0#1.base| |ULTIMATE.start_main_~x~0#1.base|)))} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0);call main_#t~mem13#1.base, main_#t~mem13#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_~next~0#1.base, main_~next~0#1.offset := main_#t~mem13#1.base, main_#t~mem13#1.offset;havoc main_#t~mem13#1.base, main_#t~mem13#1.offset;call write~$Pointer$(main_~prev~0#1.base, main_~prev~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4);main_~prev~0#1.base, main_~prev~0#1.offset := main_~x~0#1.base, main_~x~0#1.offset;main_~x~0#1.base, main_~x~0#1.offset := main_~next~0#1.base, main_~next~0#1.offset; {1745#(and (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~prev~0#1.base|) |ULTIMATE.start_main_~prev~0#1.offset|) |ULTIMATE.start_main_~prev~0#1.base|)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~prev~0#1.base|) |ULTIMATE.start_main_~prev~0#1.offset|) 0) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~prev~0#1.base|) |ULTIMATE.start_main_~prev~0#1.offset|)) 4) 1))} is VALID [2022-02-20 16:52:45,917 INFO L290 TraceCheckUtils]: 15: Hoare triple {1745#(and (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~prev~0#1.base|) |ULTIMATE.start_main_~prev~0#1.offset|) |ULTIMATE.start_main_~prev~0#1.base|)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~prev~0#1.base|) |ULTIMATE.start_main_~prev~0#1.offset|) 0) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~prev~0#1.base|) |ULTIMATE.start_main_~prev~0#1.offset|)) 4) 1))} assume !(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0); {1745#(and (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~prev~0#1.base|) |ULTIMATE.start_main_~prev~0#1.offset|) |ULTIMATE.start_main_~prev~0#1.base|)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~prev~0#1.base|) |ULTIMATE.start_main_~prev~0#1.offset|) 0) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~prev~0#1.base|) |ULTIMATE.start_main_~prev~0#1.offset|)) 4) 1))} is VALID [2022-02-20 16:52:45,918 INFO L290 TraceCheckUtils]: 16: Hoare triple {1745#(and (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~prev~0#1.base|) |ULTIMATE.start_main_~prev~0#1.offset|) |ULTIMATE.start_main_~prev~0#1.base|)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~prev~0#1.base|) |ULTIMATE.start_main_~prev~0#1.offset|) 0) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~prev~0#1.base|) |ULTIMATE.start_main_~prev~0#1.offset|)) 4) 1))} main_~head~0#1.base, main_~head~0#1.offset := main_~prev~0#1.base, main_~prev~0#1.offset;main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1752#(and (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 4) 1) (not (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0))} is VALID [2022-02-20 16:52:45,918 INFO L290 TraceCheckUtils]: 17: Hoare triple {1752#(and (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 4) 1) (not (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0))} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0);call main_#t~mem14#1 := read~int(main_~x~0#1.base, 4 + main_~x~0#1.offset, 4);main_~t1~0#1 := main_#t~mem14#1;havoc main_#t~mem14#1;main_~t2~0#1 := 0; {1752#(and (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 4) 1) (not (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0))} is VALID [2022-02-20 16:52:45,919 INFO L290 TraceCheckUtils]: 18: Hoare triple {1752#(and (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 4) 1) (not (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0))} assume 2 == main_~t1~0#1;call main_#t~mem15#1.base, main_#t~mem15#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);call main_#t~mem16#1 := read~int(main_#t~mem15#1.base, 4 + main_#t~mem15#1.offset, 4);main_~t2~0#1 := main_#t~mem16#1;havoc main_#t~mem15#1.base, main_#t~mem15#1.offset;havoc main_#t~mem16#1; {1697#(= |ULTIMATE.start_main_~t2~0#1| 1)} is VALID [2022-02-20 16:52:45,919 INFO L290 TraceCheckUtils]: 19: Hoare triple {1697#(= |ULTIMATE.start_main_~t2~0#1| 1)} assume !(2 != main_~t1~0#1 || 1 == main_~t2~0#1); {1688#false} is VALID [2022-02-20 16:52:45,920 INFO L290 TraceCheckUtils]: 20: Hoare triple {1688#false} assume !false; {1688#false} is VALID [2022-02-20 16:52:45,920 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 16:52:45,920 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 16:52:45,954 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_353 (Array Int Int))) (= (select (select (store |c_#memory_int| |c_ULTIMATE.start_main_~x~0#1.base| v_ArrVal_353) |c_ULTIMATE.start_main_~prev~0#1.base|) (+ |c_ULTIMATE.start_main_~prev~0#1.offset| 4)) 1)) is different from false [2022-02-20 16:52:45,984 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_353 (Array Int Int)) (v_ArrVal_348 Int)) (= (select (select (store (store |c_#memory_int| |c_ULTIMATE.start_main_~x~0#1.base| (store (select |c_#memory_int| |c_ULTIMATE.start_main_~x~0#1.base|) |c_ULTIMATE.start_main_~x~0#1.offset| v_ArrVal_348)) (select (select |c_#memory_$Pointer$.base| |c_ULTIMATE.start_main_~x~0#1.base|) |c_ULTIMATE.start_main_~x~0#1.offset|) v_ArrVal_353) |c_ULTIMATE.start_main_~x~0#1.base|) (+ |c_ULTIMATE.start_main_~x~0#1.offset| 4)) 1)) is different from false [2022-02-20 16:52:46,008 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_353 (Array Int Int)) (v_ArrVal_348 Int)) (= (select (select (store (store |c_#memory_int| |c_ULTIMATE.start_main_~head~0#1.base| (store (select |c_#memory_int| |c_ULTIMATE.start_main_~head~0#1.base|) |c_ULTIMATE.start_main_~head~0#1.offset| v_ArrVal_348)) (select (select |c_#memory_$Pointer$.base| |c_ULTIMATE.start_main_~head~0#1.base|) |c_ULTIMATE.start_main_~head~0#1.offset|) v_ArrVal_353) |c_ULTIMATE.start_main_~head~0#1.base|) (+ |c_ULTIMATE.start_main_~head~0#1.offset| 4)) 1)) is different from false [2022-02-20 16:52:46,100 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 16:52:46,100 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 57 treesize of output 58 [2022-02-20 16:52:46,122 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 16:52:46,123 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 134 treesize of output 113 [2022-02-20 16:52:46,133 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 48 treesize of output 46 [2022-02-20 16:52:46,716 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 16:52:46,717 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 26 treesize of output 30 [2022-02-20 16:52:47,575 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_353 (Array Int Int)) (v_ArrVal_339 Int) (v_ArrVal_343 (Array Int Int)) (v_ArrVal_348 Int) (v_arrayElimCell_23 Int) (v_arrayElimCell_22 Int)) (let ((.cse0 (= |c_ULTIMATE.start_main_~head~0#1.base| v_arrayElimCell_22))) (or (and (not (= v_arrayElimCell_23 v_arrayElimCell_22)) (= |c_ULTIMATE.start_main_~x~0#1.offset| |c_ULTIMATE.start_main_~head~0#1.offset|) (= |c_ULTIMATE.start_main_~head~0#1.base| |c_ULTIMATE.start_main_~x~0#1.base|)) (and .cse0 (forall ((v_arrayElimCell_24 Int)) (= (select (select (store (let ((.cse1 (store (store |c_#memory_int| |c_ULTIMATE.start_main_~x~0#1.base| (store (select |c_#memory_int| |c_ULTIMATE.start_main_~x~0#1.base|) |c_ULTIMATE.start_main_~x~0#1.offset| v_ArrVal_339)) v_arrayElimCell_22 v_ArrVal_343))) (store .cse1 |c_ULTIMATE.start_main_~head~0#1.base| (store (select .cse1 |c_ULTIMATE.start_main_~head~0#1.base|) |c_ULTIMATE.start_main_~head~0#1.offset| v_ArrVal_348))) v_arrayElimCell_24 v_ArrVal_353) |c_ULTIMATE.start_main_~head~0#1.base|) (+ |c_ULTIMATE.start_main_~head~0#1.offset| 4)) 1))) (not (= (select |c_#valid| v_arrayElimCell_22) 0)) (and (not .cse0) (= (select (select (store (let ((.cse2 (store (store |c_#memory_int| |c_ULTIMATE.start_main_~x~0#1.base| (store (select |c_#memory_int| |c_ULTIMATE.start_main_~x~0#1.base|) |c_ULTIMATE.start_main_~x~0#1.offset| v_ArrVal_339)) v_arrayElimCell_22 v_ArrVal_343))) (store .cse2 |c_ULTIMATE.start_main_~head~0#1.base| (store (select .cse2 |c_ULTIMATE.start_main_~head~0#1.base|) |c_ULTIMATE.start_main_~head~0#1.offset| v_ArrVal_348))) v_arrayElimCell_23 v_ArrVal_353) |c_ULTIMATE.start_main_~head~0#1.base|) (+ |c_ULTIMATE.start_main_~head~0#1.offset| 4)) 1))))) is different from false [2022-02-20 16:52:47,674 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 16:52:47,680 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 16:52:47,680 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 1 new quantified variables, introduced 2 case distinctions, treesize of input 114 treesize of output 80 [2022-02-20 16:52:47,720 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 16:52:47,720 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 160 treesize of output 160 [2022-02-20 16:52:47,728 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 16:52:47,736 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 154 treesize of output 146 [2022-02-20 16:52:47,747 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 146 treesize of output 130 [2022-02-20 16:52:47,925 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 16:52:47,927 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 7 treesize of output 3 [2022-02-20 16:52:47,974 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 8 treesize of output 4 [2022-02-20 16:52:48,199 INFO L290 TraceCheckUtils]: 20: Hoare triple {1688#false} assume !false; {1688#false} is VALID [2022-02-20 16:52:48,200 INFO L290 TraceCheckUtils]: 19: Hoare triple {1697#(= |ULTIMATE.start_main_~t2~0#1| 1)} assume !(2 != main_~t1~0#1 || 1 == main_~t2~0#1); {1688#false} is VALID [2022-02-20 16:52:48,200 INFO L290 TraceCheckUtils]: 18: Hoare triple {1696#(= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (+ (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 4)) 1)} assume 2 == main_~t1~0#1;call main_#t~mem15#1.base, main_#t~mem15#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);call main_#t~mem16#1 := read~int(main_#t~mem15#1.base, 4 + main_#t~mem15#1.offset, 4);main_~t2~0#1 := main_#t~mem16#1;havoc main_#t~mem15#1.base, main_#t~mem15#1.offset;havoc main_#t~mem16#1; {1697#(= |ULTIMATE.start_main_~t2~0#1| 1)} is VALID [2022-02-20 16:52:48,201 INFO L290 TraceCheckUtils]: 17: Hoare triple {1696#(= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (+ (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 4)) 1)} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0);call main_#t~mem14#1 := read~int(main_~x~0#1.base, 4 + main_~x~0#1.offset, 4);main_~t1~0#1 := main_#t~mem14#1;havoc main_#t~mem14#1;main_~t2~0#1 := 0; {1696#(= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (+ (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 4)) 1)} is VALID [2022-02-20 16:52:48,202 INFO L290 TraceCheckUtils]: 16: Hoare triple {1695#(= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~prev~0#1.base|) |ULTIMATE.start_main_~prev~0#1.offset|)) (+ (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~prev~0#1.base|) |ULTIMATE.start_main_~prev~0#1.offset|) 4)) 1)} main_~head~0#1.base, main_~head~0#1.offset := main_~prev~0#1.base, main_~prev~0#1.offset;main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1696#(= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (+ (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 4)) 1)} is VALID [2022-02-20 16:52:48,202 INFO L290 TraceCheckUtils]: 15: Hoare triple {1695#(= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~prev~0#1.base|) |ULTIMATE.start_main_~prev~0#1.offset|)) (+ (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~prev~0#1.base|) |ULTIMATE.start_main_~prev~0#1.offset|) 4)) 1)} assume !(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0); {1695#(= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~prev~0#1.base|) |ULTIMATE.start_main_~prev~0#1.offset|)) (+ (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~prev~0#1.base|) |ULTIMATE.start_main_~prev~0#1.offset|) 4)) 1)} is VALID [2022-02-20 16:52:48,203 INFO L290 TraceCheckUtils]: 14: Hoare triple {1783#(forall ((v_ArrVal_353 (Array Int Int))) (= (select (select (store |#memory_int| |ULTIMATE.start_main_~x~0#1.base| v_ArrVal_353) |ULTIMATE.start_main_~prev~0#1.base|) (+ 4 |ULTIMATE.start_main_~prev~0#1.offset|)) 1))} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0);call main_#t~mem13#1.base, main_#t~mem13#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_~next~0#1.base, main_~next~0#1.offset := main_#t~mem13#1.base, main_#t~mem13#1.offset;havoc main_#t~mem13#1.base, main_#t~mem13#1.offset;call write~$Pointer$(main_~prev~0#1.base, main_~prev~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4);main_~prev~0#1.base, main_~prev~0#1.offset := main_~x~0#1.base, main_~x~0#1.offset;main_~x~0#1.base, main_~x~0#1.offset := main_~next~0#1.base, main_~next~0#1.offset; {1695#(= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~prev~0#1.base|) |ULTIMATE.start_main_~prev~0#1.offset|)) (+ (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~prev~0#1.base|) |ULTIMATE.start_main_~prev~0#1.offset|) 4)) 1)} is VALID [2022-02-20 16:52:48,205 INFO L290 TraceCheckUtils]: 13: Hoare triple {1787#(forall ((v_ArrVal_353 (Array Int Int)) (v_ArrVal_348 Int)) (= 1 (select (select (store (store |#memory_int| |ULTIMATE.start_main_~x~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset| v_ArrVal_348)) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) v_ArrVal_353) |ULTIMATE.start_main_~x~0#1.base|) (+ |ULTIMATE.start_main_~x~0#1.offset| 4))))} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0);call main_#t~mem13#1.base, main_#t~mem13#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_~next~0#1.base, main_~next~0#1.offset := main_#t~mem13#1.base, main_#t~mem13#1.offset;havoc main_#t~mem13#1.base, main_#t~mem13#1.offset;call write~$Pointer$(main_~prev~0#1.base, main_~prev~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4);main_~prev~0#1.base, main_~prev~0#1.offset := main_~x~0#1.base, main_~x~0#1.offset;main_~x~0#1.base, main_~x~0#1.offset := main_~next~0#1.base, main_~next~0#1.offset; {1783#(forall ((v_ArrVal_353 (Array Int Int))) (= (select (select (store |#memory_int| |ULTIMATE.start_main_~x~0#1.base| v_ArrVal_353) |ULTIMATE.start_main_~prev~0#1.base|) (+ 4 |ULTIMATE.start_main_~prev~0#1.offset|)) 1))} is VALID [2022-02-20 16:52:48,206 INFO L290 TraceCheckUtils]: 12: Hoare triple {1791#(forall ((v_ArrVal_353 (Array Int Int)) (v_ArrVal_348 Int)) (= (select (select (store (store |#memory_int| |ULTIMATE.start_main_~head~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset| v_ArrVal_348)) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) v_ArrVal_353) |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 4)) 1))} main_~prev~0#1.base, main_~prev~0#1.offset := 0, 0;main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1787#(forall ((v_ArrVal_353 (Array Int Int)) (v_ArrVal_348 Int)) (= 1 (select (select (store (store |#memory_int| |ULTIMATE.start_main_~x~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset| v_ArrVal_348)) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) v_ArrVal_353) |ULTIMATE.start_main_~x~0#1.base|) (+ |ULTIMATE.start_main_~x~0#1.offset| 4))))} is VALID [2022-02-20 16:52:48,211 WARN L290 TraceCheckUtils]: 11: Hoare triple {1795#(forall ((v_ArrVal_353 (Array Int Int)) (v_ArrVal_339 Int) (v_ArrVal_343 (Array Int Int)) (v_ArrVal_348 Int) (v_arrayElimCell_23 Int) (v_arrayElimCell_22 Int)) (or (not (= (select |#valid| v_arrayElimCell_22) 0)) (and (= v_arrayElimCell_22 |ULTIMATE.start_main_~head~0#1.base|) (forall ((v_arrayElimCell_24 Int)) (= (select (select (store (store (store (store |#memory_int| |ULTIMATE.start_main_~x~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset| v_ArrVal_339)) v_arrayElimCell_22 v_ArrVal_343) |ULTIMATE.start_main_~head~0#1.base| (store (select (store (store |#memory_int| |ULTIMATE.start_main_~x~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset| v_ArrVal_339)) v_arrayElimCell_22 v_ArrVal_343) |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset| v_ArrVal_348)) v_arrayElimCell_24 v_ArrVal_353) |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 4)) 1))) (and (not (= v_arrayElimCell_22 |ULTIMATE.start_main_~head~0#1.base|)) (= (select (select (store (store (store (store |#memory_int| |ULTIMATE.start_main_~x~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset| v_ArrVal_339)) v_arrayElimCell_22 v_ArrVal_343) |ULTIMATE.start_main_~head~0#1.base| (store (select (store (store |#memory_int| |ULTIMATE.start_main_~x~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset| v_ArrVal_339)) v_arrayElimCell_22 v_ArrVal_343) |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset| v_ArrVal_348)) v_arrayElimCell_23 v_ArrVal_353) |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 4)) 1)) (and (not (= v_arrayElimCell_23 v_arrayElimCell_22)) (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|))))} assume main_#t~mem9#1.base == 0 && main_#t~mem9#1.offset == 0;havoc main_#t~mem9#1.base, main_#t~mem9#1.offset;call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnHeap(8);call write~$Pointer$(main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4);havoc main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~mem11#1.base, main_#t~mem11#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_#t~mem11#1.base, main_#t~mem11#1.offset;havoc main_#t~mem11#1.base, main_#t~mem11#1.offset;call write~$Pointer$(0, 0, main_~x~0#1.base, main_~x~0#1.offset, 4);call write~int(2, main_~x~0#1.base, 4 + main_~x~0#1.offset, 4); {1791#(forall ((v_ArrVal_353 (Array Int Int)) (v_ArrVal_348 Int)) (= (select (select (store (store |#memory_int| |ULTIMATE.start_main_~head~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset| v_ArrVal_348)) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) v_ArrVal_353) |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 4)) 1))} is UNKNOWN [2022-02-20 16:52:48,214 INFO L290 TraceCheckUtils]: 10: Hoare triple {1799#(forall ((v_arrayElimCell_22 Int)) (or (not (= (select |#valid| v_arrayElimCell_22) 0)) (and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (not (= v_arrayElimCell_22 |ULTIMATE.start_main_~head~0#1.base|)) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|))))} call write~int(1, main_~x~0#1.base, 4 + main_~x~0#1.offset, 4);call main_#t~mem9#1.base, main_#t~mem9#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4); {1795#(forall ((v_ArrVal_353 (Array Int Int)) (v_ArrVal_339 Int) (v_ArrVal_343 (Array Int Int)) (v_ArrVal_348 Int) (v_arrayElimCell_23 Int) (v_arrayElimCell_22 Int)) (or (not (= (select |#valid| v_arrayElimCell_22) 0)) (and (= v_arrayElimCell_22 |ULTIMATE.start_main_~head~0#1.base|) (forall ((v_arrayElimCell_24 Int)) (= (select (select (store (store (store (store |#memory_int| |ULTIMATE.start_main_~x~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset| v_ArrVal_339)) v_arrayElimCell_22 v_ArrVal_343) |ULTIMATE.start_main_~head~0#1.base| (store (select (store (store |#memory_int| |ULTIMATE.start_main_~x~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset| v_ArrVal_339)) v_arrayElimCell_22 v_ArrVal_343) |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset| v_ArrVal_348)) v_arrayElimCell_24 v_ArrVal_353) |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 4)) 1))) (and (not (= v_arrayElimCell_22 |ULTIMATE.start_main_~head~0#1.base|)) (= (select (select (store (store (store (store |#memory_int| |ULTIMATE.start_main_~x~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset| v_ArrVal_339)) v_arrayElimCell_22 v_ArrVal_343) |ULTIMATE.start_main_~head~0#1.base| (store (select (store (store |#memory_int| |ULTIMATE.start_main_~x~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset| v_ArrVal_339)) v_arrayElimCell_22 v_ArrVal_343) |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset| v_ArrVal_348)) v_arrayElimCell_23 v_ArrVal_353) |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 4)) 1)) (and (not (= v_arrayElimCell_23 v_arrayElimCell_22)) (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|))))} is VALID [2022-02-20 16:52:48,215 INFO L290 TraceCheckUtils]: 9: Hoare triple {1799#(forall ((v_arrayElimCell_22 Int)) (or (not (= (select |#valid| v_arrayElimCell_22) 0)) (and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (not (= v_arrayElimCell_22 |ULTIMATE.start_main_~head~0#1.base|)) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|))))} goto; {1799#(forall ((v_arrayElimCell_22 Int)) (or (not (= (select |#valid| v_arrayElimCell_22) 0)) (and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (not (= v_arrayElimCell_22 |ULTIMATE.start_main_~head~0#1.base|)) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|))))} is VALID [2022-02-20 16:52:48,215 INFO L290 TraceCheckUtils]: 8: Hoare triple {1799#(forall ((v_arrayElimCell_22 Int)) (or (not (= (select |#valid| v_arrayElimCell_22) 0)) (and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (not (= v_arrayElimCell_22 |ULTIMATE.start_main_~head~0#1.base|)) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|))))} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0); {1799#(forall ((v_arrayElimCell_22 Int)) (or (not (= (select |#valid| v_arrayElimCell_22) 0)) (and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (not (= v_arrayElimCell_22 |ULTIMATE.start_main_~head~0#1.base|)) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|))))} is VALID [2022-02-20 16:52:48,216 INFO L290 TraceCheckUtils]: 7: Hoare triple {1799#(forall ((v_arrayElimCell_22 Int)) (or (not (= (select |#valid| v_arrayElimCell_22) 0)) (and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (not (= v_arrayElimCell_22 |ULTIMATE.start_main_~head~0#1.base|)) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|))))} assume !main_#t~short7#1;havoc main_#t~mem5#1.base, main_#t~mem5#1.offset;havoc main_#t~nondet6#1;havoc main_#t~short7#1; {1799#(forall ((v_arrayElimCell_22 Int)) (or (not (= (select |#valid| v_arrayElimCell_22) 0)) (and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (not (= v_arrayElimCell_22 |ULTIMATE.start_main_~head~0#1.base|)) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|))))} is VALID [2022-02-20 16:52:48,217 INFO L290 TraceCheckUtils]: 6: Hoare triple {1799#(forall ((v_arrayElimCell_22 Int)) (or (not (= (select |#valid| v_arrayElimCell_22) 0)) (and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (not (= v_arrayElimCell_22 |ULTIMATE.start_main_~head~0#1.base|)) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|))))} assume !main_#t~short7#1; {1799#(forall ((v_arrayElimCell_22 Int)) (or (not (= (select |#valid| v_arrayElimCell_22) 0)) (and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (not (= v_arrayElimCell_22 |ULTIMATE.start_main_~head~0#1.base|)) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|))))} is VALID [2022-02-20 16:52:48,218 INFO L290 TraceCheckUtils]: 5: Hoare triple {1799#(forall ((v_arrayElimCell_22 Int)) (or (not (= (select |#valid| v_arrayElimCell_22) 0)) (and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (not (= v_arrayElimCell_22 |ULTIMATE.start_main_~head~0#1.base|)) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|))))} call main_#t~mem5#1.base, main_#t~mem5#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_#t~short7#1 := main_#t~mem5#1.base != 0 || main_#t~mem5#1.offset != 0; {1799#(forall ((v_arrayElimCell_22 Int)) (or (not (= (select |#valid| v_arrayElimCell_22) 0)) (and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (not (= v_arrayElimCell_22 |ULTIMATE.start_main_~head~0#1.base|)) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|))))} is VALID [2022-02-20 16:52:48,218 INFO L290 TraceCheckUtils]: 4: Hoare triple {1818#(not (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 0))} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1799#(forall ((v_arrayElimCell_22 Int)) (or (not (= (select |#valid| v_arrayElimCell_22) 0)) (and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (not (= v_arrayElimCell_22 |ULTIMATE.start_main_~head~0#1.base|)) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|))))} is VALID [2022-02-20 16:52:48,219 INFO L290 TraceCheckUtils]: 3: Hoare triple {1818#(not (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 0))} assume !(0 != main_#t~nondet2#1);havoc main_#t~nondet2#1; {1818#(not (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 0))} is VALID [2022-02-20 16:52:48,219 INFO L290 TraceCheckUtils]: 2: Hoare triple {1818#(not (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 0))} assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647; {1818#(not (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 0))} is VALID [2022-02-20 16:52:48,220 INFO L290 TraceCheckUtils]: 1: Hoare triple {1687#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~mem4#1.base, main_#t~mem4#1.offset, main_#t~nondet2#1, main_#t~mem8#1.base, main_#t~mem8#1.offset, main_#t~mem5#1.base, main_#t~mem5#1.offset, main_#t~nondet6#1, main_#t~short7#1, main_#t~mem9#1.base, main_#t~mem9#1.offset, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~mem11#1.base, main_#t~mem11#1.offset, main_#t~mem12#1.base, main_#t~mem12#1.offset, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_~next~0#1.base, main_~next~0#1.offset, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~t1~0#1, main_~t2~0#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, main_~prev~0#1.base, main_~prev~0#1.offset;call main_#t~malloc1#1.base, main_#t~malloc1#1.offset := #Ultimate.allocOnHeap(8);main_~head~0#1.base, main_~head~0#1.offset := main_#t~malloc1#1.base, main_#t~malloc1#1.offset;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset;call write~$Pointer$(0, 0, main_~head~0#1.base, main_~head~0#1.offset, 4);call write~int(0, main_~head~0#1.base, 4 + main_~head~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1818#(not (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 0))} is VALID [2022-02-20 16:52:48,221 INFO L290 TraceCheckUtils]: 0: Hoare triple {1687#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(21, 2); {1687#true} is VALID [2022-02-20 16:52:48,222 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 3 not checked. [2022-02-20 16:52:48,222 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [814596799] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 16:52:48,222 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 16:52:48,222 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11, 11] total 21 [2022-02-20 16:52:48,222 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1458017307] [2022-02-20 16:52:48,222 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 16:52:48,224 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 21 states have (on average 2.0) internal successors, (42), 21 states have internal predecessors, (42), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 21 [2022-02-20 16:52:48,224 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:52:48,225 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 21 states, 21 states have (on average 2.0) internal successors, (42), 21 states have internal predecessors, (42), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:48,269 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 41 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-02-20 16:52:48,269 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-02-20 16:52:48,269 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:52:48,270 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-02-20 16:52:48,270 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=52, Invalid=232, Unknown=4, NotChecked=132, Total=420 [2022-02-20 16:52:48,270 INFO L87 Difference]: Start difference. First operand 49 states and 60 transitions. Second operand has 21 states, 21 states have (on average 2.0) internal successors, (42), 21 states have internal predecessors, (42), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:49,079 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:52:49,079 INFO L93 Difference]: Finished difference Result 87 states and 105 transitions. [2022-02-20 16:52:49,079 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-02-20 16:52:49,079 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 21 states have (on average 2.0) internal successors, (42), 21 states have internal predecessors, (42), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 21 [2022-02-20 16:52:49,079 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:52:49,080 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 21 states have (on average 2.0) internal successors, (42), 21 states have internal predecessors, (42), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:49,081 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 94 transitions. [2022-02-20 16:52:49,081 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 21 states have (on average 2.0) internal successors, (42), 21 states have internal predecessors, (42), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:49,082 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 94 transitions. [2022-02-20 16:52:49,082 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 94 transitions. [2022-02-20 16:52:49,175 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:52:49,176 INFO L225 Difference]: With dead ends: 87 [2022-02-20 16:52:49,176 INFO L226 Difference]: Without dead ends: 85 [2022-02-20 16:52:49,176 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 58 GetRequests, 32 SyntacticMatches, 3 SemanticMatches, 23 ConstructedPredicates, 4 IntricatePredicates, 0 DeprecatedPredicates, 76 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=77, Invalid=355, Unknown=4, NotChecked=164, Total=600 [2022-02-20 16:52:49,177 INFO L933 BasicCegarLoop]: 18 mSDtfsCounter, 134 mSDsluCounter, 174 mSDsCounter, 0 mSdLazyCounter, 267 mSolverCounterSat, 27 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 134 SdHoareTripleChecker+Valid, 192 SdHoareTripleChecker+Invalid, 592 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 27 IncrementalHoareTripleChecker+Valid, 267 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 298 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-20 16:52:49,177 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [134 Valid, 192 Invalid, 592 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [27 Valid, 267 Invalid, 0 Unknown, 298 Unchecked, 0.3s Time] [2022-02-20 16:52:49,178 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 85 states. [2022-02-20 16:52:49,182 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 85 to 57. [2022-02-20 16:52:49,182 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:52:49,182 INFO L82 GeneralOperation]: Start isEquivalent. First operand 85 states. Second operand has 57 states, 56 states have (on average 1.25) internal successors, (70), 56 states have internal predecessors, (70), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:49,182 INFO L74 IsIncluded]: Start isIncluded. First operand 85 states. Second operand has 57 states, 56 states have (on average 1.25) internal successors, (70), 56 states have internal predecessors, (70), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:49,183 INFO L87 Difference]: Start difference. First operand 85 states. Second operand has 57 states, 56 states have (on average 1.25) internal successors, (70), 56 states have internal predecessors, (70), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:49,187 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:52:49,188 INFO L93 Difference]: Finished difference Result 85 states and 103 transitions. [2022-02-20 16:52:49,188 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 103 transitions. [2022-02-20 16:52:49,188 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:52:49,188 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:52:49,189 INFO L74 IsIncluded]: Start isIncluded. First operand has 57 states, 56 states have (on average 1.25) internal successors, (70), 56 states have internal predecessors, (70), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 85 states. [2022-02-20 16:52:49,189 INFO L87 Difference]: Start difference. First operand has 57 states, 56 states have (on average 1.25) internal successors, (70), 56 states have internal predecessors, (70), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 85 states. [2022-02-20 16:52:49,191 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:52:49,192 INFO L93 Difference]: Finished difference Result 85 states and 103 transitions. [2022-02-20 16:52:49,192 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 103 transitions. [2022-02-20 16:52:49,192 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:52:49,192 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:52:49,192 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:52:49,192 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:52:49,193 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 57 states, 56 states have (on average 1.25) internal successors, (70), 56 states have internal predecessors, (70), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:49,194 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 57 states and 70 transitions. [2022-02-20 16:52:49,194 INFO L78 Accepts]: Start accepts. Automaton has 57 states and 70 transitions. Word has length 21 [2022-02-20 16:52:49,194 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:52:49,194 INFO L470 AbstractCegarLoop]: Abstraction has 57 states and 70 transitions. [2022-02-20 16:52:49,195 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 21 states, 21 states have (on average 2.0) internal successors, (42), 21 states have internal predecessors, (42), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:49,195 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 70 transitions. [2022-02-20 16:52:49,195 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2022-02-20 16:52:49,195 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:52:49,195 INFO L514 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:52:49,213 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:52:49,399 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:52:49,400 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting ULTIMATE.startErr2ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr2ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:52:49,400 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:52:49,400 INFO L85 PathProgramCache]: Analyzing trace with hash 742292709, now seen corresponding path program 1 times [2022-02-20 16:52:49,400 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:52:49,400 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1066940739] [2022-02-20 16:52:49,400 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:52:49,401 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:52:49,428 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:52:49,456 INFO L290 TraceCheckUtils]: 0: Hoare triple {2188#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(21, 2); {2188#true} is VALID [2022-02-20 16:52:49,456 INFO L290 TraceCheckUtils]: 1: Hoare triple {2188#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~mem4#1.base, main_#t~mem4#1.offset, main_#t~nondet2#1, main_#t~mem8#1.base, main_#t~mem8#1.offset, main_#t~mem5#1.base, main_#t~mem5#1.offset, main_#t~nondet6#1, main_#t~short7#1, main_#t~mem9#1.base, main_#t~mem9#1.offset, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~mem11#1.base, main_#t~mem11#1.offset, main_#t~mem12#1.base, main_#t~mem12#1.offset, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_~next~0#1.base, main_~next~0#1.offset, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~t1~0#1, main_~t2~0#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, main_~prev~0#1.base, main_~prev~0#1.offset;call main_#t~malloc1#1.base, main_#t~malloc1#1.offset := #Ultimate.allocOnHeap(8);main_~head~0#1.base, main_~head~0#1.offset := main_#t~malloc1#1.base, main_#t~malloc1#1.offset;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset;call write~$Pointer$(0, 0, main_~head~0#1.base, main_~head~0#1.offset, 4);call write~int(0, main_~head~0#1.base, 4 + main_~head~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {2188#true} is VALID [2022-02-20 16:52:49,456 INFO L290 TraceCheckUtils]: 2: Hoare triple {2188#true} assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647; {2188#true} is VALID [2022-02-20 16:52:49,456 INFO L290 TraceCheckUtils]: 3: Hoare triple {2188#true} assume !(0 != main_#t~nondet2#1);havoc main_#t~nondet2#1; {2188#true} is VALID [2022-02-20 16:52:49,456 INFO L290 TraceCheckUtils]: 4: Hoare triple {2188#true} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {2188#true} is VALID [2022-02-20 16:52:49,456 INFO L290 TraceCheckUtils]: 5: Hoare triple {2188#true} call main_#t~mem5#1.base, main_#t~mem5#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_#t~short7#1 := main_#t~mem5#1.base != 0 || main_#t~mem5#1.offset != 0; {2188#true} is VALID [2022-02-20 16:52:49,457 INFO L290 TraceCheckUtils]: 6: Hoare triple {2188#true} assume !main_#t~short7#1; {2188#true} is VALID [2022-02-20 16:52:49,457 INFO L290 TraceCheckUtils]: 7: Hoare triple {2188#true} assume !main_#t~short7#1;havoc main_#t~mem5#1.base, main_#t~mem5#1.offset;havoc main_#t~nondet6#1;havoc main_#t~short7#1; {2188#true} is VALID [2022-02-20 16:52:49,457 INFO L290 TraceCheckUtils]: 8: Hoare triple {2188#true} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0); {2188#true} is VALID [2022-02-20 16:52:49,457 INFO L290 TraceCheckUtils]: 9: Hoare triple {2188#true} goto; {2188#true} is VALID [2022-02-20 16:52:49,457 INFO L290 TraceCheckUtils]: 10: Hoare triple {2188#true} call write~int(1, main_~x~0#1.base, 4 + main_~x~0#1.offset, 4);call main_#t~mem9#1.base, main_#t~mem9#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4); {2188#true} is VALID [2022-02-20 16:52:49,457 INFO L290 TraceCheckUtils]: 11: Hoare triple {2188#true} assume main_#t~mem9#1.base == 0 && main_#t~mem9#1.offset == 0;havoc main_#t~mem9#1.base, main_#t~mem9#1.offset;call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnHeap(8);call write~$Pointer$(main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4);havoc main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~mem11#1.base, main_#t~mem11#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_#t~mem11#1.base, main_#t~mem11#1.offset;havoc main_#t~mem11#1.base, main_#t~mem11#1.offset;call write~$Pointer$(0, 0, main_~x~0#1.base, main_~x~0#1.offset, 4);call write~int(2, main_~x~0#1.base, 4 + main_~x~0#1.offset, 4); {2188#true} is VALID [2022-02-20 16:52:49,457 INFO L290 TraceCheckUtils]: 12: Hoare triple {2188#true} main_~prev~0#1.base, main_~prev~0#1.offset := 0, 0;main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {2188#true} is VALID [2022-02-20 16:52:49,457 INFO L290 TraceCheckUtils]: 13: Hoare triple {2188#true} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0);call main_#t~mem13#1.base, main_#t~mem13#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_~next~0#1.base, main_~next~0#1.offset := main_#t~mem13#1.base, main_#t~mem13#1.offset;havoc main_#t~mem13#1.base, main_#t~mem13#1.offset;call write~$Pointer$(main_~prev~0#1.base, main_~prev~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4);main_~prev~0#1.base, main_~prev~0#1.offset := main_~x~0#1.base, main_~x~0#1.offset;main_~x~0#1.base, main_~x~0#1.offset := main_~next~0#1.base, main_~next~0#1.offset; {2188#true} is VALID [2022-02-20 16:52:49,457 INFO L290 TraceCheckUtils]: 14: Hoare triple {2188#true} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0);call main_#t~mem13#1.base, main_#t~mem13#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_~next~0#1.base, main_~next~0#1.offset := main_#t~mem13#1.base, main_#t~mem13#1.offset;havoc main_#t~mem13#1.base, main_#t~mem13#1.offset;call write~$Pointer$(main_~prev~0#1.base, main_~prev~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4);main_~prev~0#1.base, main_~prev~0#1.offset := main_~x~0#1.base, main_~x~0#1.offset;main_~x~0#1.base, main_~x~0#1.offset := main_~next~0#1.base, main_~next~0#1.offset; {2188#true} is VALID [2022-02-20 16:52:49,457 INFO L290 TraceCheckUtils]: 15: Hoare triple {2188#true} assume !(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0); {2188#true} is VALID [2022-02-20 16:52:49,457 INFO L290 TraceCheckUtils]: 16: Hoare triple {2188#true} main_~head~0#1.base, main_~head~0#1.offset := main_~prev~0#1.base, main_~prev~0#1.offset;main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {2188#true} is VALID [2022-02-20 16:52:49,458 INFO L290 TraceCheckUtils]: 17: Hoare triple {2188#true} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0);call main_#t~mem14#1 := read~int(main_~x~0#1.base, 4 + main_~x~0#1.offset, 4);main_~t1~0#1 := main_#t~mem14#1;havoc main_#t~mem14#1;main_~t2~0#1 := 0; {2188#true} is VALID [2022-02-20 16:52:49,459 INFO L290 TraceCheckUtils]: 18: Hoare triple {2188#true} assume !(2 == main_~t1~0#1); {2190#(not (= 2 |ULTIMATE.start_main_~t1~0#1|))} is VALID [2022-02-20 16:52:49,459 INFO L290 TraceCheckUtils]: 19: Hoare triple {2190#(not (= 2 |ULTIMATE.start_main_~t1~0#1|))} assume !(2 != main_~t1~0#1 || 1 == main_~t2~0#1); {2189#false} is VALID [2022-02-20 16:52:49,460 INFO L290 TraceCheckUtils]: 20: Hoare triple {2189#false} assume !false; {2189#false} is VALID [2022-02-20 16:52:49,460 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2022-02-20 16:52:49,460 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:52:49,460 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1066940739] [2022-02-20 16:52:49,460 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1066940739] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:52:49,460 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:52:49,461 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 16:52:49,461 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [821691414] [2022-02-20 16:52:49,461 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:52:49,461 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 6.666666666666667) internal successors, (20), 3 states have internal predecessors, (20), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 21 [2022-02-20 16:52:49,462 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:52:49,462 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 6.666666666666667) internal successors, (20), 3 states have internal predecessors, (20), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:49,476 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:52:49,476 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 16:52:49,476 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:52:49,476 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 16:52:49,477 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 16:52:49,477 INFO L87 Difference]: Start difference. First operand 57 states and 70 transitions. Second operand has 3 states, 3 states have (on average 6.666666666666667) internal successors, (20), 3 states have internal predecessors, (20), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:49,524 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:52:49,524 INFO L93 Difference]: Finished difference Result 65 states and 79 transitions. [2022-02-20 16:52:49,524 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 16:52:49,524 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 6.666666666666667) internal successors, (20), 3 states have internal predecessors, (20), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 21 [2022-02-20 16:52:49,525 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:52:49,525 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 6.666666666666667) internal successors, (20), 3 states have internal predecessors, (20), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:49,526 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 43 transitions. [2022-02-20 16:52:49,526 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 6.666666666666667) internal successors, (20), 3 states have internal predecessors, (20), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:49,528 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 43 transitions. [2022-02-20 16:52:49,528 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 43 transitions. [2022-02-20 16:52:49,577 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:52:49,578 INFO L225 Difference]: With dead ends: 65 [2022-02-20 16:52:49,578 INFO L226 Difference]: Without dead ends: 63 [2022-02-20 16:52:49,579 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 16:52:49,579 INFO L933 BasicCegarLoop]: 40 mSDtfsCounter, 6 mSDsluCounter, 28 mSDsCounter, 0 mSdLazyCounter, 7 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 6 SdHoareTripleChecker+Valid, 68 SdHoareTripleChecker+Invalid, 7 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 7 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 16:52:49,580 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [6 Valid, 68 Invalid, 7 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 7 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 16:52:49,581 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 63 states. [2022-02-20 16:52:49,587 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 63 to 57. [2022-02-20 16:52:49,588 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:52:49,588 INFO L82 GeneralOperation]: Start isEquivalent. First operand 63 states. Second operand has 57 states, 56 states have (on average 1.25) internal successors, (70), 56 states have internal predecessors, (70), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:49,588 INFO L74 IsIncluded]: Start isIncluded. First operand 63 states. Second operand has 57 states, 56 states have (on average 1.25) internal successors, (70), 56 states have internal predecessors, (70), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:49,588 INFO L87 Difference]: Start difference. First operand 63 states. Second operand has 57 states, 56 states have (on average 1.25) internal successors, (70), 56 states have internal predecessors, (70), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:49,590 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:52:49,590 INFO L93 Difference]: Finished difference Result 63 states and 77 transitions. [2022-02-20 16:52:49,590 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 77 transitions. [2022-02-20 16:52:49,590 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:52:49,590 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:52:49,591 INFO L74 IsIncluded]: Start isIncluded. First operand has 57 states, 56 states have (on average 1.25) internal successors, (70), 56 states have internal predecessors, (70), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 63 states. [2022-02-20 16:52:49,591 INFO L87 Difference]: Start difference. First operand has 57 states, 56 states have (on average 1.25) internal successors, (70), 56 states have internal predecessors, (70), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 63 states. [2022-02-20 16:52:49,592 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:52:49,592 INFO L93 Difference]: Finished difference Result 63 states and 77 transitions. [2022-02-20 16:52:49,593 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 77 transitions. [2022-02-20 16:52:49,593 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:52:49,593 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:52:49,593 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:52:49,593 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:52:49,593 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 57 states, 56 states have (on average 1.25) internal successors, (70), 56 states have internal predecessors, (70), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:49,595 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 57 states and 70 transitions. [2022-02-20 16:52:49,595 INFO L78 Accepts]: Start accepts. Automaton has 57 states and 70 transitions. Word has length 21 [2022-02-20 16:52:49,595 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:52:49,595 INFO L470 AbstractCegarLoop]: Abstraction has 57 states and 70 transitions. [2022-02-20 16:52:49,595 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 6.666666666666667) internal successors, (20), 3 states have internal predecessors, (20), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:49,596 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 70 transitions. [2022-02-20 16:52:49,596 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-02-20 16:52:49,596 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:52:49,596 INFO L514 BasicCegarLoop]: trace histogram [3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:52:49,596 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7 [2022-02-20 16:52:49,597 INFO L402 AbstractCegarLoop]: === Iteration 9 === Targeting ULTIMATE.startErr2ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr2ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:52:49,597 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:52:49,597 INFO L85 PathProgramCache]: Analyzing trace with hash -1163965591, now seen corresponding path program 3 times [2022-02-20 16:52:49,597 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:52:49,597 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [501292406] [2022-02-20 16:52:49,597 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:52:49,598 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:52:49,624 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:52:49,713 INFO L290 TraceCheckUtils]: 0: Hoare triple {2470#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(21, 2); {2470#true} is VALID [2022-02-20 16:52:49,715 INFO L290 TraceCheckUtils]: 1: Hoare triple {2470#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~mem4#1.base, main_#t~mem4#1.offset, main_#t~nondet2#1, main_#t~mem8#1.base, main_#t~mem8#1.offset, main_#t~mem5#1.base, main_#t~mem5#1.offset, main_#t~nondet6#1, main_#t~short7#1, main_#t~mem9#1.base, main_#t~mem9#1.offset, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~mem11#1.base, main_#t~mem11#1.offset, main_#t~mem12#1.base, main_#t~mem12#1.offset, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_~next~0#1.base, main_~next~0#1.offset, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~t1~0#1, main_~t2~0#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, main_~prev~0#1.base, main_~prev~0#1.offset;call main_#t~malloc1#1.base, main_#t~malloc1#1.offset := #Ultimate.allocOnHeap(8);main_~head~0#1.base, main_~head~0#1.offset := main_#t~malloc1#1.base, main_#t~malloc1#1.offset;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset;call write~$Pointer$(0, 0, main_~head~0#1.base, main_~head~0#1.offset, 4);call write~int(0, main_~head~0#1.base, 4 + main_~head~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {2472#(= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1)} is VALID [2022-02-20 16:52:49,715 INFO L290 TraceCheckUtils]: 2: Hoare triple {2472#(= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1)} assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647; {2472#(= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1)} is VALID [2022-02-20 16:52:49,716 INFO L290 TraceCheckUtils]: 3: Hoare triple {2472#(= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1)} assume !(0 != main_#t~nondet2#1);havoc main_#t~nondet2#1; {2472#(= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1)} is VALID [2022-02-20 16:52:49,717 INFO L290 TraceCheckUtils]: 4: Hoare triple {2472#(= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1)} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {2473#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} is VALID [2022-02-20 16:52:49,718 INFO L290 TraceCheckUtils]: 5: Hoare triple {2473#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} call main_#t~mem5#1.base, main_#t~mem5#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_#t~short7#1 := main_#t~mem5#1.base != 0 || main_#t~mem5#1.offset != 0; {2473#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} is VALID [2022-02-20 16:52:49,719 INFO L290 TraceCheckUtils]: 6: Hoare triple {2473#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} assume !main_#t~short7#1; {2473#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} is VALID [2022-02-20 16:52:49,719 INFO L290 TraceCheckUtils]: 7: Hoare triple {2473#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} assume !main_#t~short7#1;havoc main_#t~mem5#1.base, main_#t~mem5#1.offset;havoc main_#t~nondet6#1;havoc main_#t~short7#1; {2473#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} is VALID [2022-02-20 16:52:49,719 INFO L290 TraceCheckUtils]: 8: Hoare triple {2473#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0); {2473#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} is VALID [2022-02-20 16:52:49,720 INFO L290 TraceCheckUtils]: 9: Hoare triple {2473#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} goto; {2473#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} is VALID [2022-02-20 16:52:49,722 INFO L290 TraceCheckUtils]: 10: Hoare triple {2473#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} call write~int(1, main_~x~0#1.base, 4 + main_~x~0#1.offset, 4);call main_#t~mem9#1.base, main_#t~mem9#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4); {2473#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} is VALID [2022-02-20 16:52:49,724 INFO L290 TraceCheckUtils]: 11: Hoare triple {2473#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} assume main_#t~mem9#1.base == 0 && main_#t~mem9#1.offset == 0;havoc main_#t~mem9#1.base, main_#t~mem9#1.offset;call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnHeap(8);call write~$Pointer$(main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4);havoc main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~mem11#1.base, main_#t~mem11#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_#t~mem11#1.base, main_#t~mem11#1.offset;havoc main_#t~mem11#1.base, main_#t~mem11#1.offset;call write~$Pointer$(0, 0, main_~x~0#1.base, main_~x~0#1.offset, 4);call write~int(2, main_~x~0#1.base, 4 + main_~x~0#1.offset, 4); {2474#(and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|)) 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) |ULTIMATE.start_main_~head~0#1.base|)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|)) 0))} is VALID [2022-02-20 16:52:49,724 INFO L290 TraceCheckUtils]: 12: Hoare triple {2474#(and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|)) 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) |ULTIMATE.start_main_~head~0#1.base|)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|)) 0))} main_~prev~0#1.base, main_~prev~0#1.offset := 0, 0;main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {2475#(and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 0) (not (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 0))} is VALID [2022-02-20 16:52:49,725 INFO L290 TraceCheckUtils]: 13: Hoare triple {2475#(and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 0) (not (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 0))} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0);call main_#t~mem13#1.base, main_#t~mem13#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_~next~0#1.base, main_~next~0#1.offset := main_#t~mem13#1.base, main_#t~mem13#1.offset;havoc main_#t~mem13#1.base, main_#t~mem13#1.offset;call write~$Pointer$(main_~prev~0#1.base, main_~prev~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4);main_~prev~0#1.base, main_~prev~0#1.offset := main_~x~0#1.base, main_~x~0#1.offset;main_~x~0#1.base, main_~x~0#1.offset := main_~next~0#1.base, main_~next~0#1.offset; {2476#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0))} is VALID [2022-02-20 16:52:49,726 INFO L290 TraceCheckUtils]: 14: Hoare triple {2476#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0))} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0);call main_#t~mem13#1.base, main_#t~mem13#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_~next~0#1.base, main_~next~0#1.offset := main_#t~mem13#1.base, main_#t~mem13#1.offset;havoc main_#t~mem13#1.base, main_#t~mem13#1.offset;call write~$Pointer$(main_~prev~0#1.base, main_~prev~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4);main_~prev~0#1.base, main_~prev~0#1.offset := main_~x~0#1.base, main_~x~0#1.offset;main_~x~0#1.base, main_~x~0#1.offset := main_~next~0#1.base, main_~next~0#1.offset; {2477#(and (= |ULTIMATE.start_main_~x~0#1.offset| 0) (= |ULTIMATE.start_main_~x~0#1.base| 0))} is VALID [2022-02-20 16:52:49,726 INFO L290 TraceCheckUtils]: 15: Hoare triple {2477#(and (= |ULTIMATE.start_main_~x~0#1.offset| 0) (= |ULTIMATE.start_main_~x~0#1.base| 0))} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0);call main_#t~mem13#1.base, main_#t~mem13#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_~next~0#1.base, main_~next~0#1.offset := main_#t~mem13#1.base, main_#t~mem13#1.offset;havoc main_#t~mem13#1.base, main_#t~mem13#1.offset;call write~$Pointer$(main_~prev~0#1.base, main_~prev~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4);main_~prev~0#1.base, main_~prev~0#1.offset := main_~x~0#1.base, main_~x~0#1.offset;main_~x~0#1.base, main_~x~0#1.offset := main_~next~0#1.base, main_~next~0#1.offset; {2471#false} is VALID [2022-02-20 16:52:49,726 INFO L290 TraceCheckUtils]: 16: Hoare triple {2471#false} assume !(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0); {2471#false} is VALID [2022-02-20 16:52:49,726 INFO L290 TraceCheckUtils]: 17: Hoare triple {2471#false} main_~head~0#1.base, main_~head~0#1.offset := main_~prev~0#1.base, main_~prev~0#1.offset;main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {2471#false} is VALID [2022-02-20 16:52:49,727 INFO L290 TraceCheckUtils]: 18: Hoare triple {2471#false} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0);call main_#t~mem14#1 := read~int(main_~x~0#1.base, 4 + main_~x~0#1.offset, 4);main_~t1~0#1 := main_#t~mem14#1;havoc main_#t~mem14#1;main_~t2~0#1 := 0; {2471#false} is VALID [2022-02-20 16:52:49,727 INFO L290 TraceCheckUtils]: 19: Hoare triple {2471#false} assume 2 == main_~t1~0#1;call main_#t~mem15#1.base, main_#t~mem15#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);call main_#t~mem16#1 := read~int(main_#t~mem15#1.base, 4 + main_#t~mem15#1.offset, 4);main_~t2~0#1 := main_#t~mem16#1;havoc main_#t~mem15#1.base, main_#t~mem15#1.offset;havoc main_#t~mem16#1; {2471#false} is VALID [2022-02-20 16:52:49,727 INFO L290 TraceCheckUtils]: 20: Hoare triple {2471#false} assume !(2 != main_~t1~0#1 || 1 == main_~t2~0#1); {2471#false} is VALID [2022-02-20 16:52:49,727 INFO L290 TraceCheckUtils]: 21: Hoare triple {2471#false} assume !false; {2471#false} is VALID [2022-02-20 16:52:49,727 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 3 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 16:52:49,727 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:52:49,727 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [501292406] [2022-02-20 16:52:49,727 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [501292406] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 16:52:49,727 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1165039365] [2022-02-20 16:52:49,728 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-02-20 16:52:49,728 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:52:49,728 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 16:52:49,729 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:52:49,739 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:52:49,955 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2022-02-20 16:52:49,955 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 16:52:49,961 INFO L263 TraceCheckSpWp]: Trace formula consists of 250 conjuncts, 68 conjunts are in the unsatisfiable core [2022-02-20 16:52:49,976 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:52:49,979 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:52:49,989 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:52:50,161 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:52:50,165 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:52:50,165 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 26 [2022-02-20 16:52:50,184 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:52:50,187 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:52:50,189 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 26 [2022-02-20 16:52:50,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, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 7 [2022-02-20 16:52:50,221 INFO L356 Elim1Store]: treesize reduction 17, result has 29.2 percent of original size [2022-02-20 16:52:50,221 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 54 treesize of output 44 [2022-02-20 16:52:50,233 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:52:50,234 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 27 [2022-02-20 16:52:50,247 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 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 15 treesize of output 23 [2022-02-20 16:52:50,254 INFO L356 Elim1Store]: treesize reduction 4, result has 66.7 percent of original size [2022-02-20 16:52:50,254 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 15 treesize of output 15 [2022-02-20 16:52:50,258 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 8 treesize of output 7 [2022-02-20 16:52:50,386 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 30 [2022-02-20 16:52:50,405 INFO L356 Elim1Store]: treesize reduction 23, result has 17.9 percent of original size [2022-02-20 16:52:50,405 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 2 case distinctions, treesize of input 44 treesize of output 41 [2022-02-20 16:52:50,424 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 24 treesize of output 18 [2022-02-20 16:52:50,427 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 7 [2022-02-20 16:52:50,455 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:52:50,459 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:52:50,475 INFO L290 TraceCheckUtils]: 0: Hoare triple {2470#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(21, 2); {2470#true} is VALID [2022-02-20 16:52:50,476 INFO L290 TraceCheckUtils]: 1: Hoare triple {2470#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~mem4#1.base, main_#t~mem4#1.offset, main_#t~nondet2#1, main_#t~mem8#1.base, main_#t~mem8#1.offset, main_#t~mem5#1.base, main_#t~mem5#1.offset, main_#t~nondet6#1, main_#t~short7#1, main_#t~mem9#1.base, main_#t~mem9#1.offset, main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_#t~mem11#1.base, main_#t~mem11#1.offset, main_#t~mem12#1.base, main_#t~mem12#1.offset, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_~next~0#1.base, main_~next~0#1.offset, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1, main_#t~mem17#1, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~t1~0#1, main_~t2~0#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, main_~prev~0#1.base, main_~prev~0#1.offset;call main_#t~malloc1#1.base, main_#t~malloc1#1.offset := #Ultimate.allocOnHeap(8);main_~head~0#1.base, main_~head~0#1.offset := main_#t~malloc1#1.base, main_#t~malloc1#1.offset;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset;call write~$Pointer$(0, 0, main_~head~0#1.base, main_~head~0#1.offset, 4);call write~int(0, main_~head~0#1.base, 4 + main_~head~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {2484#(and (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} is VALID [2022-02-20 16:52:50,477 INFO L290 TraceCheckUtils]: 2: Hoare triple {2484#(and (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647; {2484#(and (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} is VALID [2022-02-20 16:52:50,477 INFO L290 TraceCheckUtils]: 3: Hoare triple {2484#(and (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} assume !(0 != main_#t~nondet2#1);havoc main_#t~nondet2#1; {2484#(and (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} is VALID [2022-02-20 16:52:50,477 INFO L290 TraceCheckUtils]: 4: Hoare triple {2484#(and (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {2494#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} is VALID [2022-02-20 16:52:50,478 INFO L290 TraceCheckUtils]: 5: Hoare triple {2494#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} call main_#t~mem5#1.base, main_#t~mem5#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_#t~short7#1 := main_#t~mem5#1.base != 0 || main_#t~mem5#1.offset != 0; {2494#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} is VALID [2022-02-20 16:52:50,478 INFO L290 TraceCheckUtils]: 6: Hoare triple {2494#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} assume !main_#t~short7#1; {2494#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} is VALID [2022-02-20 16:52:50,479 INFO L290 TraceCheckUtils]: 7: Hoare triple {2494#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} assume !main_#t~short7#1;havoc main_#t~mem5#1.base, main_#t~mem5#1.offset;havoc main_#t~nondet6#1;havoc main_#t~short7#1; {2494#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} is VALID [2022-02-20 16:52:50,479 INFO L290 TraceCheckUtils]: 8: Hoare triple {2494#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0); {2494#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} is VALID [2022-02-20 16:52:50,480 INFO L290 TraceCheckUtils]: 9: Hoare triple {2494#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} goto; {2494#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} is VALID [2022-02-20 16:52:50,481 INFO L290 TraceCheckUtils]: 10: Hoare triple {2494#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} call write~int(1, main_~x~0#1.base, 4 + main_~x~0#1.offset, 4);call main_#t~mem9#1.base, main_#t~mem9#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4); {2494#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} is VALID [2022-02-20 16:52:50,482 INFO L290 TraceCheckUtils]: 11: Hoare triple {2494#(and (= |ULTIMATE.start_main_~head~0#1.offset| |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} assume main_#t~mem9#1.base == 0 && main_#t~mem9#1.offset == 0;havoc main_#t~mem9#1.base, main_#t~mem9#1.offset;call main_#t~malloc10#1.base, main_#t~malloc10#1.offset := #Ultimate.allocOnHeap(8);call write~$Pointer$(main_#t~malloc10#1.base, main_#t~malloc10#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4);havoc main_#t~malloc10#1.base, main_#t~malloc10#1.offset;call main_#t~mem11#1.base, main_#t~mem11#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_~x~0#1.base, main_~x~0#1.offset := main_#t~mem11#1.base, main_#t~mem11#1.offset;havoc main_#t~mem11#1.base, main_#t~mem11#1.offset;call write~$Pointer$(0, 0, main_~x~0#1.base, main_~x~0#1.offset, 4);call write~int(2, main_~x~0#1.base, 4 + main_~x~0#1.offset, 4); {2516#(and (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) |ULTIMATE.start_main_~head~0#1.base|)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|)) 0) 0) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|)) 0)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0))} is VALID [2022-02-20 16:52:50,483 INFO L290 TraceCheckUtils]: 12: Hoare triple {2516#(and (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) |ULTIMATE.start_main_~head~0#1.base|)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|)) 0) 0) (= |ULTIMATE.start_main_~head~0#1.offset| 0) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|)) 0)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) 0))} main_~prev~0#1.base, main_~prev~0#1.offset := 0, 0;main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {2520#(and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 0) 0) (= |ULTIMATE.start_main_~x~0#1.offset| 0) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 0)) (not (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0))} is VALID [2022-02-20 16:52:50,484 INFO L290 TraceCheckUtils]: 13: Hoare triple {2520#(and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 0) 0) (= |ULTIMATE.start_main_~x~0#1.offset| 0) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) 0)) (not (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) 0))} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0);call main_#t~mem13#1.base, main_#t~mem13#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_~next~0#1.base, main_~next~0#1.offset := main_#t~mem13#1.base, main_#t~mem13#1.offset;havoc main_#t~mem13#1.base, main_#t~mem13#1.offset;call write~$Pointer$(main_~prev~0#1.base, main_~prev~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4);main_~prev~0#1.base, main_~prev~0#1.offset := main_~x~0#1.base, main_~x~0#1.offset;main_~x~0#1.base, main_~x~0#1.offset := main_~next~0#1.base, main_~next~0#1.offset; {2524#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) 0) 0) (= |ULTIMATE.start_main_~x~0#1.offset| 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) 0) 0))} is VALID [2022-02-20 16:52:50,485 INFO L290 TraceCheckUtils]: 14: Hoare triple {2524#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) 0) 0) (= |ULTIMATE.start_main_~x~0#1.offset| 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) 0) 0))} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0);call main_#t~mem13#1.base, main_#t~mem13#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_~next~0#1.base, main_~next~0#1.offset := main_#t~mem13#1.base, main_#t~mem13#1.offset;havoc main_#t~mem13#1.base, main_#t~mem13#1.offset;call write~$Pointer$(main_~prev~0#1.base, main_~prev~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4);main_~prev~0#1.base, main_~prev~0#1.offset := main_~x~0#1.base, main_~x~0#1.offset;main_~x~0#1.base, main_~x~0#1.offset := main_~next~0#1.base, main_~next~0#1.offset; {2477#(and (= |ULTIMATE.start_main_~x~0#1.offset| 0) (= |ULTIMATE.start_main_~x~0#1.base| 0))} is VALID [2022-02-20 16:52:50,485 INFO L290 TraceCheckUtils]: 15: Hoare triple {2477#(and (= |ULTIMATE.start_main_~x~0#1.offset| 0) (= |ULTIMATE.start_main_~x~0#1.base| 0))} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0);call main_#t~mem13#1.base, main_#t~mem13#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);main_~next~0#1.base, main_~next~0#1.offset := main_#t~mem13#1.base, main_#t~mem13#1.offset;havoc main_#t~mem13#1.base, main_#t~mem13#1.offset;call write~$Pointer$(main_~prev~0#1.base, main_~prev~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4);main_~prev~0#1.base, main_~prev~0#1.offset := main_~x~0#1.base, main_~x~0#1.offset;main_~x~0#1.base, main_~x~0#1.offset := main_~next~0#1.base, main_~next~0#1.offset; {2471#false} is VALID [2022-02-20 16:52:50,485 INFO L290 TraceCheckUtils]: 16: Hoare triple {2471#false} assume !(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0); {2471#false} is VALID [2022-02-20 16:52:50,485 INFO L290 TraceCheckUtils]: 17: Hoare triple {2471#false} main_~head~0#1.base, main_~head~0#1.offset := main_~prev~0#1.base, main_~prev~0#1.offset;main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {2471#false} is VALID [2022-02-20 16:52:50,486 INFO L290 TraceCheckUtils]: 18: Hoare triple {2471#false} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0);call main_#t~mem14#1 := read~int(main_~x~0#1.base, 4 + main_~x~0#1.offset, 4);main_~t1~0#1 := main_#t~mem14#1;havoc main_#t~mem14#1;main_~t2~0#1 := 0; {2471#false} is VALID [2022-02-20 16:52:50,486 INFO L290 TraceCheckUtils]: 19: Hoare triple {2471#false} assume 2 == main_~t1~0#1;call main_#t~mem15#1.base, main_#t~mem15#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);call main_#t~mem16#1 := read~int(main_#t~mem15#1.base, 4 + main_#t~mem15#1.offset, 4);main_~t2~0#1 := main_#t~mem16#1;havoc main_#t~mem15#1.base, main_#t~mem15#1.offset;havoc main_#t~mem16#1; {2471#false} is VALID [2022-02-20 16:52:50,486 INFO L290 TraceCheckUtils]: 20: Hoare triple {2471#false} assume !(2 != main_~t1~0#1 || 1 == main_~t2~0#1); {2471#false} is VALID [2022-02-20 16:52:50,486 INFO L290 TraceCheckUtils]: 21: Hoare triple {2471#false} assume !false; {2471#false} is VALID [2022-02-20 16:52:50,486 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 3 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 16:52:50,486 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 16:52:50,543 WARN L838 $PredicateComparison]: unable to prove that (and (forall ((v_ArrVal_536 (Array Int Int))) (= (select (select (store |c_#memory_$Pointer$.base| |c_ULTIMATE.start_main_~x~0#1.base| v_ArrVal_536) (select (select |c_#memory_$Pointer$.base| |c_ULTIMATE.start_main_~x~0#1.base|) |c_ULTIMATE.start_main_~x~0#1.offset|)) (select (select |c_#memory_$Pointer$.offset| |c_ULTIMATE.start_main_~x~0#1.base|) |c_ULTIMATE.start_main_~x~0#1.offset|)) 0)) (forall ((v_ArrVal_537 (Array Int Int))) (= (select (select (store |c_#memory_$Pointer$.offset| |c_ULTIMATE.start_main_~x~0#1.base| v_ArrVal_537) (select (select |c_#memory_$Pointer$.base| |c_ULTIMATE.start_main_~x~0#1.base|) |c_ULTIMATE.start_main_~x~0#1.offset|)) (select (select |c_#memory_$Pointer$.offset| |c_ULTIMATE.start_main_~x~0#1.base|) |c_ULTIMATE.start_main_~x~0#1.offset|)) 0))) is different from false [2022-02-20 16:52:50,583 WARN L838 $PredicateComparison]: unable to prove that (and (forall ((v_ArrVal_537 (Array Int Int))) (= (select (select (store |c_#memory_$Pointer$.offset| |c_ULTIMATE.start_main_~head~0#1.base| v_ArrVal_537) (select (select |c_#memory_$Pointer$.base| |c_ULTIMATE.start_main_~head~0#1.base|) |c_ULTIMATE.start_main_~head~0#1.offset|)) (select (select |c_#memory_$Pointer$.offset| |c_ULTIMATE.start_main_~head~0#1.base|) |c_ULTIMATE.start_main_~head~0#1.offset|)) 0)) (forall ((v_ArrVal_536 (Array Int Int))) (= (select (select (store |c_#memory_$Pointer$.base| |c_ULTIMATE.start_main_~head~0#1.base| v_ArrVal_536) (select (select |c_#memory_$Pointer$.base| |c_ULTIMATE.start_main_~head~0#1.base|) |c_ULTIMATE.start_main_~head~0#1.offset|)) (select (select |c_#memory_$Pointer$.offset| |c_ULTIMATE.start_main_~head~0#1.base|) |c_ULTIMATE.start_main_~head~0#1.offset|)) 0))) is different from false [2022-02-20 16:52:50,676 INFO L356 Elim1Store]: treesize reduction 13, result has 69.0 percent of original size [2022-02-20 16:52:50,677 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 4 case distinctions, treesize of input 333 treesize of output 308 [2022-02-20 16:52:50,740 INFO L356 Elim1Store]: treesize reduction 13, result has 69.0 percent of original size [2022-02-20 16:52:50,741 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 4 case distinctions, treesize of input 558 treesize of output 478 [2022-02-20 16:52:50,939 INFO L356 Elim1Store]: treesize reduction 42, result has 77.3 percent of original size [2022-02-20 16:52:50,941 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 5 select indices, 5 select index equivalence classes, 0 disjoint index pairs (out of 10 index pairs), introduced 5 new quantified variables, introduced 10 case distinctions, treesize of input 2722 treesize of output 2624 [2022-02-20 16:52:51,224 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 16:52:51,225 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 6 select indices, 6 select index equivalence classes, 0 disjoint index pairs (out of 15 index pairs), introduced 7 new quantified variables, introduced 15 case distinctions, treesize of input 5881 treesize of output 5599 [2022-02-20 16:52:51,699 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 16:52:51,700 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 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 9044 treesize of output 8910 [2022-02-20 16:52:52,648 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 16:52:52,649 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 0 disjoint index pairs (out of 6 index pairs), introduced 5 new quantified variables, introduced 6 case distinctions, treesize of input 11209 treesize of output 11077 [2022-02-20 16:52:53,677 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 16:52:53,678 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 0 disjoint index pairs (out of 10 index pairs), introduced 5 new quantified variables, introduced 10 case distinctions, treesize of input 9519 treesize of output 9380 [2022-02-20 16:52:54,006 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 16:52:54,007 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 0 disjoint index pairs (out of 10 index pairs), introduced 5 new quantified variables, introduced 10 case distinctions, treesize of input 9259 treesize of output 9228 [2022-02-20 16:52:54,411 WARN L325 FreeRefinementEngine]: Global settings require throwing the following exception [2022-02-20 16:52:54,428 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:52:54,611 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:52:54,612 FATAL L? ?]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction has thrown an exception: java.lang.ArithmeticException: BigInteger out of long range at java.base/java.math.BigInteger.longValueExact(BigInteger.java:4765) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.computeDerApplicabilityScore(QuantifierPusher.java:685) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.selectBestEliminatee(QuantifierPusher.java:668) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.doit(QuantifierPusher.java:604) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.tryToPushOverDualFiniteConnective2(QuantifierPusher.java:446) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.tryToPushOverDualFiniteConnective(QuantifierPusher.java:355) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.QuantifierPushTermWalker.convert(QuantifierPushTermWalker.java:172) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.QuantifierPushTermWalker.convert(QuantifierPushTermWalker.java:1) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.TermContextTransformationEngine.transform(TermContextTransformationEngine.java:65) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.TermContextTransformationEngine.transform(TermContextTransformationEngine.java:61) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.QuantifierPushTermWalker.eliminate(QuantifierPushTermWalker.java:261) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.doit(QuantifierPusher.java:635) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.tryToPushOverDualFiniteConnective2(QuantifierPusher.java:446) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.tryToPushOverDualFiniteConnective(QuantifierPusher.java:355) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.QuantifierPushTermWalker.convert(QuantifierPushTermWalker.java:172) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.QuantifierPushTermWalker.convert(QuantifierPushTermWalker.java:1) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.TermContextTransformationEngine.transform(TermContextTransformationEngine.java:65) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.TermContextTransformationEngine.transform(TermContextTransformationEngine.java:61) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.QuantifierPushTermWalker.eliminate(QuantifierPushTermWalker.java:261) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.QuantifierPushTermWalker.eliminate(QuantifierPushTermWalker.java:247) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.PartialQuantifierElimination.eliminate(PartialQuantifierElimination.java:92) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.predicates.IterativePredicateTransformer$QuantifierEliminationPostprocessor.postprocess(IterativePredicateTransformer.java:238) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.predicates.IterativePredicateTransformer.applyPostprocessors(IterativePredicateTransformer.java:420) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.predicates.IterativePredicateTransformer.computeBackwardSequence(IterativePredicateTransformer.java:399) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.predicates.IterativePredicateTransformer.computeWeakestPreconditionSequence(IterativePredicateTransformer.java:271) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.TraceCheckSpWp.computeInterpolantsUsingUnsatCore(TraceCheckSpWp.java:342) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.TraceCheckSpWp.computeInterpolants(TraceCheckSpWp.java:185) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.TraceCheckSpWp.(TraceCheckSpWp.java:163) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleSpWp.construct(IpTcStrategyModuleSpWp.java:108) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleSpWp.construct(IpTcStrategyModuleSpWp.java:1) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleBase.getOrConstruct(IpTcStrategyModuleBase.java:100) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleBase.getInterpolantComputationStatus(IpTcStrategyModuleBase.java:76) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.AutomatonFreeRefinementEngine.tryExecuteInterpolantGenerator(AutomatonFreeRefinementEngine.java:273) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.AutomatonFreeRefinementEngine.generateProof(AutomatonFreeRefinementEngine.java:155) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.AutomatonFreeRefinementEngine.executeStrategy(AutomatonFreeRefinementEngine.java:145) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.AutomatonFreeRefinementEngine.(AutomatonFreeRefinementEngine.java:93) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceAbstractionRefinementEngine.(TraceAbstractionRefinementEngine.java:79) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.BasicCegarLoop.isCounterexampleFeasible(BasicCegarLoop.java:610) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterate(AbstractCegarLoop.java:413) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.startCegar(AbstractCegarLoop.java:348) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.runCegar(AbstractCegarLoop.java:330) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.CegarLoopUtils.getCegarLoopResult(CegarLoopUtils.java:56) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.executeCegarLoop(TraceAbstractionStarter.java:414) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.analyseProgram(TraceAbstractionStarter.java:304) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.analyseSequentialProgram(TraceAbstractionStarter.java:264) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:177) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:156) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:123) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:168) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:151) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:232) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:226) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:142) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:104) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:320) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) [2022-02-20 16:52:54,618 INFO L158 Benchmark]: Toolchain (without parser) took 16122.03ms. Allocated memory was 104.9MB in the beginning and 323.0MB in the end (delta: 218.1MB). Free memory was 73.5MB in the beginning and 140.5MB in the end (delta: -67.0MB). Peak memory consumption was 192.1MB. Max. memory is 16.1GB. [2022-02-20 16:52:54,618 INFO L158 Benchmark]: CDTParser took 0.17ms. Allocated memory is still 104.9MB. Free memory was 61.7MB in the beginning and 61.7MB in the end (delta: 41.7kB). There was no memory consumed. Max. memory is 16.1GB. [2022-02-20 16:52:54,618 INFO L158 Benchmark]: CACSL2BoogieTranslator took 424.37ms. Allocated memory is still 104.9MB. Free memory was 73.2MB in the beginning and 71.5MB in the end (delta: 1.7MB). Peak memory consumption was 6.3MB. Max. memory is 16.1GB. [2022-02-20 16:52:54,618 INFO L158 Benchmark]: Boogie Procedure Inliner took 56.85ms. Allocated memory is still 104.9MB. Free memory was 71.5MB in the beginning and 69.1MB in the end (delta: 2.4MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2022-02-20 16:52:54,618 INFO L158 Benchmark]: Boogie Preprocessor took 32.82ms. Allocated memory is still 104.9MB. Free memory was 69.1MB in the beginning and 67.0MB in the end (delta: 2.1MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2022-02-20 16:52:54,619 INFO L158 Benchmark]: RCFGBuilder took 501.07ms. Allocated memory was 104.9MB in the beginning and 125.8MB in the end (delta: 21.0MB). Free memory was 67.0MB in the beginning and 101.4MB in the end (delta: -34.4MB). Peak memory consumption was 23.8MB. Max. memory is 16.1GB. [2022-02-20 16:52:54,619 INFO L158 Benchmark]: TraceAbstraction took 15099.48ms. Allocated memory was 125.8MB in the beginning and 323.0MB in the end (delta: 197.1MB). Free memory was 100.8MB in the beginning and 140.5MB in the end (delta: -39.6MB). Peak memory consumption was 198.4MB. Max. memory is 16.1GB. [2022-02-20 16:52:54,620 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.17ms. Allocated memory is still 104.9MB. Free memory was 61.7MB in the beginning and 61.7MB in the end (delta: 41.7kB). There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 424.37ms. Allocated memory is still 104.9MB. Free memory was 73.2MB in the beginning and 71.5MB in the end (delta: 1.7MB). Peak memory consumption was 6.3MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 56.85ms. Allocated memory is still 104.9MB. Free memory was 71.5MB in the beginning and 69.1MB in the end (delta: 2.4MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * Boogie Preprocessor took 32.82ms. Allocated memory is still 104.9MB. Free memory was 69.1MB in the beginning and 67.0MB in the end (delta: 2.1MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * RCFGBuilder took 501.07ms. Allocated memory was 104.9MB in the beginning and 125.8MB in the end (delta: 21.0MB). Free memory was 67.0MB in the beginning and 101.4MB in the end (delta: -34.4MB). Peak memory consumption was 23.8MB. Max. memory is 16.1GB. * TraceAbstraction took 15099.48ms. Allocated memory was 125.8MB in the beginning and 323.0MB in the end (delta: 197.1MB). Free memory was 100.8MB in the beginning and 140.5MB in the end (delta: -39.6MB). Peak memory consumption was 198.4MB. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - ExceptionOrErrorResult: ArithmeticException: BigInteger out of long range de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: ArithmeticException: BigInteger out of long range: java.base/java.math.BigInteger.longValueExact(BigInteger.java:4765) RESULT: Ultimate could not prove your program: Toolchain returned no result. [2022-02-20 16:52:54,645 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Ended with exit code 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/forester-heap/sll-reverse_simple.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 a7651578256dc791e0a036690d99e12094845a58f582fb99f9abee48c7c5dfba --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 16:52:56,537 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 16:52:56,539 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 16:52:56,567 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 16:52:56,568 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 16:52:56,569 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 16:52:56,570 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 16:52:56,574 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 16:52:56,575 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 16:52:56,576 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 16:52:56,577 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 16:52:56,578 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 16:52:56,578 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 16:52:56,579 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 16:52:56,580 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 16:52:56,581 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 16:52:56,581 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 16:52:56,582 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 16:52:56,587 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 16:52:56,598 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 16:52:56,599 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 16:52:56,604 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 16:52:56,605 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 16:52:56,606 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 16:52:56,608 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 16:52:56,608 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 16:52:56,608 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 16:52:56,609 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 16:52:56,609 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 16:52:56,610 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 16:52:56,610 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 16:52:56,611 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 16:52:56,612 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 16:52:56,612 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 16:52:56,613 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 16:52:56,613 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 16:52:56,614 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 16:52:56,614 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 16:52:56,614 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 16:52:56,615 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 16:52:56,616 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 16:52:56,621 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:52:56,656 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 16:52:56,656 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 16:52:56,657 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 16:52:56,657 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 16:52:56,658 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 16:52:56,658 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 16:52:56,659 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 16:52:56,659 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 16:52:56,659 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 16:52:56,659 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 16:52:56,660 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 16:52:56,660 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 16:52:56,660 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 16:52:56,660 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 16:52:56,660 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 16:52:56,661 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 16:52:56,661 INFO L138 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2022-02-20 16:52:56,661 INFO L138 SettingsManager]: * Use bitvectors instead of ints=true [2022-02-20 16:52:56,661 INFO L138 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2022-02-20 16:52:56,661 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 16:52:56,661 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 16:52:56,661 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 16:52:56,661 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 16:52:56,662 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 16:52:56,662 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 16:52:56,662 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 16:52:56,662 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 16:52:56,667 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 16:52:56,667 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 16:52:56,667 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 16:52:56,668 INFO L138 SettingsManager]: * Trace refinement strategy=WOLF [2022-02-20 16:52:56,668 INFO L138 SettingsManager]: * Command for external solver=cvc4 --incremental --print-success --lang smt [2022-02-20 16:52:56,668 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 16:52:56,668 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 16:52:56,668 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 16:52:56,669 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2022-02-20 16:52:56,669 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 -> a7651578256dc791e0a036690d99e12094845a58f582fb99f9abee48c7c5dfba [2022-02-20 16:52:56,949 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 16:52:56,976 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 16:52:56,978 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 16:52:56,979 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 16:52:56,980 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 16:52:56,981 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/forester-heap/sll-reverse_simple.i [2022-02-20 16:52:57,046 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/7e0878f3c/e2df3430782640b3823c8a6768201961/FLAG600386b53 [2022-02-20 16:52:57,544 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 16:52:57,544 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/forester-heap/sll-reverse_simple.i [2022-02-20 16:52:57,554 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/7e0878f3c/e2df3430782640b3823c8a6768201961/FLAG600386b53 [2022-02-20 16:52:58,048 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/7e0878f3c/e2df3430782640b3823c8a6768201961 [2022-02-20 16:52:58,050 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 16:52:58,051 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 16:52:58,055 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 16:52:58,055 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 16:52:58,061 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 16:52:58,062 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 04:52:58" (1/1) ... [2022-02-20 16:52:58,063 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@7634607a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:52:58, skipping insertion in model container [2022-02-20 16:52:58,064 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 04:52:58" (1/1) ... [2022-02-20 16:52:58,070 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 16:52:58,111 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 16:52:58,432 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/forester-heap/sll-reverse_simple.i[22251,22264] [2022-02-20 16:52:58,437 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/forester-heap/sll-reverse_simple.i[22336,22349] [2022-02-20 16:52:58,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/forester-heap/sll-reverse_simple.i[22829,22842] [2022-02-20 16:52:58,458 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 16:52:58,478 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 16:52:58,520 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/forester-heap/sll-reverse_simple.i[22251,22264] [2022-02-20 16:52:58,521 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/forester-heap/sll-reverse_simple.i[22336,22349] [2022-02-20 16:52:58,534 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/forester-heap/sll-reverse_simple.i[22829,22842] [2022-02-20 16:52:58,539 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 16:52:58,572 INFO L208 MainTranslator]: Completed translation [2022-02-20 16:52:58,572 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:52:58 WrapperNode [2022-02-20 16:52:58,572 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 16:52:58,573 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 16:52:58,573 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 16:52:58,574 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 16:52:58,579 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:52:58" (1/1) ... [2022-02-20 16:52:58,612 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:52:58" (1/1) ... [2022-02-20 16:52:58,647 INFO L137 Inliner]: procedures = 122, calls = 35, calls flagged for inlining = 2, calls inlined = 2, statements flattened = 130 [2022-02-20 16:52:58,648 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 16:52:58,649 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 16:52:58,649 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 16:52:58,649 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 16:52:58,656 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:52:58" (1/1) ... [2022-02-20 16:52:58,656 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:52:58" (1/1) ... [2022-02-20 16:52:58,669 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:52:58" (1/1) ... [2022-02-20 16:52:58,670 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:52:58" (1/1) ... [2022-02-20 16:52:58,685 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:52:58" (1/1) ... [2022-02-20 16:52:58,689 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:52:58" (1/1) ... [2022-02-20 16:52:58,691 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:52:58" (1/1) ... [2022-02-20 16:52:58,706 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 16:52:58,707 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 16:52:58,707 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 16:52:58,707 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 16:52:58,708 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:52:58" (1/1) ... [2022-02-20 16:52:58,717 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 16:52:58,725 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 16:52:58,741 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:52:58,756 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:52:58,781 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2022-02-20 16:52:58,781 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2022-02-20 16:52:58,781 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 16:52:58,781 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2022-02-20 16:52:58,781 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2022-02-20 16:52:58,781 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 16:52:58,782 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2022-02-20 16:52:58,782 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1 [2022-02-20 16:52:58,782 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 16:52:58,782 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 16:52:58,864 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 16:52:58,866 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 16:52:59,298 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 16:52:59,303 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 16:52:59,303 INFO L299 CfgBuilder]: Removed 11 assume(true) statements. [2022-02-20 16:52:59,305 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 04:52:59 BoogieIcfgContainer [2022-02-20 16:52:59,305 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 16:52:59,306 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 16:52:59,306 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 16:52:59,309 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 16:52:59,309 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 04:52:58" (1/3) ... [2022-02-20 16:52:59,309 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@418f704 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 04:52:59, skipping insertion in model container [2022-02-20 16:52:59,310 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:52:58" (2/3) ... [2022-02-20 16:52:59,310 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@418f704 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 04:52:59, skipping insertion in model container [2022-02-20 16:52:59,310 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 04:52:59" (3/3) ... [2022-02-20 16:52:59,311 INFO L111 eAbstractionObserver]: Analyzing ICFG sll-reverse_simple.i [2022-02-20 16:52:59,315 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 16:52:59,315 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 3 error locations. [2022-02-20 16:52:59,349 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 16:52:59,355 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:52:59,356 INFO L340 AbstractCegarLoop]: Starting to check reachability of 3 error locations. [2022-02-20 16:52:59,369 INFO L276 IsEmpty]: Start isEmpty. Operand has 35 states, 31 states have (on average 1.8064516129032258) internal successors, (56), 34 states have internal predecessors, (56), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:59,372 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2022-02-20 16:52:59,373 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:52:59,373 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:52:59,374 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr2ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:52:59,381 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:52:59,382 INFO L85 PathProgramCache]: Analyzing trace with hash 1808873062, now seen corresponding path program 1 times [2022-02-20 16:52:59,392 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:52:59,393 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1803469319] [2022-02-20 16:52:59,393 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:52:59,394 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:52:59,394 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:52:59,399 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:52:59,404 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:52:59,551 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:52:59,554 INFO L263 TraceCheckSpWp]: Trace formula consists of 44 conjuncts, 1 conjunts are in the unsatisfiable core [2022-02-20 16:52:59,566 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:52:59,569 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:52:59,630 INFO L290 TraceCheckUtils]: 0: Hoare triple {38#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(21bv32, 2bv32); {38#true} is VALID [2022-02-20 16:52:59,630 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~mem4#1.base, main_#t~mem4#1.offset, main_#t~nondet2#1, main_#t~mem7#1.base, main_#t~mem7#1.offset, main_#t~mem5#1.base, main_#t~mem5#1.offset, main_#t~nondet6#1, main_#t~mem8#1.base, main_#t~mem8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~mem11#1.base, main_#t~mem11#1.offset, main_#t~mem12#1.base, main_#t~mem12#1.offset, main_~next~0#1.base, main_~next~0#1.offset, main_#t~mem13#1, main_#t~mem14#1.base, main_#t~mem14#1.offset, main_#t~mem15#1, main_#t~mem16#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_~t1~0#1, main_~t2~0#1, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, main_~prev~0#1.base, main_~prev~0#1.offset;call main_#t~malloc1#1.base, main_#t~malloc1#1.offset := #Ultimate.allocOnHeap(8bv32);main_~head~0#1.base, main_~head~0#1.offset := main_#t~malloc1#1.base, main_#t~malloc1#1.offset;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset;call write~$Pointer$(0bv32, 0bv32, main_~head~0#1.base, main_~head~0#1.offset, 4bv32);call write~intINTTYPE4(0bv32, main_~head~0#1.base, ~bvadd32(4bv32, main_~head~0#1.offset), 4bv32);main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {38#true} is VALID [2022-02-20 16:52:59,631 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#true} assume !(0bv32 != main_#t~nondet2#1);havoc main_#t~nondet2#1; {38#true} is VALID [2022-02-20 16:52:59,631 INFO L290 TraceCheckUtils]: 3: Hoare triple {38#true} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {38#true} is VALID [2022-02-20 16:52:59,632 INFO L290 TraceCheckUtils]: 4: Hoare triple {38#true} assume !true; {39#false} is VALID [2022-02-20 16:52:59,632 INFO L290 TraceCheckUtils]: 5: Hoare triple {39#false} assume !(main_~x~0#1.base != 0bv32 || main_~x~0#1.offset != 0bv32); {39#false} is VALID [2022-02-20 16:52:59,632 INFO L290 TraceCheckUtils]: 6: Hoare triple {39#false} assume !false; {39#false} is VALID [2022-02-20 16:52:59,633 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 16:52:59,634 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 16:52:59,634 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 16:52:59,634 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1803469319] [2022-02-20 16:52:59,635 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1803469319] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:52:59,635 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:52:59,635 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 16:52:59,636 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [394870549] [2022-02-20 16:52:59,637 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:52:59,640 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 3.5) internal successors, (7), 2 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 7 [2022-02-20 16:52:59,641 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:52:59,644 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 2 states, 2 states have (on average 3.5) internal successors, (7), 2 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:59,658 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 7 edges. 7 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:52:59,658 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-02-20 16:52:59,658 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 16:52:59,680 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-02-20 16:52:59,681 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 16:52:59,684 INFO L87 Difference]: Start difference. First operand has 35 states, 31 states have (on average 1.8064516129032258) internal successors, (56), 34 states have internal predecessors, (56), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand has 2 states, 2 states have (on average 3.5) internal successors, (7), 2 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:59,788 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:52:59,788 INFO L93 Difference]: Finished difference Result 67 states and 107 transitions. [2022-02-20 16:52:59,788 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-02-20 16:52:59,789 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 3.5) internal successors, (7), 2 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 7 [2022-02-20 16:52:59,789 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:52:59,790 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 3.5) internal successors, (7), 2 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:59,796 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 107 transitions. [2022-02-20 16:52:59,796 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 3.5) internal successors, (7), 2 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:59,800 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 107 transitions. [2022-02-20 16:52:59,800 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 107 transitions. [2022-02-20 16:52:59,905 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 107 edges. 107 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:52:59,912 INFO L225 Difference]: With dead ends: 67 [2022-02-20 16:52:59,912 INFO L226 Difference]: Without dead ends: 29 [2022-02-20 16:52:59,914 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 6 GetRequests, 6 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:52:59,917 INFO L933 BasicCegarLoop]: 42 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, 42 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:52:59,918 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 42 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 16:52:59,938 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2022-02-20 16:52:59,946 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 29. [2022-02-20 16:52:59,947 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:52:59,947 INFO L82 GeneralOperation]: Start isEquivalent. First operand 29 states. Second operand has 29 states, 26 states have (on average 1.3461538461538463) internal successors, (35), 28 states have internal predecessors, (35), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:59,948 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand has 29 states, 26 states have (on average 1.3461538461538463) internal successors, (35), 28 states have internal predecessors, (35), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:59,949 INFO L87 Difference]: Start difference. First operand 29 states. Second operand has 29 states, 26 states have (on average 1.3461538461538463) internal successors, (35), 28 states have internal predecessors, (35), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:59,951 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:52:59,951 INFO L93 Difference]: Finished difference Result 29 states and 35 transitions. [2022-02-20 16:52:59,952 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 35 transitions. [2022-02-20 16:52:59,952 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:52:59,952 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:52:59,953 INFO L74 IsIncluded]: Start isIncluded. First operand has 29 states, 26 states have (on average 1.3461538461538463) internal successors, (35), 28 states have internal predecessors, (35), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 29 states. [2022-02-20 16:52:59,953 INFO L87 Difference]: Start difference. First operand has 29 states, 26 states have (on average 1.3461538461538463) internal successors, (35), 28 states have internal predecessors, (35), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 29 states. [2022-02-20 16:52:59,955 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:52:59,956 INFO L93 Difference]: Finished difference Result 29 states and 35 transitions. [2022-02-20 16:52:59,956 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 35 transitions. [2022-02-20 16:52:59,956 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:52:59,956 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:52:59,957 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:52:59,957 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:52:59,957 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 26 states have (on average 1.3461538461538463) internal successors, (35), 28 states have internal predecessors, (35), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:59,959 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 35 transitions. [2022-02-20 16:52:59,960 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 35 transitions. Word has length 7 [2022-02-20 16:52:59,960 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:52:59,960 INFO L470 AbstractCegarLoop]: Abstraction has 29 states and 35 transitions. [2022-02-20 16:52:59,961 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 3.5) internal successors, (7), 2 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:52:59,961 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 35 transitions. [2022-02-20 16:52:59,961 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 9 [2022-02-20 16:52:59,961 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:52:59,961 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:52:59,975 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:53:00,172 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:53:00,172 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr2ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:53:00,173 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:53:00,173 INFO L85 PathProgramCache]: Analyzing trace with hash 239687661, now seen corresponding path program 1 times [2022-02-20 16:53:00,174 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:53:00,174 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [502285627] [2022-02-20 16:53:00,174 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:53:00,174 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:53:00,175 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:53:00,176 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:53:00,177 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:53:00,233 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:53:00,235 INFO L263 TraceCheckSpWp]: Trace formula consists of 46 conjuncts, 3 conjunts are in the unsatisfiable core [2022-02-20 16:53:00,244 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:53:00,245 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:53:00,293 INFO L290 TraceCheckUtils]: 0: Hoare triple {232#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(21bv32, 2bv32); {232#true} is VALID [2022-02-20 16:53:00,293 INFO L290 TraceCheckUtils]: 1: Hoare triple {232#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~mem4#1.base, main_#t~mem4#1.offset, main_#t~nondet2#1, main_#t~mem7#1.base, main_#t~mem7#1.offset, main_#t~mem5#1.base, main_#t~mem5#1.offset, main_#t~nondet6#1, main_#t~mem8#1.base, main_#t~mem8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~mem11#1.base, main_#t~mem11#1.offset, main_#t~mem12#1.base, main_#t~mem12#1.offset, main_~next~0#1.base, main_~next~0#1.offset, main_#t~mem13#1, main_#t~mem14#1.base, main_#t~mem14#1.offset, main_#t~mem15#1, main_#t~mem16#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_~t1~0#1, main_~t2~0#1, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, main_~prev~0#1.base, main_~prev~0#1.offset;call main_#t~malloc1#1.base, main_#t~malloc1#1.offset := #Ultimate.allocOnHeap(8bv32);main_~head~0#1.base, main_~head~0#1.offset := main_#t~malloc1#1.base, main_#t~malloc1#1.offset;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset;call write~$Pointer$(0bv32, 0bv32, main_~head~0#1.base, main_~head~0#1.offset, 4bv32);call write~intINTTYPE4(0bv32, main_~head~0#1.base, ~bvadd32(4bv32, main_~head~0#1.offset), 4bv32);main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {240#(not (= |ULTIMATE.start_main_~head~0#1.base| (_ bv0 32)))} is VALID [2022-02-20 16:53:00,294 INFO L290 TraceCheckUtils]: 2: Hoare triple {240#(not (= |ULTIMATE.start_main_~head~0#1.base| (_ bv0 32)))} assume !(0bv32 != main_#t~nondet2#1);havoc main_#t~nondet2#1; {240#(not (= |ULTIMATE.start_main_~head~0#1.base| (_ bv0 32)))} is VALID [2022-02-20 16:53:00,295 INFO L290 TraceCheckUtils]: 3: Hoare triple {240#(not (= |ULTIMATE.start_main_~head~0#1.base| (_ bv0 32)))} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {247#(not (= |ULTIMATE.start_main_~x~0#1.base| (_ bv0 32)))} is VALID [2022-02-20 16:53:00,295 INFO L290 TraceCheckUtils]: 4: Hoare triple {247#(not (= |ULTIMATE.start_main_~x~0#1.base| (_ bv0 32)))} call main_#t~mem5#1.base, main_#t~mem5#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4bv32); {247#(not (= |ULTIMATE.start_main_~x~0#1.base| (_ bv0 32)))} is VALID [2022-02-20 16:53:00,296 INFO L290 TraceCheckUtils]: 5: Hoare triple {247#(not (= |ULTIMATE.start_main_~x~0#1.base| (_ bv0 32)))} assume !((main_#t~mem5#1.base != 0bv32 || main_#t~mem5#1.offset != 0bv32) && 0bv32 != main_#t~nondet6#1);havoc main_#t~mem5#1.base, main_#t~mem5#1.offset;havoc main_#t~nondet6#1; {247#(not (= |ULTIMATE.start_main_~x~0#1.base| (_ bv0 32)))} is VALID [2022-02-20 16:53:00,297 INFO L290 TraceCheckUtils]: 6: Hoare triple {247#(not (= |ULTIMATE.start_main_~x~0#1.base| (_ bv0 32)))} assume !(main_~x~0#1.base != 0bv32 || main_~x~0#1.offset != 0bv32); {233#false} is VALID [2022-02-20 16:53:00,297 INFO L290 TraceCheckUtils]: 7: Hoare triple {233#false} assume !false; {233#false} is VALID [2022-02-20 16:53:00,297 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 16:53:00,297 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 16:53:00,298 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 16:53:00,298 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [502285627] [2022-02-20 16:53:00,298 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [502285627] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:53:00,298 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:53:00,298 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 16:53:00,299 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2098067112] [2022-02-20 16:53:00,299 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:53:00,300 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 2.0) internal successors, (8), 4 states have internal predecessors, (8), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 8 [2022-02-20 16:53:00,300 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:53:00,300 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 2.0) internal successors, (8), 4 states have internal predecessors, (8), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:53:00,311 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:53:00,311 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 16:53:00,311 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 16:53:00,312 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 16:53:00,312 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 16:53:00,312 INFO L87 Difference]: Start difference. First operand 29 states and 35 transitions. Second operand has 4 states, 4 states have (on average 2.0) internal successors, (8), 4 states have internal predecessors, (8), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:53:00,618 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:53:00,618 INFO L93 Difference]: Finished difference Result 54 states and 65 transitions. [2022-02-20 16:53:00,618 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 16:53:00,618 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 2.0) internal successors, (8), 4 states have internal predecessors, (8), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 8 [2022-02-20 16:53:00,618 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:53:00,619 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 2.0) internal successors, (8), 4 states have internal predecessors, (8), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:53:00,620 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 65 transitions. [2022-02-20 16:53:00,620 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 2.0) internal successors, (8), 4 states have internal predecessors, (8), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:53:00,622 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 65 transitions. [2022-02-20 16:53:00,622 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 65 transitions. [2022-02-20 16:53:00,696 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:53:00,697 INFO L225 Difference]: With dead ends: 54 [2022-02-20 16:53:00,697 INFO L226 Difference]: Without dead ends: 40 [2022-02-20 16:53:00,698 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 8 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2022-02-20 16:53:00,699 INFO L933 BasicCegarLoop]: 24 mSDtfsCounter, 35 mSDsluCounter, 25 mSDsCounter, 0 mSdLazyCounter, 28 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 49 SdHoareTripleChecker+Invalid, 42 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 28 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 16:53:00,699 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [35 Valid, 49 Invalid, 42 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 28 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 16:53:00,700 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 40 states. [2022-02-20 16:53:00,703 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 40 to 34. [2022-02-20 16:53:00,703 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:53:00,703 INFO L82 GeneralOperation]: Start isEquivalent. First operand 40 states. Second operand has 34 states, 31 states have (on average 1.3225806451612903) internal successors, (41), 33 states have internal predecessors, (41), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:53:00,704 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand has 34 states, 31 states have (on average 1.3225806451612903) internal successors, (41), 33 states have internal predecessors, (41), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:53:00,704 INFO L87 Difference]: Start difference. First operand 40 states. Second operand has 34 states, 31 states have (on average 1.3225806451612903) internal successors, (41), 33 states have internal predecessors, (41), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:53:00,706 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:53:00,706 INFO L93 Difference]: Finished difference Result 40 states and 48 transitions. [2022-02-20 16:53:00,706 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 48 transitions. [2022-02-20 16:53:00,707 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:53:00,707 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:53:00,707 INFO L74 IsIncluded]: Start isIncluded. First operand has 34 states, 31 states have (on average 1.3225806451612903) internal successors, (41), 33 states have internal predecessors, (41), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 40 states. [2022-02-20 16:53:00,707 INFO L87 Difference]: Start difference. First operand has 34 states, 31 states have (on average 1.3225806451612903) internal successors, (41), 33 states have internal predecessors, (41), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 40 states. [2022-02-20 16:53:00,709 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:53:00,709 INFO L93 Difference]: Finished difference Result 40 states and 48 transitions. [2022-02-20 16:53:00,709 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 48 transitions. [2022-02-20 16:53:00,710 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:53:00,710 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:53:00,710 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:53:00,710 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:53:00,710 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 31 states have (on average 1.3225806451612903) internal successors, (41), 33 states have internal predecessors, (41), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:53:00,712 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 41 transitions. [2022-02-20 16:53:00,712 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 41 transitions. Word has length 8 [2022-02-20 16:53:00,712 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:53:00,712 INFO L470 AbstractCegarLoop]: Abstraction has 34 states and 41 transitions. [2022-02-20 16:53:00,712 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 2.0) internal successors, (8), 4 states have internal predecessors, (8), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:53:00,713 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 41 transitions. [2022-02-20 16:53:00,713 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 14 [2022-02-20 16:53:00,713 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:53:00,713 INFO L514 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:53:00,729 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:53:00,922 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:53:00,923 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr2ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:53:00,923 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:53:00,924 INFO L85 PathProgramCache]: Analyzing trace with hash -1200905122, now seen corresponding path program 1 times [2022-02-20 16:53:00,924 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:53:00,924 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1264644366] [2022-02-20 16:53:00,924 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:53:00,925 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:53:00,925 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:53:00,926 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:53:00,943 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:53:00,980 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:53:00,982 INFO L263 TraceCheckSpWp]: Trace formula consists of 54 conjuncts, 7 conjunts are in the unsatisfiable core [2022-02-20 16:53:00,992 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:53:00,993 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:53:01,176 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 17 [2022-02-20 16:53:01,181 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 21 treesize of output 13 [2022-02-20 16:53:01,241 INFO L290 TraceCheckUtils]: 0: Hoare triple {446#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(21bv32, 2bv32); {446#true} is VALID [2022-02-20 16:53:01,242 INFO L290 TraceCheckUtils]: 1: Hoare triple {446#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~mem4#1.base, main_#t~mem4#1.offset, main_#t~nondet2#1, main_#t~mem7#1.base, main_#t~mem7#1.offset, main_#t~mem5#1.base, main_#t~mem5#1.offset, main_#t~nondet6#1, main_#t~mem8#1.base, main_#t~mem8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~mem11#1.base, main_#t~mem11#1.offset, main_#t~mem12#1.base, main_#t~mem12#1.offset, main_~next~0#1.base, main_~next~0#1.offset, main_#t~mem13#1, main_#t~mem14#1.base, main_#t~mem14#1.offset, main_#t~mem15#1, main_#t~mem16#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_~t1~0#1, main_~t2~0#1, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, main_~prev~0#1.base, main_~prev~0#1.offset;call main_#t~malloc1#1.base, main_#t~malloc1#1.offset := #Ultimate.allocOnHeap(8bv32);main_~head~0#1.base, main_~head~0#1.offset := main_#t~malloc1#1.base, main_#t~malloc1#1.offset;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset;call write~$Pointer$(0bv32, 0bv32, main_~head~0#1.base, main_~head~0#1.offset, 4bv32);call write~intINTTYPE4(0bv32, main_~head~0#1.base, ~bvadd32(4bv32, main_~head~0#1.offset), 4bv32);main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {446#true} is VALID [2022-02-20 16:53:01,242 INFO L290 TraceCheckUtils]: 2: Hoare triple {446#true} assume !(0bv32 != main_#t~nondet2#1);havoc main_#t~nondet2#1; {446#true} is VALID [2022-02-20 16:53:01,242 INFO L290 TraceCheckUtils]: 3: Hoare triple {446#true} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {446#true} is VALID [2022-02-20 16:53:01,243 INFO L290 TraceCheckUtils]: 4: Hoare triple {446#true} call main_#t~mem5#1.base, main_#t~mem5#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4bv32); {463#(and (= |ULTIMATE.start_main_#t~mem5#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (= |ULTIMATE.start_main_#t~mem5#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)))} is VALID [2022-02-20 16:53:01,245 INFO L290 TraceCheckUtils]: 5: Hoare triple {463#(and (= |ULTIMATE.start_main_#t~mem5#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (= |ULTIMATE.start_main_#t~mem5#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)))} assume !!((main_#t~mem5#1.base != 0bv32 || main_#t~mem5#1.offset != 0bv32) && 0bv32 != main_#t~nondet6#1);havoc main_#t~mem5#1.base, main_#t~mem5#1.offset;havoc main_#t~nondet6#1; {467#(or (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) (_ bv0 32))) (not (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) (_ bv0 32))))} is VALID [2022-02-20 16:53:01,245 INFO L290 TraceCheckUtils]: 6: Hoare triple {467#(or (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) (_ bv0 32))) (not (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) (_ bv0 32))))} assume !!(main_~x~0#1.base != 0bv32 || main_~x~0#1.offset != 0bv32); {467#(or (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) (_ bv0 32))) (not (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) (_ bv0 32))))} is VALID [2022-02-20 16:53:01,246 INFO L290 TraceCheckUtils]: 7: Hoare triple {467#(or (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) (_ bv0 32))) (not (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) (_ bv0 32))))} goto; {467#(or (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) (_ bv0 32))) (not (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) (_ bv0 32))))} is VALID [2022-02-20 16:53:01,248 INFO L290 TraceCheckUtils]: 8: Hoare triple {467#(or (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) (_ bv0 32))) (not (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) (_ bv0 32))))} call main_#t~mem7#1.base, main_#t~mem7#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4bv32);main_~x~0#1.base, main_~x~0#1.offset := main_#t~mem7#1.base, main_#t~mem7#1.offset;havoc main_#t~mem7#1.base, main_#t~mem7#1.offset; {477#(or (not (= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32))) (not (= |ULTIMATE.start_main_~x~0#1.base| (_ bv0 32))))} is VALID [2022-02-20 16:53:01,248 INFO L290 TraceCheckUtils]: 9: Hoare triple {477#(or (not (= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32))) (not (= |ULTIMATE.start_main_~x~0#1.base| (_ bv0 32))))} call main_#t~mem5#1.base, main_#t~mem5#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4bv32); {477#(or (not (= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32))) (not (= |ULTIMATE.start_main_~x~0#1.base| (_ bv0 32))))} is VALID [2022-02-20 16:53:01,250 INFO L290 TraceCheckUtils]: 10: Hoare triple {477#(or (not (= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32))) (not (= |ULTIMATE.start_main_~x~0#1.base| (_ bv0 32))))} assume !((main_#t~mem5#1.base != 0bv32 || main_#t~mem5#1.offset != 0bv32) && 0bv32 != main_#t~nondet6#1);havoc main_#t~mem5#1.base, main_#t~mem5#1.offset;havoc main_#t~nondet6#1; {477#(or (not (= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32))) (not (= |ULTIMATE.start_main_~x~0#1.base| (_ bv0 32))))} is VALID [2022-02-20 16:53:01,251 INFO L290 TraceCheckUtils]: 11: Hoare triple {477#(or (not (= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32))) (not (= |ULTIMATE.start_main_~x~0#1.base| (_ bv0 32))))} assume !(main_~x~0#1.base != 0bv32 || main_~x~0#1.offset != 0bv32); {447#false} is VALID [2022-02-20 16:53:01,251 INFO L290 TraceCheckUtils]: 12: Hoare triple {447#false} assume !false; {447#false} is VALID [2022-02-20 16:53:01,251 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 16:53:01,254 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 16:53:01,401 INFO L290 TraceCheckUtils]: 12: Hoare triple {447#false} assume !false; {447#false} is VALID [2022-02-20 16:53:01,402 INFO L290 TraceCheckUtils]: 11: Hoare triple {477#(or (not (= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32))) (not (= |ULTIMATE.start_main_~x~0#1.base| (_ bv0 32))))} assume !(main_~x~0#1.base != 0bv32 || main_~x~0#1.offset != 0bv32); {447#false} is VALID [2022-02-20 16:53:01,403 INFO L290 TraceCheckUtils]: 10: Hoare triple {477#(or (not (= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32))) (not (= |ULTIMATE.start_main_~x~0#1.base| (_ bv0 32))))} assume !((main_#t~mem5#1.base != 0bv32 || main_#t~mem5#1.offset != 0bv32) && 0bv32 != main_#t~nondet6#1);havoc main_#t~mem5#1.base, main_#t~mem5#1.offset;havoc main_#t~nondet6#1; {477#(or (not (= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32))) (not (= |ULTIMATE.start_main_~x~0#1.base| (_ bv0 32))))} is VALID [2022-02-20 16:53:01,403 INFO L290 TraceCheckUtils]: 9: Hoare triple {477#(or (not (= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32))) (not (= |ULTIMATE.start_main_~x~0#1.base| (_ bv0 32))))} call main_#t~mem5#1.base, main_#t~mem5#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4bv32); {477#(or (not (= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32))) (not (= |ULTIMATE.start_main_~x~0#1.base| (_ bv0 32))))} is VALID [2022-02-20 16:53:01,404 INFO L290 TraceCheckUtils]: 8: Hoare triple {467#(or (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) (_ bv0 32))) (not (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) (_ bv0 32))))} call main_#t~mem7#1.base, main_#t~mem7#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4bv32);main_~x~0#1.base, main_~x~0#1.offset := main_#t~mem7#1.base, main_#t~mem7#1.offset;havoc main_#t~mem7#1.base, main_#t~mem7#1.offset; {477#(or (not (= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32))) (not (= |ULTIMATE.start_main_~x~0#1.base| (_ bv0 32))))} is VALID [2022-02-20 16:53:01,405 INFO L290 TraceCheckUtils]: 7: Hoare triple {467#(or (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) (_ bv0 32))) (not (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) (_ bv0 32))))} goto; {467#(or (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) (_ bv0 32))) (not (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) (_ bv0 32))))} is VALID [2022-02-20 16:53:01,405 INFO L290 TraceCheckUtils]: 6: Hoare triple {467#(or (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) (_ bv0 32))) (not (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) (_ bv0 32))))} assume !!(main_~x~0#1.base != 0bv32 || main_~x~0#1.offset != 0bv32); {467#(or (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) (_ bv0 32))) (not (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) (_ bv0 32))))} is VALID [2022-02-20 16:53:01,406 INFO L290 TraceCheckUtils]: 5: Hoare triple {511#(or (and (= |ULTIMATE.start_main_#t~mem5#1.offset| (_ bv0 32)) (= |ULTIMATE.start_main_#t~mem5#1.base| (_ bv0 32))) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) (_ bv0 32))) (not (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) (_ bv0 32))))} assume !!((main_#t~mem5#1.base != 0bv32 || main_#t~mem5#1.offset != 0bv32) && 0bv32 != main_#t~nondet6#1);havoc main_#t~mem5#1.base, main_#t~mem5#1.offset;havoc main_#t~nondet6#1; {467#(or (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) (_ bv0 32))) (not (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) (_ bv0 32))))} is VALID [2022-02-20 16:53:01,407 INFO L290 TraceCheckUtils]: 4: Hoare triple {446#true} call main_#t~mem5#1.base, main_#t~mem5#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4bv32); {511#(or (and (= |ULTIMATE.start_main_#t~mem5#1.offset| (_ bv0 32)) (= |ULTIMATE.start_main_#t~mem5#1.base| (_ bv0 32))) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) (_ bv0 32))) (not (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) (_ bv0 32))))} is VALID [2022-02-20 16:53:01,407 INFO L290 TraceCheckUtils]: 3: Hoare triple {446#true} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {446#true} is VALID [2022-02-20 16:53:01,407 INFO L290 TraceCheckUtils]: 2: Hoare triple {446#true} assume !(0bv32 != main_#t~nondet2#1);havoc main_#t~nondet2#1; {446#true} is VALID [2022-02-20 16:53:01,408 INFO L290 TraceCheckUtils]: 1: Hoare triple {446#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~mem4#1.base, main_#t~mem4#1.offset, main_#t~nondet2#1, main_#t~mem7#1.base, main_#t~mem7#1.offset, main_#t~mem5#1.base, main_#t~mem5#1.offset, main_#t~nondet6#1, main_#t~mem8#1.base, main_#t~mem8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~mem11#1.base, main_#t~mem11#1.offset, main_#t~mem12#1.base, main_#t~mem12#1.offset, main_~next~0#1.base, main_~next~0#1.offset, main_#t~mem13#1, main_#t~mem14#1.base, main_#t~mem14#1.offset, main_#t~mem15#1, main_#t~mem16#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_~t1~0#1, main_~t2~0#1, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, main_~prev~0#1.base, main_~prev~0#1.offset;call main_#t~malloc1#1.base, main_#t~malloc1#1.offset := #Ultimate.allocOnHeap(8bv32);main_~head~0#1.base, main_~head~0#1.offset := main_#t~malloc1#1.base, main_#t~malloc1#1.offset;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset;call write~$Pointer$(0bv32, 0bv32, main_~head~0#1.base, main_~head~0#1.offset, 4bv32);call write~intINTTYPE4(0bv32, main_~head~0#1.base, ~bvadd32(4bv32, main_~head~0#1.offset), 4bv32);main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {446#true} is VALID [2022-02-20 16:53:01,408 INFO L290 TraceCheckUtils]: 0: Hoare triple {446#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(21bv32, 2bv32); {446#true} is VALID [2022-02-20 16:53:01,408 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 16:53:01,409 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 16:53:01,409 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1264644366] [2022-02-20 16:53:01,409 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1264644366] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 16:53:01,409 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 16:53:01,409 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 6 [2022-02-20 16:53:01,410 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2051984758] [2022-02-20 16:53:01,410 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 16:53:01,410 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 6 states have internal predecessors, (15), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 13 [2022-02-20 16:53:01,411 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:53:01,411 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.5) internal successors, (15), 6 states have internal predecessors, (15), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:53:01,425 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 15 edges. 15 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:53:01,425 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 16:53:01,426 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 16:53:01,426 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 16:53:01,426 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-02-20 16:53:01,427 INFO L87 Difference]: Start difference. First operand 34 states and 41 transitions. Second operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 6 states have internal predecessors, (15), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:53:01,962 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:53:01,962 INFO L93 Difference]: Finished difference Result 35 states and 42 transitions. [2022-02-20 16:53:01,962 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 16:53:01,962 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 6 states have internal predecessors, (15), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 13 [2022-02-20 16:53:01,962 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:53:01,963 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 6 states have internal predecessors, (15), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:53:01,964 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 41 transitions. [2022-02-20 16:53:01,964 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 6 states have internal predecessors, (15), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:53:01,965 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 41 transitions. [2022-02-20 16:53:01,965 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 41 transitions. [2022-02-20 16:53:02,010 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:53:02,011 INFO L225 Difference]: With dead ends: 35 [2022-02-20 16:53:02,011 INFO L226 Difference]: Without dead ends: 31 [2022-02-20 16:53:02,012 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 26 GetRequests, 20 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=21, Invalid=35, Unknown=0, NotChecked=0, Total=56 [2022-02-20 16:53:02,013 INFO L933 BasicCegarLoop]: 20 mSDtfsCounter, 15 mSDsluCounter, 11 mSDsCounter, 0 mSdLazyCounter, 55 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 31 SdHoareTripleChecker+Invalid, 64 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 55 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 16:53:02,013 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [15 Valid, 31 Invalid, 64 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 55 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-20 16:53:02,014 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 31 states. [2022-02-20 16:53:02,016 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 31 to 26. [2022-02-20 16:53:02,016 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:53:02,016 INFO L82 GeneralOperation]: Start isEquivalent. First operand 31 states. Second operand has 26 states, 25 states have (on average 1.28) internal successors, (32), 25 states have internal predecessors, (32), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:53:02,016 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand has 26 states, 25 states have (on average 1.28) internal successors, (32), 25 states have internal predecessors, (32), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:53:02,016 INFO L87 Difference]: Start difference. First operand 31 states. Second operand has 26 states, 25 states have (on average 1.28) internal successors, (32), 25 states have internal predecessors, (32), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:53:02,018 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:53:02,018 INFO L93 Difference]: Finished difference Result 31 states and 38 transitions. [2022-02-20 16:53:02,018 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 38 transitions. [2022-02-20 16:53:02,018 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:53:02,018 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:53:02,019 INFO L74 IsIncluded]: Start isIncluded. First operand has 26 states, 25 states have (on average 1.28) internal successors, (32), 25 states have internal predecessors, (32), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 31 states. [2022-02-20 16:53:02,023 INFO L87 Difference]: Start difference. First operand has 26 states, 25 states have (on average 1.28) internal successors, (32), 25 states have internal predecessors, (32), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 31 states. [2022-02-20 16:53:02,027 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:53:02,027 INFO L93 Difference]: Finished difference Result 31 states and 38 transitions. [2022-02-20 16:53:02,028 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 38 transitions. [2022-02-20 16:53:02,028 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:53:02,028 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:53:02,028 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:53:02,028 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:53:02,029 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 25 states have (on average 1.28) internal successors, (32), 25 states have internal predecessors, (32), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:53:02,030 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 32 transitions. [2022-02-20 16:53:02,030 INFO L78 Accepts]: Start accepts. Automaton has 26 states and 32 transitions. Word has length 13 [2022-02-20 16:53:02,030 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:53:02,030 INFO L470 AbstractCegarLoop]: Abstraction has 26 states and 32 transitions. [2022-02-20 16:53:02,030 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 6 states have internal predecessors, (15), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:53:02,030 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 32 transitions. [2022-02-20 16:53:02,031 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-02-20 16:53:02,031 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:53:02,031 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:53:02,044 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:53:02,244 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:53:02,244 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr2ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr2ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:53:02,245 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:53:02,245 INFO L85 PathProgramCache]: Analyzing trace with hash 825424614, now seen corresponding path program 1 times [2022-02-20 16:53:02,245 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:53:02,246 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1877033277] [2022-02-20 16:53:02,246 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:53:02,246 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:53:02,246 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:53:02,247 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:53:02,249 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:53:02,351 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:53:02,357 INFO L263 TraceCheckSpWp]: Trace formula consists of 125 conjuncts, 16 conjunts are in the unsatisfiable core [2022-02-20 16:53:02,372 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:53:02,374 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:53:02,392 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:53:02,551 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 14 treesize of output 14 [2022-02-20 16:53:02,570 INFO L356 Elim1Store]: treesize reduction 15, result has 25.0 percent of original size [2022-02-20 16:53:02,571 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 28 treesize of output 29 [2022-02-20 16:53:02,583 INFO L356 Elim1Store]: treesize reduction 4, result has 66.7 percent of original size [2022-02-20 16:53:02,583 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 15 treesize of output 15 [2022-02-20 16:53:02,645 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 24 treesize of output 12 [2022-02-20 16:53:02,672 INFO L290 TraceCheckUtils]: 0: Hoare triple {667#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(21bv32, 2bv32); {667#true} is VALID [2022-02-20 16:53:02,674 INFO L290 TraceCheckUtils]: 1: Hoare triple {667#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~mem4#1.base, main_#t~mem4#1.offset, main_#t~nondet2#1, main_#t~mem7#1.base, main_#t~mem7#1.offset, main_#t~mem5#1.base, main_#t~mem5#1.offset, main_#t~nondet6#1, main_#t~mem8#1.base, main_#t~mem8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~mem11#1.base, main_#t~mem11#1.offset, main_#t~mem12#1.base, main_#t~mem12#1.offset, main_~next~0#1.base, main_~next~0#1.offset, main_#t~mem13#1, main_#t~mem14#1.base, main_#t~mem14#1.offset, main_#t~mem15#1, main_#t~mem16#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_~t1~0#1, main_~t2~0#1, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, main_~prev~0#1.base, main_~prev~0#1.offset;call main_#t~malloc1#1.base, main_#t~malloc1#1.offset := #Ultimate.allocOnHeap(8bv32);main_~head~0#1.base, main_~head~0#1.offset := main_#t~malloc1#1.base, main_#t~malloc1#1.offset;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset;call write~$Pointer$(0bv32, 0bv32, main_~head~0#1.base, main_~head~0#1.offset, 4bv32);call write~intINTTYPE4(0bv32, main_~head~0#1.base, ~bvadd32(4bv32, main_~head~0#1.offset), 4bv32);main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {675#(= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 16:53:02,674 INFO L290 TraceCheckUtils]: 2: Hoare triple {675#(= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) (_ bv1 1))} assume !(0bv32 != main_#t~nondet2#1);havoc main_#t~nondet2#1; {675#(= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 16:53:02,675 INFO L290 TraceCheckUtils]: 3: Hoare triple {675#(= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) (_ bv1 1))} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {682#(and (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|))} is VALID [2022-02-20 16:53:02,675 INFO L290 TraceCheckUtils]: 4: Hoare triple {682#(and (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|))} call main_#t~mem5#1.base, main_#t~mem5#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4bv32); {682#(and (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|))} is VALID [2022-02-20 16:53:02,676 INFO L290 TraceCheckUtils]: 5: Hoare triple {682#(and (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|))} assume !((main_#t~mem5#1.base != 0bv32 || main_#t~mem5#1.offset != 0bv32) && 0bv32 != main_#t~nondet6#1);havoc main_#t~mem5#1.base, main_#t~mem5#1.offset;havoc main_#t~nondet6#1; {682#(and (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|))} is VALID [2022-02-20 16:53:02,677 INFO L290 TraceCheckUtils]: 6: Hoare triple {682#(and (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|))} assume !!(main_~x~0#1.base != 0bv32 || main_~x~0#1.offset != 0bv32); {682#(and (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|))} is VALID [2022-02-20 16:53:02,677 INFO L290 TraceCheckUtils]: 7: Hoare triple {682#(and (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|))} goto; {682#(and (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|))} is VALID [2022-02-20 16:53:02,678 INFO L290 TraceCheckUtils]: 8: Hoare triple {682#(and (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|))} call write~intINTTYPE4(1bv32, main_~x~0#1.base, ~bvadd32(4bv32, main_~x~0#1.offset), 4bv32);call main_#t~mem8#1.base, main_#t~mem8#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4bv32); {682#(and (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|))} is VALID [2022-02-20 16:53:02,682 INFO L290 TraceCheckUtils]: 9: Hoare triple {682#(and (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|))} assume main_#t~mem8#1.base == 0bv32 && main_#t~mem8#1.offset == 0bv32;havoc main_#t~mem8#1.base, main_#t~mem8#1.offset;call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnHeap(8bv32);call write~$Pointer$(main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4bv32);havoc main_#t~malloc9#1.base, main_#t~malloc9#1.offset;call main_#t~mem10#1.base, main_#t~mem10#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4bv32);main_~x~0#1.base, main_~x~0#1.offset := main_#t~mem10#1.base, main_#t~mem10#1.offset;havoc main_#t~mem10#1.base, main_#t~mem10#1.offset;call write~$Pointer$(0bv32, 0bv32, main_~x~0#1.base, main_~x~0#1.offset, 4bv32);call write~intINTTYPE4(2bv32, main_~x~0#1.base, ~bvadd32(4bv32, main_~x~0#1.offset), 4bv32); {701#(and (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) (_ bv0 32))) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) |ULTIMATE.start_main_~head~0#1.base|)))} is VALID [2022-02-20 16:53:02,682 INFO L290 TraceCheckUtils]: 10: Hoare triple {701#(and (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) (_ bv0 32))) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) |ULTIMATE.start_main_~head~0#1.base|)))} main_~prev~0#1.base, main_~prev~0#1.offset := 0bv32, 0bv32;main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {705#(and (not (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|))) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) (_ bv0 32))))} is VALID [2022-02-20 16:53:02,683 INFO L290 TraceCheckUtils]: 11: Hoare triple {705#(and (not (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|))) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) (_ bv0 32))))} assume !!(main_~x~0#1.base != 0bv32 || main_~x~0#1.offset != 0bv32);call main_#t~mem12#1.base, main_#t~mem12#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4bv32);main_~next~0#1.base, main_~next~0#1.offset := main_#t~mem12#1.base, main_#t~mem12#1.offset;havoc main_#t~mem12#1.base, main_#t~mem12#1.offset;call write~$Pointer$(main_~prev~0#1.base, main_~prev~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4bv32);main_~prev~0#1.base, main_~prev~0#1.offset := main_~x~0#1.base, main_~x~0#1.offset;main_~x~0#1.base, main_~x~0#1.offset := main_~next~0#1.base, main_~next~0#1.offset; {709#(not (= |ULTIMATE.start_main_~x~0#1.base| (_ bv0 32)))} is VALID [2022-02-20 16:53:02,687 INFO L290 TraceCheckUtils]: 12: Hoare triple {709#(not (= |ULTIMATE.start_main_~x~0#1.base| (_ bv0 32)))} assume !(main_~x~0#1.base != 0bv32 || main_~x~0#1.offset != 0bv32); {668#false} is VALID [2022-02-20 16:53:02,688 INFO L290 TraceCheckUtils]: 13: Hoare triple {668#false} main_~head~0#1.base, main_~head~0#1.offset := main_~prev~0#1.base, main_~prev~0#1.offset;main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {668#false} is VALID [2022-02-20 16:53:02,688 INFO L290 TraceCheckUtils]: 14: Hoare triple {668#false} assume !!(main_~x~0#1.base != 0bv32 || main_~x~0#1.offset != 0bv32);call main_#t~mem13#1 := read~intINTTYPE4(main_~x~0#1.base, ~bvadd32(4bv32, main_~x~0#1.offset), 4bv32);main_~t1~0#1 := main_#t~mem13#1;havoc main_#t~mem13#1;main_~t2~0#1 := 0bv32; {668#false} is VALID [2022-02-20 16:53:02,689 INFO L290 TraceCheckUtils]: 15: Hoare triple {668#false} assume 2bv32 == main_~t1~0#1;call main_#t~mem14#1.base, main_#t~mem14#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4bv32);call main_#t~mem15#1 := read~intINTTYPE4(main_#t~mem14#1.base, ~bvadd32(4bv32, main_#t~mem14#1.offset), 4bv32);main_~t2~0#1 := main_#t~mem15#1;havoc main_#t~mem14#1.base, main_#t~mem14#1.offset;havoc main_#t~mem15#1; {668#false} is VALID [2022-02-20 16:53:02,689 INFO L290 TraceCheckUtils]: 16: Hoare triple {668#false} assume !(2bv32 != main_~t1~0#1 || 1bv32 == main_~t2~0#1); {668#false} is VALID [2022-02-20 16:53:02,689 INFO L290 TraceCheckUtils]: 17: Hoare triple {668#false} assume !false; {668#false} is VALID [2022-02-20 16:53:02,690 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 16:53:02,690 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 16:53:02,784 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 16:53:02,784 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 1 new quantified variables, introduced 1 case distinctions, treesize of input 19 treesize of output 20 [2022-02-20 16:53:02,804 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 16:53:02,804 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 50 treesize of output 41 [2022-02-20 16:53:02,820 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 20 treesize of output 18 [2022-02-20 16:53:03,358 INFO L290 TraceCheckUtils]: 17: Hoare triple {668#false} assume !false; {668#false} is VALID [2022-02-20 16:53:03,358 INFO L290 TraceCheckUtils]: 16: Hoare triple {668#false} assume !(2bv32 != main_~t1~0#1 || 1bv32 == main_~t2~0#1); {668#false} is VALID [2022-02-20 16:53:03,359 INFO L290 TraceCheckUtils]: 15: Hoare triple {668#false} assume 2bv32 == main_~t1~0#1;call main_#t~mem14#1.base, main_#t~mem14#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4bv32);call main_#t~mem15#1 := read~intINTTYPE4(main_#t~mem14#1.base, ~bvadd32(4bv32, main_#t~mem14#1.offset), 4bv32);main_~t2~0#1 := main_#t~mem15#1;havoc main_#t~mem14#1.base, main_#t~mem14#1.offset;havoc main_#t~mem15#1; {668#false} is VALID [2022-02-20 16:53:03,359 INFO L290 TraceCheckUtils]: 14: Hoare triple {668#false} assume !!(main_~x~0#1.base != 0bv32 || main_~x~0#1.offset != 0bv32);call main_#t~mem13#1 := read~intINTTYPE4(main_~x~0#1.base, ~bvadd32(4bv32, main_~x~0#1.offset), 4bv32);main_~t1~0#1 := main_#t~mem13#1;havoc main_#t~mem13#1;main_~t2~0#1 := 0bv32; {668#false} is VALID [2022-02-20 16:53:03,359 INFO L290 TraceCheckUtils]: 13: Hoare triple {668#false} main_~head~0#1.base, main_~head~0#1.offset := main_~prev~0#1.base, main_~prev~0#1.offset;main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {668#false} is VALID [2022-02-20 16:53:03,361 INFO L290 TraceCheckUtils]: 12: Hoare triple {709#(not (= |ULTIMATE.start_main_~x~0#1.base| (_ bv0 32)))} assume !(main_~x~0#1.base != 0bv32 || main_~x~0#1.offset != 0bv32); {668#false} is VALID [2022-02-20 16:53:03,362 INFO L290 TraceCheckUtils]: 11: Hoare triple {746#(not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) (_ bv0 32)))} assume !!(main_~x~0#1.base != 0bv32 || main_~x~0#1.offset != 0bv32);call main_#t~mem12#1.base, main_#t~mem12#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4bv32);main_~next~0#1.base, main_~next~0#1.offset := main_#t~mem12#1.base, main_#t~mem12#1.offset;havoc main_#t~mem12#1.base, main_#t~mem12#1.offset;call write~$Pointer$(main_~prev~0#1.base, main_~prev~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4bv32);main_~prev~0#1.base, main_~prev~0#1.offset := main_~x~0#1.base, main_~x~0#1.offset;main_~x~0#1.base, main_~x~0#1.offset := main_~next~0#1.base, main_~next~0#1.offset; {709#(not (= |ULTIMATE.start_main_~x~0#1.base| (_ bv0 32)))} is VALID [2022-02-20 16:53:03,362 INFO L290 TraceCheckUtils]: 10: Hoare triple {750#(not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) (_ bv0 32)))} main_~prev~0#1.base, main_~prev~0#1.offset := 0bv32, 0bv32;main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {746#(not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) (_ bv0 32)))} is VALID [2022-02-20 16:53:03,365 INFO L290 TraceCheckUtils]: 9: Hoare triple {754#(forall ((v_arrayElimCell_8 (_ BitVec 32))) (or (and (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|) (not (= v_arrayElimCell_8 |ULTIMATE.start_main_~head~0#1.base|))) (not (= (_ bv0 1) (select |#valid| v_arrayElimCell_8))) (= v_arrayElimCell_8 (_ bv0 32))))} assume main_#t~mem8#1.base == 0bv32 && main_#t~mem8#1.offset == 0bv32;havoc main_#t~mem8#1.base, main_#t~mem8#1.offset;call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnHeap(8bv32);call write~$Pointer$(main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4bv32);havoc main_#t~malloc9#1.base, main_#t~malloc9#1.offset;call main_#t~mem10#1.base, main_#t~mem10#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4bv32);main_~x~0#1.base, main_~x~0#1.offset := main_#t~mem10#1.base, main_#t~mem10#1.offset;havoc main_#t~mem10#1.base, main_#t~mem10#1.offset;call write~$Pointer$(0bv32, 0bv32, main_~x~0#1.base, main_~x~0#1.offset, 4bv32);call write~intINTTYPE4(2bv32, main_~x~0#1.base, ~bvadd32(4bv32, main_~x~0#1.offset), 4bv32); {750#(not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) (_ bv0 32)))} is VALID [2022-02-20 16:53:03,367 INFO L290 TraceCheckUtils]: 8: Hoare triple {754#(forall ((v_arrayElimCell_8 (_ BitVec 32))) (or (and (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|) (not (= v_arrayElimCell_8 |ULTIMATE.start_main_~head~0#1.base|))) (not (= (_ bv0 1) (select |#valid| v_arrayElimCell_8))) (= v_arrayElimCell_8 (_ bv0 32))))} call write~intINTTYPE4(1bv32, main_~x~0#1.base, ~bvadd32(4bv32, main_~x~0#1.offset), 4bv32);call main_#t~mem8#1.base, main_#t~mem8#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4bv32); {754#(forall ((v_arrayElimCell_8 (_ BitVec 32))) (or (and (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|) (not (= v_arrayElimCell_8 |ULTIMATE.start_main_~head~0#1.base|))) (not (= (_ bv0 1) (select |#valid| v_arrayElimCell_8))) (= v_arrayElimCell_8 (_ bv0 32))))} is VALID [2022-02-20 16:53:03,370 INFO L290 TraceCheckUtils]: 7: Hoare triple {754#(forall ((v_arrayElimCell_8 (_ BitVec 32))) (or (and (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|) (not (= v_arrayElimCell_8 |ULTIMATE.start_main_~head~0#1.base|))) (not (= (_ bv0 1) (select |#valid| v_arrayElimCell_8))) (= v_arrayElimCell_8 (_ bv0 32))))} goto; {754#(forall ((v_arrayElimCell_8 (_ BitVec 32))) (or (and (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|) (not (= v_arrayElimCell_8 |ULTIMATE.start_main_~head~0#1.base|))) (not (= (_ bv0 1) (select |#valid| v_arrayElimCell_8))) (= v_arrayElimCell_8 (_ bv0 32))))} is VALID [2022-02-20 16:53:03,371 INFO L290 TraceCheckUtils]: 6: Hoare triple {754#(forall ((v_arrayElimCell_8 (_ BitVec 32))) (or (and (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|) (not (= v_arrayElimCell_8 |ULTIMATE.start_main_~head~0#1.base|))) (not (= (_ bv0 1) (select |#valid| v_arrayElimCell_8))) (= v_arrayElimCell_8 (_ bv0 32))))} assume !!(main_~x~0#1.base != 0bv32 || main_~x~0#1.offset != 0bv32); {754#(forall ((v_arrayElimCell_8 (_ BitVec 32))) (or (and (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|) (not (= v_arrayElimCell_8 |ULTIMATE.start_main_~head~0#1.base|))) (not (= (_ bv0 1) (select |#valid| v_arrayElimCell_8))) (= v_arrayElimCell_8 (_ bv0 32))))} is VALID [2022-02-20 16:53:03,373 INFO L290 TraceCheckUtils]: 5: Hoare triple {754#(forall ((v_arrayElimCell_8 (_ BitVec 32))) (or (and (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|) (not (= v_arrayElimCell_8 |ULTIMATE.start_main_~head~0#1.base|))) (not (= (_ bv0 1) (select |#valid| v_arrayElimCell_8))) (= v_arrayElimCell_8 (_ bv0 32))))} assume !((main_#t~mem5#1.base != 0bv32 || main_#t~mem5#1.offset != 0bv32) && 0bv32 != main_#t~nondet6#1);havoc main_#t~mem5#1.base, main_#t~mem5#1.offset;havoc main_#t~nondet6#1; {754#(forall ((v_arrayElimCell_8 (_ BitVec 32))) (or (and (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|) (not (= v_arrayElimCell_8 |ULTIMATE.start_main_~head~0#1.base|))) (not (= (_ bv0 1) (select |#valid| v_arrayElimCell_8))) (= v_arrayElimCell_8 (_ bv0 32))))} is VALID [2022-02-20 16:53:03,374 INFO L290 TraceCheckUtils]: 4: Hoare triple {754#(forall ((v_arrayElimCell_8 (_ BitVec 32))) (or (and (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|) (not (= v_arrayElimCell_8 |ULTIMATE.start_main_~head~0#1.base|))) (not (= (_ bv0 1) (select |#valid| v_arrayElimCell_8))) (= v_arrayElimCell_8 (_ bv0 32))))} call main_#t~mem5#1.base, main_#t~mem5#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4bv32); {754#(forall ((v_arrayElimCell_8 (_ BitVec 32))) (or (and (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|) (not (= v_arrayElimCell_8 |ULTIMATE.start_main_~head~0#1.base|))) (not (= (_ bv0 1) (select |#valid| v_arrayElimCell_8))) (= v_arrayElimCell_8 (_ bv0 32))))} is VALID [2022-02-20 16:53:03,375 INFO L290 TraceCheckUtils]: 3: Hoare triple {773#(or (not (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) (_ bv0 1))) (= |ULTIMATE.start_main_~head~0#1.base| (_ bv0 32)))} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {754#(forall ((v_arrayElimCell_8 (_ BitVec 32))) (or (and (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|) (not (= v_arrayElimCell_8 |ULTIMATE.start_main_~head~0#1.base|))) (not (= (_ bv0 1) (select |#valid| v_arrayElimCell_8))) (= v_arrayElimCell_8 (_ bv0 32))))} is VALID [2022-02-20 16:53:03,376 INFO L290 TraceCheckUtils]: 2: Hoare triple {773#(or (not (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) (_ bv0 1))) (= |ULTIMATE.start_main_~head~0#1.base| (_ bv0 32)))} assume !(0bv32 != main_#t~nondet2#1);havoc main_#t~nondet2#1; {773#(or (not (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) (_ bv0 1))) (= |ULTIMATE.start_main_~head~0#1.base| (_ bv0 32)))} is VALID [2022-02-20 16:53:03,378 INFO L290 TraceCheckUtils]: 1: Hoare triple {667#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~mem4#1.base, main_#t~mem4#1.offset, main_#t~nondet2#1, main_#t~mem7#1.base, main_#t~mem7#1.offset, main_#t~mem5#1.base, main_#t~mem5#1.offset, main_#t~nondet6#1, main_#t~mem8#1.base, main_#t~mem8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~mem11#1.base, main_#t~mem11#1.offset, main_#t~mem12#1.base, main_#t~mem12#1.offset, main_~next~0#1.base, main_~next~0#1.offset, main_#t~mem13#1, main_#t~mem14#1.base, main_#t~mem14#1.offset, main_#t~mem15#1, main_#t~mem16#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_~t1~0#1, main_~t2~0#1, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, main_~prev~0#1.base, main_~prev~0#1.offset;call main_#t~malloc1#1.base, main_#t~malloc1#1.offset := #Ultimate.allocOnHeap(8bv32);main_~head~0#1.base, main_~head~0#1.offset := main_#t~malloc1#1.base, main_#t~malloc1#1.offset;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset;call write~$Pointer$(0bv32, 0bv32, main_~head~0#1.base, main_~head~0#1.offset, 4bv32);call write~intINTTYPE4(0bv32, main_~head~0#1.base, ~bvadd32(4bv32, main_~head~0#1.offset), 4bv32);main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {773#(or (not (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) (_ bv0 1))) (= |ULTIMATE.start_main_~head~0#1.base| (_ bv0 32)))} is VALID [2022-02-20 16:53:03,378 INFO L290 TraceCheckUtils]: 0: Hoare triple {667#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(21bv32, 2bv32); {667#true} is VALID [2022-02-20 16:53:03,378 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 16:53:03,378 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 16:53:03,379 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1877033277] [2022-02-20 16:53:03,379 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1877033277] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 16:53:03,379 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 16:53:03,379 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 11 [2022-02-20 16:53:03,379 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1798847605] [2022-02-20 16:53:03,379 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 16:53:03,380 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 18 [2022-02-20 16:53:03,380 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:53:03,381 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:53:03,426 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:53:03,426 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-02-20 16:53:03,426 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 16:53:03,427 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-02-20 16:53:03,427 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=84, Unknown=0, NotChecked=0, Total=110 [2022-02-20 16:53:03,427 INFO L87 Difference]: Start difference. First operand 26 states and 32 transitions. Second operand has 11 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:53:05,214 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:53:05,214 INFO L93 Difference]: Finished difference Result 80 states and 97 transitions. [2022-02-20 16:53:05,214 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 16:53:05,215 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 18 [2022-02-20 16:53:05,215 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:53:05,215 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:53:05,217 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 97 transitions. [2022-02-20 16:53:05,217 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:53:05,218 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 97 transitions. [2022-02-20 16:53:05,219 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 97 transitions. [2022-02-20 16:53:05,335 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:53:05,337 INFO L225 Difference]: With dead ends: 80 [2022-02-20 16:53:05,337 INFO L226 Difference]: Without dead ends: 70 [2022-02-20 16:53:05,337 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 39 GetRequests, 25 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 23 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=65, Invalid=175, Unknown=0, NotChecked=0, Total=240 [2022-02-20 16:53:05,338 INFO L933 BasicCegarLoop]: 29 mSDtfsCounter, 99 mSDsluCounter, 110 mSDsCounter, 0 mSdLazyCounter, 167 mSolverCounterSat, 55 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 99 SdHoareTripleChecker+Valid, 139 SdHoareTripleChecker+Invalid, 239 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 55 IncrementalHoareTripleChecker+Valid, 167 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 17 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-02-20 16:53:05,338 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [99 Valid, 139 Invalid, 239 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [55 Valid, 167 Invalid, 0 Unknown, 17 Unchecked, 0.7s Time] [2022-02-20 16:53:05,339 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2022-02-20 16:53:05,344 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 42. [2022-02-20 16:53:05,344 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:53:05,344 INFO L82 GeneralOperation]: Start isEquivalent. First operand 70 states. Second operand has 42 states, 41 states have (on average 1.2926829268292683) internal successors, (53), 41 states have internal predecessors, (53), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:53:05,344 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand has 42 states, 41 states have (on average 1.2926829268292683) internal successors, (53), 41 states have internal predecessors, (53), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:53:05,345 INFO L87 Difference]: Start difference. First operand 70 states. Second operand has 42 states, 41 states have (on average 1.2926829268292683) internal successors, (53), 41 states have internal predecessors, (53), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:53:05,347 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:53:05,347 INFO L93 Difference]: Finished difference Result 70 states and 84 transitions. [2022-02-20 16:53:05,347 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 84 transitions. [2022-02-20 16:53:05,347 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:53:05,347 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:53:05,348 INFO L74 IsIncluded]: Start isIncluded. First operand has 42 states, 41 states have (on average 1.2926829268292683) internal successors, (53), 41 states have internal predecessors, (53), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 70 states. [2022-02-20 16:53:05,348 INFO L87 Difference]: Start difference. First operand has 42 states, 41 states have (on average 1.2926829268292683) internal successors, (53), 41 states have internal predecessors, (53), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 70 states. [2022-02-20 16:53:05,350 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:53:05,350 INFO L93 Difference]: Finished difference Result 70 states and 84 transitions. [2022-02-20 16:53:05,350 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 84 transitions. [2022-02-20 16:53:05,351 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:53:05,351 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:53:05,351 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:53:05,351 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:53:05,362 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 42 states, 41 states have (on average 1.2926829268292683) internal successors, (53), 41 states have internal predecessors, (53), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:53:05,363 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 53 transitions. [2022-02-20 16:53:05,363 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 53 transitions. Word has length 18 [2022-02-20 16:53:05,363 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:53:05,363 INFO L470 AbstractCegarLoop]: Abstraction has 42 states and 53 transitions. [2022-02-20 16:53:05,363 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:53:05,363 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 53 transitions. [2022-02-20 16:53:05,364 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-02-20 16:53:05,364 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:53:05,364 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:53:05,375 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:53:05,575 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:53:05,575 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr2ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr2ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:53:05,576 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:53:05,576 INFO L85 PathProgramCache]: Analyzing trace with hash 1505482984, now seen corresponding path program 1 times [2022-02-20 16:53:05,576 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:53:05,576 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [563940737] [2022-02-20 16:53:05,576 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:53:05,577 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:53:05,577 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:53:05,578 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:53:05,579 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:53:05,665 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:53:05,670 INFO L263 TraceCheckSpWp]: Trace formula consists of 100 conjuncts, 18 conjunts are in the unsatisfiable core [2022-02-20 16:53:05,683 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:53:05,685 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:53:05,710 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:53:05,711 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 17 [2022-02-20 16:53:05,927 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:53:05,928 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 21 treesize of output 20 [2022-02-20 16:53:05,998 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 18 treesize of output 10 [2022-02-20 16:53:06,004 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 15 treesize of output 17 [2022-02-20 16:53:06,089 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 16 treesize of output 8 [2022-02-20 16:53:06,113 INFO L290 TraceCheckUtils]: 0: Hoare triple {1083#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(21bv32, 2bv32); {1083#true} is VALID [2022-02-20 16:53:06,115 INFO L290 TraceCheckUtils]: 1: Hoare triple {1083#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~mem4#1.base, main_#t~mem4#1.offset, main_#t~nondet2#1, main_#t~mem7#1.base, main_#t~mem7#1.offset, main_#t~mem5#1.base, main_#t~mem5#1.offset, main_#t~nondet6#1, main_#t~mem8#1.base, main_#t~mem8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~mem11#1.base, main_#t~mem11#1.offset, main_#t~mem12#1.base, main_#t~mem12#1.offset, main_~next~0#1.base, main_~next~0#1.offset, main_#t~mem13#1, main_#t~mem14#1.base, main_#t~mem14#1.offset, main_#t~mem15#1, main_#t~mem16#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_~t1~0#1, main_~t2~0#1, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, main_~prev~0#1.base, main_~prev~0#1.offset;call main_#t~malloc1#1.base, main_#t~malloc1#1.offset := #Ultimate.allocOnHeap(8bv32);main_~head~0#1.base, main_~head~0#1.offset := main_#t~malloc1#1.base, main_#t~malloc1#1.offset;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset;call write~$Pointer$(0bv32, 0bv32, main_~head~0#1.base, main_~head~0#1.offset, 4bv32);call write~intINTTYPE4(0bv32, main_~head~0#1.base, ~bvadd32(4bv32, main_~head~0#1.offset), 4bv32);main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1091#(and (= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|) (not (= |ULTIMATE.start_main_~head~0#1.base| (_ bv0 32))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) (_ bv0 32)))} is VALID [2022-02-20 16:53:06,116 INFO L290 TraceCheckUtils]: 2: Hoare triple {1091#(and (= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|) (not (= |ULTIMATE.start_main_~head~0#1.base| (_ bv0 32))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) (_ bv0 32)))} assume !(0bv32 != main_#t~nondet2#1);havoc main_#t~nondet2#1; {1091#(and (= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|) (not (= |ULTIMATE.start_main_~head~0#1.base| (_ bv0 32))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) (_ bv0 32)))} is VALID [2022-02-20 16:53:06,117 INFO L290 TraceCheckUtils]: 3: Hoare triple {1091#(and (= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|) (not (= |ULTIMATE.start_main_~head~0#1.base| (_ bv0 32))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) (_ bv0 32)))} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1098#(and (= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|) (not (= |ULTIMATE.start_main_~head~0#1.base| (_ bv0 32))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) (_ bv0 32)))} is VALID [2022-02-20 16:53:06,117 INFO L290 TraceCheckUtils]: 4: Hoare triple {1098#(and (= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|) (not (= |ULTIMATE.start_main_~head~0#1.base| (_ bv0 32))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) (_ bv0 32)))} call main_#t~mem5#1.base, main_#t~mem5#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4bv32); {1098#(and (= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|) (not (= |ULTIMATE.start_main_~head~0#1.base| (_ bv0 32))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) (_ bv0 32)))} is VALID [2022-02-20 16:53:06,118 INFO L290 TraceCheckUtils]: 5: Hoare triple {1098#(and (= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|) (not (= |ULTIMATE.start_main_~head~0#1.base| (_ bv0 32))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) (_ bv0 32)))} assume !((main_#t~mem5#1.base != 0bv32 || main_#t~mem5#1.offset != 0bv32) && 0bv32 != main_#t~nondet6#1);havoc main_#t~mem5#1.base, main_#t~mem5#1.offset;havoc main_#t~nondet6#1; {1098#(and (= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|) (not (= |ULTIMATE.start_main_~head~0#1.base| (_ bv0 32))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) (_ bv0 32)))} is VALID [2022-02-20 16:53:06,119 INFO L290 TraceCheckUtils]: 6: Hoare triple {1098#(and (= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|) (not (= |ULTIMATE.start_main_~head~0#1.base| (_ bv0 32))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) (_ bv0 32)))} assume !!(main_~x~0#1.base != 0bv32 || main_~x~0#1.offset != 0bv32); {1098#(and (= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|) (not (= |ULTIMATE.start_main_~head~0#1.base| (_ bv0 32))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) (_ bv0 32)))} is VALID [2022-02-20 16:53:06,119 INFO L290 TraceCheckUtils]: 7: Hoare triple {1098#(and (= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|) (not (= |ULTIMATE.start_main_~head~0#1.base| (_ bv0 32))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) (_ bv0 32)))} goto; {1098#(and (= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|) (not (= |ULTIMATE.start_main_~head~0#1.base| (_ bv0 32))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) (_ bv0 32)))} is VALID [2022-02-20 16:53:06,121 INFO L290 TraceCheckUtils]: 8: Hoare triple {1098#(and (= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|) (not (= |ULTIMATE.start_main_~head~0#1.base| (_ bv0 32))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) (_ bv0 32)))} call write~intINTTYPE4(1bv32, main_~x~0#1.base, ~bvadd32(4bv32, main_~x~0#1.offset), 4bv32);call main_#t~mem8#1.base, main_#t~mem8#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4bv32); {1114#(and (= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|) (= |ULTIMATE.start_main_#t~mem8#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|) (not (= |ULTIMATE.start_main_~head~0#1.base| (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) |ULTIMATE.start_main_#t~mem8#1.offset|) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) (_ bv0 32)))} is VALID [2022-02-20 16:53:06,123 INFO L290 TraceCheckUtils]: 9: Hoare triple {1114#(and (= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|) (= |ULTIMATE.start_main_#t~mem8#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|) (not (= |ULTIMATE.start_main_~head~0#1.base| (_ bv0 32))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) |ULTIMATE.start_main_#t~mem8#1.offset|) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) (_ bv0 32)))} assume !(main_#t~mem8#1.base == 0bv32 && main_#t~mem8#1.offset == 0bv32);havoc main_#t~mem8#1.base, main_#t~mem8#1.offset;call main_#t~mem11#1.base, main_#t~mem11#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4bv32);call write~intINTTYPE4(2bv32, main_#t~mem11#1.base, ~bvadd32(4bv32, main_#t~mem11#1.offset), 4bv32);havoc main_#t~mem11#1.base, main_#t~mem11#1.offset; {1118#(and (= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|) (not (= |ULTIMATE.start_main_~head~0#1.base| (_ bv0 32))) (not (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) (_ bv0 32))))} is VALID [2022-02-20 16:53:06,124 INFO L290 TraceCheckUtils]: 10: Hoare triple {1118#(and (= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|) (not (= |ULTIMATE.start_main_~head~0#1.base| (_ bv0 32))) (not (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) (_ bv0 32))))} main_~prev~0#1.base, main_~prev~0#1.offset := 0bv32, 0bv32;main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1122#(and (not (= |ULTIMATE.start_main_~x~0#1.base| (_ bv0 32))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (_ bv0 32)))) (= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32)))} is VALID [2022-02-20 16:53:06,124 INFO L290 TraceCheckUtils]: 11: Hoare triple {1122#(and (not (= |ULTIMATE.start_main_~x~0#1.base| (_ bv0 32))) (not (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (_ bv0 32)))) (= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32)))} assume !!(main_~x~0#1.base != 0bv32 || main_~x~0#1.offset != 0bv32);call main_#t~mem12#1.base, main_#t~mem12#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4bv32);main_~next~0#1.base, main_~next~0#1.offset := main_#t~mem12#1.base, main_#t~mem12#1.offset;havoc main_#t~mem12#1.base, main_#t~mem12#1.offset;call write~$Pointer$(main_~prev~0#1.base, main_~prev~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4bv32);main_~prev~0#1.base, main_~prev~0#1.offset := main_~x~0#1.base, main_~x~0#1.offset;main_~x~0#1.base, main_~x~0#1.offset := main_~next~0#1.base, main_~next~0#1.offset; {1126#(not (= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32)))} is VALID [2022-02-20 16:53:06,125 INFO L290 TraceCheckUtils]: 12: Hoare triple {1126#(not (= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32)))} assume !(main_~x~0#1.base != 0bv32 || main_~x~0#1.offset != 0bv32); {1084#false} is VALID [2022-02-20 16:53:06,125 INFO L290 TraceCheckUtils]: 13: Hoare triple {1084#false} main_~head~0#1.base, main_~head~0#1.offset := main_~prev~0#1.base, main_~prev~0#1.offset;main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1084#false} is VALID [2022-02-20 16:53:06,125 INFO L290 TraceCheckUtils]: 14: Hoare triple {1084#false} assume !!(main_~x~0#1.base != 0bv32 || main_~x~0#1.offset != 0bv32);call main_#t~mem13#1 := read~intINTTYPE4(main_~x~0#1.base, ~bvadd32(4bv32, main_~x~0#1.offset), 4bv32);main_~t1~0#1 := main_#t~mem13#1;havoc main_#t~mem13#1;main_~t2~0#1 := 0bv32; {1084#false} is VALID [2022-02-20 16:53:06,125 INFO L290 TraceCheckUtils]: 15: Hoare triple {1084#false} assume 2bv32 == main_~t1~0#1;call main_#t~mem14#1.base, main_#t~mem14#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4bv32);call main_#t~mem15#1 := read~intINTTYPE4(main_#t~mem14#1.base, ~bvadd32(4bv32, main_#t~mem14#1.offset), 4bv32);main_~t2~0#1 := main_#t~mem15#1;havoc main_#t~mem14#1.base, main_#t~mem14#1.offset;havoc main_#t~mem15#1; {1084#false} is VALID [2022-02-20 16:53:06,125 INFO L290 TraceCheckUtils]: 16: Hoare triple {1084#false} assume !(2bv32 != main_~t1~0#1 || 1bv32 == main_~t2~0#1); {1084#false} is VALID [2022-02-20 16:53:06,126 INFO L290 TraceCheckUtils]: 17: Hoare triple {1084#false} assume !false; {1084#false} is VALID [2022-02-20 16:53:06,126 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 16:53:06,126 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 16:53:06,248 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 16:53:06,249 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 63 treesize of output 66 [2022-02-20 16:53:06,262 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 38 treesize of output 36 [2022-02-20 16:53:06,542 INFO L290 TraceCheckUtils]: 17: Hoare triple {1084#false} assume !false; {1084#false} is VALID [2022-02-20 16:53:06,542 INFO L290 TraceCheckUtils]: 16: Hoare triple {1084#false} assume !(2bv32 != main_~t1~0#1 || 1bv32 == main_~t2~0#1); {1084#false} is VALID [2022-02-20 16:53:06,543 INFO L290 TraceCheckUtils]: 15: Hoare triple {1084#false} assume 2bv32 == main_~t1~0#1;call main_#t~mem14#1.base, main_#t~mem14#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4bv32);call main_#t~mem15#1 := read~intINTTYPE4(main_#t~mem14#1.base, ~bvadd32(4bv32, main_#t~mem14#1.offset), 4bv32);main_~t2~0#1 := main_#t~mem15#1;havoc main_#t~mem14#1.base, main_#t~mem14#1.offset;havoc main_#t~mem15#1; {1084#false} is VALID [2022-02-20 16:53:06,543 INFO L290 TraceCheckUtils]: 14: Hoare triple {1084#false} assume !!(main_~x~0#1.base != 0bv32 || main_~x~0#1.offset != 0bv32);call main_#t~mem13#1 := read~intINTTYPE4(main_~x~0#1.base, ~bvadd32(4bv32, main_~x~0#1.offset), 4bv32);main_~t1~0#1 := main_#t~mem13#1;havoc main_#t~mem13#1;main_~t2~0#1 := 0bv32; {1084#false} is VALID [2022-02-20 16:53:06,543 INFO L290 TraceCheckUtils]: 13: Hoare triple {1084#false} main_~head~0#1.base, main_~head~0#1.offset := main_~prev~0#1.base, main_~prev~0#1.offset;main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1084#false} is VALID [2022-02-20 16:53:06,543 INFO L290 TraceCheckUtils]: 12: Hoare triple {1126#(not (= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32)))} assume !(main_~x~0#1.base != 0bv32 || main_~x~0#1.offset != 0bv32); {1084#false} is VALID [2022-02-20 16:53:06,544 INFO L290 TraceCheckUtils]: 11: Hoare triple {1163#(not (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) (_ bv0 32)))} assume !!(main_~x~0#1.base != 0bv32 || main_~x~0#1.offset != 0bv32);call main_#t~mem12#1.base, main_#t~mem12#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4bv32);main_~next~0#1.base, main_~next~0#1.offset := main_#t~mem12#1.base, main_#t~mem12#1.offset;havoc main_#t~mem12#1.base, main_#t~mem12#1.offset;call write~$Pointer$(main_~prev~0#1.base, main_~prev~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4bv32);main_~prev~0#1.base, main_~prev~0#1.offset := main_~x~0#1.base, main_~x~0#1.offset;main_~x~0#1.base, main_~x~0#1.offset := main_~next~0#1.base, main_~next~0#1.offset; {1126#(not (= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32)))} is VALID [2022-02-20 16:53:06,545 INFO L290 TraceCheckUtils]: 10: Hoare triple {1167#(not (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) (_ bv0 32)))} main_~prev~0#1.base, main_~prev~0#1.offset := 0bv32, 0bv32;main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1163#(not (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) (_ bv0 32)))} is VALID [2022-02-20 16:53:06,547 INFO L290 TraceCheckUtils]: 9: Hoare triple {1171#(or (and (= |ULTIMATE.start_main_#t~mem8#1.base| (_ bv0 32)) (= (_ bv0 32) |ULTIMATE.start_main_#t~mem8#1.offset|)) (forall ((v_ArrVal_124 (Array (_ BitVec 32) (_ BitVec 32)))) (not (= (_ bv0 32) (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) v_ArrVal_124) |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|)))))} assume !(main_#t~mem8#1.base == 0bv32 && main_#t~mem8#1.offset == 0bv32);havoc main_#t~mem8#1.base, main_#t~mem8#1.offset;call main_#t~mem11#1.base, main_#t~mem11#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4bv32);call write~intINTTYPE4(2bv32, main_#t~mem11#1.base, ~bvadd32(4bv32, main_#t~mem11#1.offset), 4bv32);havoc main_#t~mem11#1.base, main_#t~mem11#1.offset; {1167#(not (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) (_ bv0 32)))} is VALID [2022-02-20 16:53:06,551 INFO L290 TraceCheckUtils]: 8: Hoare triple {1175#(and (forall ((v_ArrVal_122 (_ BitVec 32))) (= (select (store (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_~x~0#1.offset|) v_ArrVal_122) |ULTIMATE.start_main_~x~0#1.offset|) (_ bv0 32))) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|) (forall ((v_ArrVal_122 (_ BitVec 32))) (not (= |ULTIMATE.start_main_~head~0#1.base| (select (store (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_~x~0#1.offset|) v_ArrVal_122) |ULTIMATE.start_main_~x~0#1.offset|)))))} call write~intINTTYPE4(1bv32, main_~x~0#1.base, ~bvadd32(4bv32, main_~x~0#1.offset), 4bv32);call main_#t~mem8#1.base, main_#t~mem8#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4bv32); {1171#(or (and (= |ULTIMATE.start_main_#t~mem8#1.base| (_ bv0 32)) (= (_ bv0 32) |ULTIMATE.start_main_#t~mem8#1.offset|)) (forall ((v_ArrVal_124 (Array (_ BitVec 32) (_ BitVec 32)))) (not (= (_ bv0 32) (select (select (store |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) v_ArrVal_124) |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|)))))} is VALID [2022-02-20 16:53:06,552 INFO L290 TraceCheckUtils]: 7: Hoare triple {1175#(and (forall ((v_ArrVal_122 (_ BitVec 32))) (= (select (store (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_~x~0#1.offset|) v_ArrVal_122) |ULTIMATE.start_main_~x~0#1.offset|) (_ bv0 32))) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|) (forall ((v_ArrVal_122 (_ BitVec 32))) (not (= |ULTIMATE.start_main_~head~0#1.base| (select (store (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_~x~0#1.offset|) v_ArrVal_122) |ULTIMATE.start_main_~x~0#1.offset|)))))} goto; {1175#(and (forall ((v_ArrVal_122 (_ BitVec 32))) (= (select (store (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_~x~0#1.offset|) v_ArrVal_122) |ULTIMATE.start_main_~x~0#1.offset|) (_ bv0 32))) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|) (forall ((v_ArrVal_122 (_ BitVec 32))) (not (= |ULTIMATE.start_main_~head~0#1.base| (select (store (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_~x~0#1.offset|) v_ArrVal_122) |ULTIMATE.start_main_~x~0#1.offset|)))))} is VALID [2022-02-20 16:53:06,554 INFO L290 TraceCheckUtils]: 6: Hoare triple {1175#(and (forall ((v_ArrVal_122 (_ BitVec 32))) (= (select (store (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_~x~0#1.offset|) v_ArrVal_122) |ULTIMATE.start_main_~x~0#1.offset|) (_ bv0 32))) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|) (forall ((v_ArrVal_122 (_ BitVec 32))) (not (= |ULTIMATE.start_main_~head~0#1.base| (select (store (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_~x~0#1.offset|) v_ArrVal_122) |ULTIMATE.start_main_~x~0#1.offset|)))))} assume !!(main_~x~0#1.base != 0bv32 || main_~x~0#1.offset != 0bv32); {1175#(and (forall ((v_ArrVal_122 (_ BitVec 32))) (= (select (store (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_~x~0#1.offset|) v_ArrVal_122) |ULTIMATE.start_main_~x~0#1.offset|) (_ bv0 32))) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|) (forall ((v_ArrVal_122 (_ BitVec 32))) (not (= |ULTIMATE.start_main_~head~0#1.base| (select (store (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_~x~0#1.offset|) v_ArrVal_122) |ULTIMATE.start_main_~x~0#1.offset|)))))} is VALID [2022-02-20 16:53:06,556 INFO L290 TraceCheckUtils]: 5: Hoare triple {1175#(and (forall ((v_ArrVal_122 (_ BitVec 32))) (= (select (store (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_~x~0#1.offset|) v_ArrVal_122) |ULTIMATE.start_main_~x~0#1.offset|) (_ bv0 32))) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|) (forall ((v_ArrVal_122 (_ BitVec 32))) (not (= |ULTIMATE.start_main_~head~0#1.base| (select (store (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_~x~0#1.offset|) v_ArrVal_122) |ULTIMATE.start_main_~x~0#1.offset|)))))} assume !((main_#t~mem5#1.base != 0bv32 || main_#t~mem5#1.offset != 0bv32) && 0bv32 != main_#t~nondet6#1);havoc main_#t~mem5#1.base, main_#t~mem5#1.offset;havoc main_#t~nondet6#1; {1175#(and (forall ((v_ArrVal_122 (_ BitVec 32))) (= (select (store (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_~x~0#1.offset|) v_ArrVal_122) |ULTIMATE.start_main_~x~0#1.offset|) (_ bv0 32))) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|) (forall ((v_ArrVal_122 (_ BitVec 32))) (not (= |ULTIMATE.start_main_~head~0#1.base| (select (store (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_~x~0#1.offset|) v_ArrVal_122) |ULTIMATE.start_main_~x~0#1.offset|)))))} is VALID [2022-02-20 16:53:06,557 INFO L290 TraceCheckUtils]: 4: Hoare triple {1175#(and (forall ((v_ArrVal_122 (_ BitVec 32))) (= (select (store (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_~x~0#1.offset|) v_ArrVal_122) |ULTIMATE.start_main_~x~0#1.offset|) (_ bv0 32))) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|) (forall ((v_ArrVal_122 (_ BitVec 32))) (not (= |ULTIMATE.start_main_~head~0#1.base| (select (store (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_~x~0#1.offset|) v_ArrVal_122) |ULTIMATE.start_main_~x~0#1.offset|)))))} call main_#t~mem5#1.base, main_#t~mem5#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4bv32); {1175#(and (forall ((v_ArrVal_122 (_ BitVec 32))) (= (select (store (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_~x~0#1.offset|) v_ArrVal_122) |ULTIMATE.start_main_~x~0#1.offset|) (_ bv0 32))) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|) (forall ((v_ArrVal_122 (_ BitVec 32))) (not (= |ULTIMATE.start_main_~head~0#1.base| (select (store (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_~x~0#1.offset|) v_ArrVal_122) |ULTIMATE.start_main_~x~0#1.offset|)))))} is VALID [2022-02-20 16:53:06,559 INFO L290 TraceCheckUtils]: 3: Hoare triple {1191#(and (forall ((v_ArrVal_122 (_ BitVec 32))) (not (= |ULTIMATE.start_main_~head~0#1.base| (select (store (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_~head~0#1.offset|) v_ArrVal_122) |ULTIMATE.start_main_~head~0#1.offset|)))) (forall ((v_ArrVal_122 (_ BitVec 32))) (= (select (store (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_~head~0#1.offset|) v_ArrVal_122) |ULTIMATE.start_main_~head~0#1.offset|) (_ bv0 32))))} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1175#(and (forall ((v_ArrVal_122 (_ BitVec 32))) (= (select (store (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_~x~0#1.offset|) v_ArrVal_122) |ULTIMATE.start_main_~x~0#1.offset|) (_ bv0 32))) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|) (forall ((v_ArrVal_122 (_ BitVec 32))) (not (= |ULTIMATE.start_main_~head~0#1.base| (select (store (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_~x~0#1.offset|) v_ArrVal_122) |ULTIMATE.start_main_~x~0#1.offset|)))))} is VALID [2022-02-20 16:53:06,559 INFO L290 TraceCheckUtils]: 2: Hoare triple {1191#(and (forall ((v_ArrVal_122 (_ BitVec 32))) (not (= |ULTIMATE.start_main_~head~0#1.base| (select (store (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_~head~0#1.offset|) v_ArrVal_122) |ULTIMATE.start_main_~head~0#1.offset|)))) (forall ((v_ArrVal_122 (_ BitVec 32))) (= (select (store (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_~head~0#1.offset|) v_ArrVal_122) |ULTIMATE.start_main_~head~0#1.offset|) (_ bv0 32))))} assume !(0bv32 != main_#t~nondet2#1);havoc main_#t~nondet2#1; {1191#(and (forall ((v_ArrVal_122 (_ BitVec 32))) (not (= |ULTIMATE.start_main_~head~0#1.base| (select (store (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_~head~0#1.offset|) v_ArrVal_122) |ULTIMATE.start_main_~head~0#1.offset|)))) (forall ((v_ArrVal_122 (_ BitVec 32))) (= (select (store (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_~head~0#1.offset|) v_ArrVal_122) |ULTIMATE.start_main_~head~0#1.offset|) (_ bv0 32))))} is VALID [2022-02-20 16:53:06,562 INFO L290 TraceCheckUtils]: 1: Hoare triple {1083#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~mem4#1.base, main_#t~mem4#1.offset, main_#t~nondet2#1, main_#t~mem7#1.base, main_#t~mem7#1.offset, main_#t~mem5#1.base, main_#t~mem5#1.offset, main_#t~nondet6#1, main_#t~mem8#1.base, main_#t~mem8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~mem11#1.base, main_#t~mem11#1.offset, main_#t~mem12#1.base, main_#t~mem12#1.offset, main_~next~0#1.base, main_~next~0#1.offset, main_#t~mem13#1, main_#t~mem14#1.base, main_#t~mem14#1.offset, main_#t~mem15#1, main_#t~mem16#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_~t1~0#1, main_~t2~0#1, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, main_~prev~0#1.base, main_~prev~0#1.offset;call main_#t~malloc1#1.base, main_#t~malloc1#1.offset := #Ultimate.allocOnHeap(8bv32);main_~head~0#1.base, main_~head~0#1.offset := main_#t~malloc1#1.base, main_#t~malloc1#1.offset;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset;call write~$Pointer$(0bv32, 0bv32, main_~head~0#1.base, main_~head~0#1.offset, 4bv32);call write~intINTTYPE4(0bv32, main_~head~0#1.base, ~bvadd32(4bv32, main_~head~0#1.offset), 4bv32);main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1191#(and (forall ((v_ArrVal_122 (_ BitVec 32))) (not (= |ULTIMATE.start_main_~head~0#1.base| (select (store (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_~head~0#1.offset|) v_ArrVal_122) |ULTIMATE.start_main_~head~0#1.offset|)))) (forall ((v_ArrVal_122 (_ BitVec 32))) (= (select (store (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_~head~0#1.offset|) v_ArrVal_122) |ULTIMATE.start_main_~head~0#1.offset|) (_ bv0 32))))} is VALID [2022-02-20 16:53:06,563 INFO L290 TraceCheckUtils]: 0: Hoare triple {1083#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(21bv32, 2bv32); {1083#true} is VALID [2022-02-20 16:53:06,563 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 16:53:06,563 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 16:53:06,563 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [563940737] [2022-02-20 16:53:06,563 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [563940737] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 16:53:06,563 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 16:53:06,564 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 13 [2022-02-20 16:53:06,564 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [332055733] [2022-02-20 16:53:06,564 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 16:53:06,564 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.230769230769231) internal successors, (29), 13 states have internal predecessors, (29), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 18 [2022-02-20 16:53:06,565 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:53:06,565 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 2.230769230769231) internal successors, (29), 13 states have internal predecessors, (29), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:53:06,600 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:53:06,600 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-02-20 16:53:06,600 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 16:53:06,601 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-02-20 16:53:06,601 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=121, Unknown=0, NotChecked=0, Total=156 [2022-02-20 16:53:06,601 INFO L87 Difference]: Start difference. First operand 42 states and 53 transitions. Second operand has 13 states, 13 states have (on average 2.230769230769231) internal successors, (29), 13 states have internal predecessors, (29), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:53:07,717 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:53:07,718 INFO L93 Difference]: Finished difference Result 66 states and 81 transitions. [2022-02-20 16:53:07,718 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 16:53:07,718 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.230769230769231) internal successors, (29), 13 states have internal predecessors, (29), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 18 [2022-02-20 16:53:07,718 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:53:07,718 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.230769230769231) internal successors, (29), 13 states have internal predecessors, (29), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:53:07,720 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 70 transitions. [2022-02-20 16:53:07,720 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.230769230769231) internal successors, (29), 13 states have internal predecessors, (29), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:53:07,721 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 70 transitions. [2022-02-20 16:53:07,721 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 70 transitions. [2022-02-20 16:53:07,794 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:53:07,796 INFO L225 Difference]: With dead ends: 66 [2022-02-20 16:53:07,796 INFO L226 Difference]: Without dead ends: 56 [2022-02-20 16:53:07,796 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 35 GetRequests, 23 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 26 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=46, Invalid=136, Unknown=0, NotChecked=0, Total=182 [2022-02-20 16:53:07,797 INFO L933 BasicCegarLoop]: 22 mSDtfsCounter, 19 mSDsluCounter, 98 mSDsCounter, 0 mSdLazyCounter, 100 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 120 SdHoareTripleChecker+Invalid, 160 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 100 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 47 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-02-20 16:53:07,797 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 120 Invalid, 160 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 100 Invalid, 0 Unknown, 47 Unchecked, 0.4s Time] [2022-02-20 16:53:07,798 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 56 states. [2022-02-20 16:53:07,801 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 56 to 34. [2022-02-20 16:53:07,801 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:53:07,801 INFO L82 GeneralOperation]: Start isEquivalent. First operand 56 states. Second operand has 34 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 33 states have internal predecessors, (42), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:53:07,801 INFO L74 IsIncluded]: Start isIncluded. First operand 56 states. Second operand has 34 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 33 states have internal predecessors, (42), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:53:07,802 INFO L87 Difference]: Start difference. First operand 56 states. Second operand has 34 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 33 states have internal predecessors, (42), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:53:07,803 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:53:07,803 INFO L93 Difference]: Finished difference Result 56 states and 68 transitions. [2022-02-20 16:53:07,803 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 68 transitions. [2022-02-20 16:53:07,804 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:53:07,804 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:53:07,804 INFO L74 IsIncluded]: Start isIncluded. First operand has 34 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 33 states have internal predecessors, (42), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 56 states. [2022-02-20 16:53:07,804 INFO L87 Difference]: Start difference. First operand has 34 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 33 states have internal predecessors, (42), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 56 states. [2022-02-20 16:53:07,806 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:53:07,806 INFO L93 Difference]: Finished difference Result 56 states and 68 transitions. [2022-02-20 16:53:07,806 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 68 transitions. [2022-02-20 16:53:07,807 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:53:07,807 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:53:07,807 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:53:07,807 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:53:07,807 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 33 states have internal predecessors, (42), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:53:07,808 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 42 transitions. [2022-02-20 16:53:07,808 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 42 transitions. Word has length 18 [2022-02-20 16:53:07,809 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:53:07,809 INFO L470 AbstractCegarLoop]: Abstraction has 34 states and 42 transitions. [2022-02-20 16:53:07,809 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 2.230769230769231) internal successors, (29), 13 states have internal predecessors, (29), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:53:07,809 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 42 transitions. [2022-02-20 16:53:07,810 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2022-02-20 16:53:07,810 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:53:07,810 INFO L514 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:53:07,826 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:53:08,021 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 16:53:08,021 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting ULTIMATE.startErr2ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr2ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:53:08,022 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:53:08,022 INFO L85 PathProgramCache]: Analyzing trace with hash 1413183039, now seen corresponding path program 2 times [2022-02-20 16:53:08,022 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:53:08,022 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [296308039] [2022-02-20 16:53:08,022 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 16:53:08,023 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:53:08,023 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:53:08,024 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 16:53:08,025 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (7)] Waiting until timeout for monitored process [2022-02-20 16:53:08,163 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-20 16:53:08,163 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 16:53:08,167 INFO L263 TraceCheckSpWp]: Trace formula consists of 141 conjuncts, 41 conjunts are in the unsatisfiable core [2022-02-20 16:53:08,187 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:53:08,189 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:53:08,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, 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:53:08,333 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:53:08,389 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:53:08,390 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 26 [2022-02-20 16:53:08,404 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 14 treesize of output 14 [2022-02-20 16:53:08,420 INFO L356 Elim1Store]: treesize reduction 15, result has 25.0 percent of original size [2022-02-20 16:53:08,421 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 30 treesize of output 31 [2022-02-20 16:53:08,426 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:53:08,427 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:53:08,437 INFO L356 Elim1Store]: treesize reduction 4, result has 66.7 percent of original size [2022-02-20 16:53:08,438 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 15 treesize of output 15 [2022-02-20 16:53:08,510 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:53:08,518 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 19 treesize of output 18 [2022-02-20 16:53:08,575 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2022-02-20 16:53:08,581 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 18 treesize of output 20 [2022-02-20 16:53:08,590 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 11 treesize of output 7 [2022-02-20 16:53:08,702 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 37 treesize of output 25 [2022-02-20 16:53:08,713 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 21 treesize of output 13 [2022-02-20 16:53:08,727 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:53:08,745 INFO L290 TraceCheckUtils]: 0: Hoare triple {1438#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(21bv32, 2bv32); {1438#true} is VALID [2022-02-20 16:53:08,751 INFO L290 TraceCheckUtils]: 1: Hoare triple {1438#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~mem4#1.base, main_#t~mem4#1.offset, main_#t~nondet2#1, main_#t~mem7#1.base, main_#t~mem7#1.offset, main_#t~mem5#1.base, main_#t~mem5#1.offset, main_#t~nondet6#1, main_#t~mem8#1.base, main_#t~mem8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~mem11#1.base, main_#t~mem11#1.offset, main_#t~mem12#1.base, main_#t~mem12#1.offset, main_~next~0#1.base, main_~next~0#1.offset, main_#t~mem13#1, main_#t~mem14#1.base, main_#t~mem14#1.offset, main_#t~mem15#1, main_#t~mem16#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_~t1~0#1, main_~t2~0#1, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, main_~prev~0#1.base, main_~prev~0#1.offset;call main_#t~malloc1#1.base, main_#t~malloc1#1.offset := #Ultimate.allocOnHeap(8bv32);main_~head~0#1.base, main_~head~0#1.offset := main_#t~malloc1#1.base, main_#t~malloc1#1.offset;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset;call write~$Pointer$(0bv32, 0bv32, main_~head~0#1.base, main_~head~0#1.offset, 4bv32);call write~intINTTYPE4(0bv32, main_~head~0#1.base, ~bvadd32(4bv32, main_~head~0#1.offset), 4bv32);main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1446#(and (= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) (_ bv1 1)))} is VALID [2022-02-20 16:53:08,758 INFO L290 TraceCheckUtils]: 2: Hoare triple {1446#(and (= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) (_ bv1 1)))} assume !(0bv32 != main_#t~nondet2#1);havoc main_#t~nondet2#1; {1446#(and (= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) (_ bv1 1)))} is VALID [2022-02-20 16:53:08,758 INFO L290 TraceCheckUtils]: 3: Hoare triple {1446#(and (= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) (_ bv1 1)))} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1453#(and (= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|))} is VALID [2022-02-20 16:53:08,759 INFO L290 TraceCheckUtils]: 4: Hoare triple {1453#(and (= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|))} call main_#t~mem5#1.base, main_#t~mem5#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4bv32); {1453#(and (= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|))} is VALID [2022-02-20 16:53:08,760 INFO L290 TraceCheckUtils]: 5: Hoare triple {1453#(and (= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|))} assume !((main_#t~mem5#1.base != 0bv32 || main_#t~mem5#1.offset != 0bv32) && 0bv32 != main_#t~nondet6#1);havoc main_#t~mem5#1.base, main_#t~mem5#1.offset;havoc main_#t~nondet6#1; {1453#(and (= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|))} is VALID [2022-02-20 16:53:08,760 INFO L290 TraceCheckUtils]: 6: Hoare triple {1453#(and (= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|))} assume !!(main_~x~0#1.base != 0bv32 || main_~x~0#1.offset != 0bv32); {1453#(and (= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|))} is VALID [2022-02-20 16:53:08,761 INFO L290 TraceCheckUtils]: 7: Hoare triple {1453#(and (= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|))} goto; {1453#(and (= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|))} is VALID [2022-02-20 16:53:08,762 INFO L290 TraceCheckUtils]: 8: Hoare triple {1453#(and (= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|))} call write~intINTTYPE4(1bv32, main_~x~0#1.base, ~bvadd32(4bv32, main_~x~0#1.offset), 4bv32);call main_#t~mem8#1.base, main_#t~mem8#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4bv32); {1469#(and (= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_~x~0#1.offset|)) (_ bv1 32)) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|))} is VALID [2022-02-20 16:53:08,766 INFO L290 TraceCheckUtils]: 9: Hoare triple {1469#(and (= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_~x~0#1.offset|)) (_ bv1 32)) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|))} assume main_#t~mem8#1.base == 0bv32 && main_#t~mem8#1.offset == 0bv32;havoc main_#t~mem8#1.base, main_#t~mem8#1.offset;call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnHeap(8bv32);call write~$Pointer$(main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4bv32);havoc main_#t~malloc9#1.base, main_#t~malloc9#1.offset;call main_#t~mem10#1.base, main_#t~mem10#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4bv32);main_~x~0#1.base, main_~x~0#1.offset := main_#t~mem10#1.base, main_#t~mem10#1.offset;havoc main_#t~mem10#1.base, main_#t~mem10#1.offset;call write~$Pointer$(0bv32, 0bv32, main_~x~0#1.base, main_~x~0#1.offset, 4bv32);call write~intINTTYPE4(2bv32, main_~x~0#1.base, ~bvadd32(4bv32, main_~x~0#1.offset), 4bv32); {1473#(and (= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_~head~0#1.offset|)) (_ bv1 32)) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) |ULTIMATE.start_main_~head~0#1.base|)))} is VALID [2022-02-20 16:53:08,767 INFO L290 TraceCheckUtils]: 10: Hoare triple {1473#(and (= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_~head~0#1.offset|)) (_ bv1 32)) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) |ULTIMATE.start_main_~head~0#1.base|)))} main_~prev~0#1.base, main_~prev~0#1.offset := 0bv32, 0bv32;main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1477#(and (not (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (_ bv0 32)))) (= (_ bv1 32) (select (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) (_ bv4 32))) (= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32)))} is VALID [2022-02-20 16:53:08,769 INFO L290 TraceCheckUtils]: 11: Hoare triple {1477#(and (not (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (_ bv0 32)))) (= (_ bv1 32) (select (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) (_ bv4 32))) (= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32)))} assume !!(main_~x~0#1.base != 0bv32 || main_~x~0#1.offset != 0bv32);call main_#t~mem12#1.base, main_#t~mem12#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4bv32);main_~next~0#1.base, main_~next~0#1.offset := main_#t~mem12#1.base, main_#t~mem12#1.offset;havoc main_#t~mem12#1.base, main_#t~mem12#1.offset;call write~$Pointer$(main_~prev~0#1.base, main_~prev~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4bv32);main_~prev~0#1.base, main_~prev~0#1.offset := main_~x~0#1.base, main_~x~0#1.offset;main_~x~0#1.base, main_~x~0#1.offset := main_~next~0#1.base, main_~next~0#1.offset; {1481#(and (= |ULTIMATE.start_main_~prev~0#1.offset| (_ bv0 32)) (= (select (select |#memory_int| |ULTIMATE.start_main_~prev~0#1.base|) (_ bv4 32)) (_ bv1 32)) (not (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~prev~0#1.base|)))} is VALID [2022-02-20 16:53:08,770 INFO L290 TraceCheckUtils]: 12: Hoare triple {1481#(and (= |ULTIMATE.start_main_~prev~0#1.offset| (_ bv0 32)) (= (select (select |#memory_int| |ULTIMATE.start_main_~prev~0#1.base|) (_ bv4 32)) (_ bv1 32)) (not (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~prev~0#1.base|)))} assume !!(main_~x~0#1.base != 0bv32 || main_~x~0#1.offset != 0bv32);call main_#t~mem12#1.base, main_#t~mem12#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4bv32);main_~next~0#1.base, main_~next~0#1.offset := main_#t~mem12#1.base, main_#t~mem12#1.offset;havoc main_#t~mem12#1.base, main_#t~mem12#1.offset;call write~$Pointer$(main_~prev~0#1.base, main_~prev~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4bv32);main_~prev~0#1.base, main_~prev~0#1.offset := main_~x~0#1.base, main_~x~0#1.offset;main_~x~0#1.base, main_~x~0#1.offset := main_~next~0#1.base, main_~next~0#1.offset; {1485#(and (= (_ bv1 32) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~prev~0#1.base|) |ULTIMATE.start_main_~prev~0#1.offset|)) (_ bv4 32))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~prev~0#1.base|) |ULTIMATE.start_main_~prev~0#1.offset|) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~prev~0#1.base|) |ULTIMATE.start_main_~prev~0#1.offset|) |ULTIMATE.start_main_~prev~0#1.base|)))} is VALID [2022-02-20 16:53:08,775 INFO L290 TraceCheckUtils]: 13: Hoare triple {1485#(and (= (_ bv1 32) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~prev~0#1.base|) |ULTIMATE.start_main_~prev~0#1.offset|)) (_ bv4 32))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~prev~0#1.base|) |ULTIMATE.start_main_~prev~0#1.offset|) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~prev~0#1.base|) |ULTIMATE.start_main_~prev~0#1.offset|) |ULTIMATE.start_main_~prev~0#1.base|)))} assume !(main_~x~0#1.base != 0bv32 || main_~x~0#1.offset != 0bv32); {1485#(and (= (_ bv1 32) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~prev~0#1.base|) |ULTIMATE.start_main_~prev~0#1.offset|)) (_ bv4 32))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~prev~0#1.base|) |ULTIMATE.start_main_~prev~0#1.offset|) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~prev~0#1.base|) |ULTIMATE.start_main_~prev~0#1.offset|) |ULTIMATE.start_main_~prev~0#1.base|)))} is VALID [2022-02-20 16:53:08,776 INFO L290 TraceCheckUtils]: 14: Hoare triple {1485#(and (= (_ bv1 32) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~prev~0#1.base|) |ULTIMATE.start_main_~prev~0#1.offset|)) (_ bv4 32))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~prev~0#1.base|) |ULTIMATE.start_main_~prev~0#1.offset|) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~prev~0#1.base|) |ULTIMATE.start_main_~prev~0#1.offset|) |ULTIMATE.start_main_~prev~0#1.base|)))} main_~head~0#1.base, main_~head~0#1.offset := main_~prev~0#1.base, main_~prev~0#1.offset;main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1492#(and (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (_ bv4 32)) (_ bv1 32)) (not (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) (_ bv0 32)))} is VALID [2022-02-20 16:53:08,777 INFO L290 TraceCheckUtils]: 15: Hoare triple {1492#(and (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (_ bv4 32)) (_ bv1 32)) (not (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) (_ bv0 32)))} assume !!(main_~x~0#1.base != 0bv32 || main_~x~0#1.offset != 0bv32);call main_#t~mem13#1 := read~intINTTYPE4(main_~x~0#1.base, ~bvadd32(4bv32, main_~x~0#1.offset), 4bv32);main_~t1~0#1 := main_#t~mem13#1;havoc main_#t~mem13#1;main_~t2~0#1 := 0bv32; {1492#(and (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (_ bv4 32)) (_ bv1 32)) (not (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) (_ bv0 32)))} is VALID [2022-02-20 16:53:08,778 INFO L290 TraceCheckUtils]: 16: Hoare triple {1492#(and (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (_ bv4 32)) (_ bv1 32)) (not (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) (_ bv0 32)))} assume 2bv32 == main_~t1~0#1;call main_#t~mem14#1.base, main_#t~mem14#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4bv32);call main_#t~mem15#1 := read~intINTTYPE4(main_#t~mem14#1.base, ~bvadd32(4bv32, main_#t~mem14#1.offset), 4bv32);main_~t2~0#1 := main_#t~mem15#1;havoc main_#t~mem14#1.base, main_#t~mem14#1.offset;havoc main_#t~mem15#1; {1499#(= |ULTIMATE.start_main_~t2~0#1| (_ bv1 32))} is VALID [2022-02-20 16:53:08,778 INFO L290 TraceCheckUtils]: 17: Hoare triple {1499#(= |ULTIMATE.start_main_~t2~0#1| (_ bv1 32))} assume !(2bv32 != main_~t1~0#1 || 1bv32 == main_~t2~0#1); {1439#false} is VALID [2022-02-20 16:53:08,778 INFO L290 TraceCheckUtils]: 18: Hoare triple {1439#false} assume !false; {1439#false} is VALID [2022-02-20 16:53:08,778 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 16:53:08,779 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 16:53:08,875 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_194 (Array (_ BitVec 32) (_ BitVec 32)))) (= (_ bv1 32) (select (select (store |c_#memory_int| |c_ULTIMATE.start_main_~x~0#1.base| v_ArrVal_194) |c_ULTIMATE.start_main_~prev~0#1.base|) (bvadd (_ bv4 32) |c_ULTIMATE.start_main_~prev~0#1.offset|)))) is different from false [2022-02-20 16:53:08,891 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_190 (_ BitVec 32)) (v_ArrVal_194 (Array (_ BitVec 32) (_ BitVec 32)))) (= (_ bv1 32) (select (select (store (store |c_#memory_int| |c_ULTIMATE.start_main_~x~0#1.base| (store (select |c_#memory_int| |c_ULTIMATE.start_main_~x~0#1.base|) |c_ULTIMATE.start_main_~x~0#1.offset| v_ArrVal_190)) (select (select |c_#memory_$Pointer$.base| |c_ULTIMATE.start_main_~x~0#1.base|) |c_ULTIMATE.start_main_~x~0#1.offset|) v_ArrVal_194) |c_ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv4 32) |c_ULTIMATE.start_main_~x~0#1.offset|)))) is different from false [2022-02-20 16:53:08,904 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_190 (_ BitVec 32)) (v_ArrVal_194 (Array (_ BitVec 32) (_ BitVec 32)))) (= (select (select (store (store |c_#memory_int| |c_ULTIMATE.start_main_~head~0#1.base| (store (select |c_#memory_int| |c_ULTIMATE.start_main_~head~0#1.base|) |c_ULTIMATE.start_main_~head~0#1.offset| v_ArrVal_190)) (select (select |c_#memory_$Pointer$.base| |c_ULTIMATE.start_main_~head~0#1.base|) |c_ULTIMATE.start_main_~head~0#1.offset|) v_ArrVal_194) |c_ULTIMATE.start_main_~head~0#1.base|) (bvadd |c_ULTIMATE.start_main_~head~0#1.offset| (_ bv4 32))) (_ bv1 32))) is different from false [2022-02-20 16:53:08,930 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 16:53:08,931 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 57 treesize of output 58 [2022-02-20 16:53:08,967 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 16:53:08,968 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 134 treesize of output 113 [2022-02-20 16:53:08,982 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 48 treesize of output 46 [2022-02-20 16:53:09,696 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 16:53:09,697 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 26 treesize of output 30 [2022-02-20 16:53:10,142 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 16:53:10,142 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 26 treesize of output 30 [2022-02-20 16:53:10,546 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 16:53:10,547 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 26 treesize of output 30 [2022-02-20 16:53:10,725 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_190 (_ BitVec 32)) (v_ArrVal_183 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_194 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_188 (_ BitVec 32)) (v_arrayElimCell_29 (_ BitVec 32)) (v_arrayElimCell_28 (_ BitVec 32))) (let ((.cse1 (= |c_ULTIMATE.start_main_~head~0#1.base| v_arrayElimCell_29))) (or (and (forall ((v_arrayElimCell_30 (_ BitVec 32))) (= (_ bv1 32) (select (select (store (let ((.cse0 (store (store |c_#memory_int| |c_ULTIMATE.start_main_~x~0#1.base| (store (select |c_#memory_int| |c_ULTIMATE.start_main_~x~0#1.base|) |c_ULTIMATE.start_main_~x~0#1.offset| v_ArrVal_188)) v_arrayElimCell_29 v_ArrVal_183))) (store .cse0 |c_ULTIMATE.start_main_~head~0#1.base| (store (select .cse0 |c_ULTIMATE.start_main_~head~0#1.base|) |c_ULTIMATE.start_main_~head~0#1.offset| v_ArrVal_190))) v_arrayElimCell_30 v_ArrVal_194) |c_ULTIMATE.start_main_~head~0#1.base|) (bvadd |c_ULTIMATE.start_main_~head~0#1.offset| (_ bv4 32))))) .cse1) (and (not (= v_arrayElimCell_28 v_arrayElimCell_29)) (= |c_ULTIMATE.start_main_~head~0#1.base| |c_ULTIMATE.start_main_~x~0#1.base|) (= |c_ULTIMATE.start_main_~head~0#1.offset| |c_ULTIMATE.start_main_~x~0#1.offset|)) (not (= (select |c_#valid| v_arrayElimCell_29) (_ bv0 1))) (and (= (select (select (store (let ((.cse2 (store (store |c_#memory_int| |c_ULTIMATE.start_main_~x~0#1.base| (store (select |c_#memory_int| |c_ULTIMATE.start_main_~x~0#1.base|) |c_ULTIMATE.start_main_~x~0#1.offset| v_ArrVal_188)) v_arrayElimCell_29 v_ArrVal_183))) (store .cse2 |c_ULTIMATE.start_main_~head~0#1.base| (store (select .cse2 |c_ULTIMATE.start_main_~head~0#1.base|) |c_ULTIMATE.start_main_~head~0#1.offset| v_ArrVal_190))) v_arrayElimCell_28 v_ArrVal_194) |c_ULTIMATE.start_main_~head~0#1.base|) (bvadd |c_ULTIMATE.start_main_~head~0#1.offset| (_ bv4 32))) (_ bv1 32)) (not .cse1))))) is different from false [2022-02-20 16:53:10,770 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 16:53:10,791 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 16:53:10,791 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 1 new quantified variables, introduced 2 case distinctions, treesize of input 114 treesize of output 80 [2022-02-20 16:53:10,841 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 16:53:10,842 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 160 treesize of output 160 [2022-02-20 16:53:10,854 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 160 treesize of output 144 [2022-02-20 16:53:10,859 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 16:53:10,867 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 138 treesize of output 130 [2022-02-20 16:53:11,104 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 8 treesize of output 4 [2022-02-20 16:53:11,314 INFO L290 TraceCheckUtils]: 18: Hoare triple {1439#false} assume !false; {1439#false} is VALID [2022-02-20 16:53:11,315 INFO L290 TraceCheckUtils]: 17: Hoare triple {1499#(= |ULTIMATE.start_main_~t2~0#1| (_ bv1 32))} assume !(2bv32 != main_~t1~0#1 || 1bv32 == main_~t2~0#1); {1439#false} is VALID [2022-02-20 16:53:11,315 INFO L290 TraceCheckUtils]: 16: Hoare triple {1512#(= (_ bv1 32) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|))))} assume 2bv32 == main_~t1~0#1;call main_#t~mem14#1.base, main_#t~mem14#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4bv32);call main_#t~mem15#1 := read~intINTTYPE4(main_#t~mem14#1.base, ~bvadd32(4bv32, main_#t~mem14#1.offset), 4bv32);main_~t2~0#1 := main_#t~mem15#1;havoc main_#t~mem14#1.base, main_#t~mem14#1.offset;havoc main_#t~mem15#1; {1499#(= |ULTIMATE.start_main_~t2~0#1| (_ bv1 32))} is VALID [2022-02-20 16:53:11,316 INFO L290 TraceCheckUtils]: 15: Hoare triple {1512#(= (_ bv1 32) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|))))} assume !!(main_~x~0#1.base != 0bv32 || main_~x~0#1.offset != 0bv32);call main_#t~mem13#1 := read~intINTTYPE4(main_~x~0#1.base, ~bvadd32(4bv32, main_~x~0#1.offset), 4bv32);main_~t1~0#1 := main_#t~mem13#1;havoc main_#t~mem13#1;main_~t2~0#1 := 0bv32; {1512#(= (_ bv1 32) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|))))} is VALID [2022-02-20 16:53:11,316 INFO L290 TraceCheckUtils]: 14: Hoare triple {1519#(= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~prev~0#1.base|) |ULTIMATE.start_main_~prev~0#1.offset|)) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~prev~0#1.base|) |ULTIMATE.start_main_~prev~0#1.offset|))) (_ bv1 32))} main_~head~0#1.base, main_~head~0#1.offset := main_~prev~0#1.base, main_~prev~0#1.offset;main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1512#(= (_ bv1 32) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|))))} is VALID [2022-02-20 16:53:11,317 INFO L290 TraceCheckUtils]: 13: Hoare triple {1519#(= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~prev~0#1.base|) |ULTIMATE.start_main_~prev~0#1.offset|)) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~prev~0#1.base|) |ULTIMATE.start_main_~prev~0#1.offset|))) (_ bv1 32))} assume !(main_~x~0#1.base != 0bv32 || main_~x~0#1.offset != 0bv32); {1519#(= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~prev~0#1.base|) |ULTIMATE.start_main_~prev~0#1.offset|)) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~prev~0#1.base|) |ULTIMATE.start_main_~prev~0#1.offset|))) (_ bv1 32))} is VALID [2022-02-20 16:53:11,708 INFO L290 TraceCheckUtils]: 12: Hoare triple {1526#(forall ((v_ArrVal_194 (Array (_ BitVec 32) (_ BitVec 32)))) (= (select (select (store |#memory_int| |ULTIMATE.start_main_~x~0#1.base| v_ArrVal_194) |ULTIMATE.start_main_~prev~0#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_~prev~0#1.offset|)) (_ bv1 32)))} assume !!(main_~x~0#1.base != 0bv32 || main_~x~0#1.offset != 0bv32);call main_#t~mem12#1.base, main_#t~mem12#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4bv32);main_~next~0#1.base, main_~next~0#1.offset := main_#t~mem12#1.base, main_#t~mem12#1.offset;havoc main_#t~mem12#1.base, main_#t~mem12#1.offset;call write~$Pointer$(main_~prev~0#1.base, main_~prev~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4bv32);main_~prev~0#1.base, main_~prev~0#1.offset := main_~x~0#1.base, main_~x~0#1.offset;main_~x~0#1.base, main_~x~0#1.offset := main_~next~0#1.base, main_~next~0#1.offset; {1519#(= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~prev~0#1.base|) |ULTIMATE.start_main_~prev~0#1.offset|)) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~prev~0#1.base|) |ULTIMATE.start_main_~prev~0#1.offset|))) (_ bv1 32))} is VALID [2022-02-20 16:53:11,714 INFO L290 TraceCheckUtils]: 11: Hoare triple {1530#(forall ((v_ArrVal_190 (_ BitVec 32)) (v_ArrVal_194 (Array (_ BitVec 32) (_ BitVec 32)))) (= (select (select (store (store |#memory_int| |ULTIMATE.start_main_~x~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset| v_ArrVal_190)) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) v_ArrVal_194) |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_~x~0#1.offset|)) (_ bv1 32)))} assume !!(main_~x~0#1.base != 0bv32 || main_~x~0#1.offset != 0bv32);call main_#t~mem12#1.base, main_#t~mem12#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4bv32);main_~next~0#1.base, main_~next~0#1.offset := main_#t~mem12#1.base, main_#t~mem12#1.offset;havoc main_#t~mem12#1.base, main_#t~mem12#1.offset;call write~$Pointer$(main_~prev~0#1.base, main_~prev~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4bv32);main_~prev~0#1.base, main_~prev~0#1.offset := main_~x~0#1.base, main_~x~0#1.offset;main_~x~0#1.base, main_~x~0#1.offset := main_~next~0#1.base, main_~next~0#1.offset; {1526#(forall ((v_ArrVal_194 (Array (_ BitVec 32) (_ BitVec 32)))) (= (select (select (store |#memory_int| |ULTIMATE.start_main_~x~0#1.base| v_ArrVal_194) |ULTIMATE.start_main_~prev~0#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_~prev~0#1.offset|)) (_ bv1 32)))} is VALID [2022-02-20 16:53:11,715 INFO L290 TraceCheckUtils]: 10: Hoare triple {1534#(forall ((v_ArrVal_190 (_ BitVec 32)) (v_ArrVal_194 (Array (_ BitVec 32) (_ BitVec 32)))) (= (select (select (store (store |#memory_int| |ULTIMATE.start_main_~head~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset| v_ArrVal_190)) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) v_ArrVal_194) |ULTIMATE.start_main_~head~0#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_~head~0#1.offset|)) (_ bv1 32)))} main_~prev~0#1.base, main_~prev~0#1.offset := 0bv32, 0bv32;main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1530#(forall ((v_ArrVal_190 (_ BitVec 32)) (v_ArrVal_194 (Array (_ BitVec 32) (_ BitVec 32)))) (= (select (select (store (store |#memory_int| |ULTIMATE.start_main_~x~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset| v_ArrVal_190)) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) v_ArrVal_194) |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_~x~0#1.offset|)) (_ bv1 32)))} is VALID [2022-02-20 16:53:11,749 WARN L290 TraceCheckUtils]: 9: Hoare triple {1538#(forall ((v_ArrVal_190 (_ BitVec 32)) (v_ArrVal_183 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_194 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_188 (_ BitVec 32)) (v_arrayElimCell_29 (_ BitVec 32)) (v_arrayElimCell_28 (_ BitVec 32))) (or (not (= (_ bv0 1) (select |#valid| v_arrayElimCell_29))) (and (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|) (not (= v_arrayElimCell_28 v_arrayElimCell_29))) (and (forall ((v_arrayElimCell_30 (_ BitVec 32))) (= (select (select (store (store (store (store |#memory_int| |ULTIMATE.start_main_~x~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset| v_ArrVal_188)) v_arrayElimCell_29 v_ArrVal_183) |ULTIMATE.start_main_~head~0#1.base| (store (select (store (store |#memory_int| |ULTIMATE.start_main_~x~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset| v_ArrVal_188)) v_arrayElimCell_29 v_ArrVal_183) |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset| v_ArrVal_190)) v_arrayElimCell_30 v_ArrVal_194) |ULTIMATE.start_main_~head~0#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_~head~0#1.offset|)) (_ bv1 32))) (= |ULTIMATE.start_main_~head~0#1.base| v_arrayElimCell_29)) (and (= (select (select (store (store (store (store |#memory_int| |ULTIMATE.start_main_~x~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset| v_ArrVal_188)) v_arrayElimCell_29 v_ArrVal_183) |ULTIMATE.start_main_~head~0#1.base| (store (select (store (store |#memory_int| |ULTIMATE.start_main_~x~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset| v_ArrVal_188)) v_arrayElimCell_29 v_ArrVal_183) |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset| v_ArrVal_190)) v_arrayElimCell_28 v_ArrVal_194) |ULTIMATE.start_main_~head~0#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_~head~0#1.offset|)) (_ bv1 32)) (not (= |ULTIMATE.start_main_~head~0#1.base| v_arrayElimCell_29)))))} assume main_#t~mem8#1.base == 0bv32 && main_#t~mem8#1.offset == 0bv32;havoc main_#t~mem8#1.base, main_#t~mem8#1.offset;call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnHeap(8bv32);call write~$Pointer$(main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4bv32);havoc main_#t~malloc9#1.base, main_#t~malloc9#1.offset;call main_#t~mem10#1.base, main_#t~mem10#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4bv32);main_~x~0#1.base, main_~x~0#1.offset := main_#t~mem10#1.base, main_#t~mem10#1.offset;havoc main_#t~mem10#1.base, main_#t~mem10#1.offset;call write~$Pointer$(0bv32, 0bv32, main_~x~0#1.base, main_~x~0#1.offset, 4bv32);call write~intINTTYPE4(2bv32, main_~x~0#1.base, ~bvadd32(4bv32, main_~x~0#1.offset), 4bv32); {1534#(forall ((v_ArrVal_190 (_ BitVec 32)) (v_ArrVal_194 (Array (_ BitVec 32) (_ BitVec 32)))) (= (select (select (store (store |#memory_int| |ULTIMATE.start_main_~head~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset| v_ArrVal_190)) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) v_ArrVal_194) |ULTIMATE.start_main_~head~0#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_~head~0#1.offset|)) (_ bv1 32)))} is UNKNOWN [2022-02-20 16:53:11,761 INFO L290 TraceCheckUtils]: 8: Hoare triple {1542#(forall ((v_arrayElimCell_29 (_ BitVec 32))) (or (not (= (_ bv0 1) (select |#valid| v_arrayElimCell_29))) (and (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|) (not (= |ULTIMATE.start_main_~head~0#1.base| v_arrayElimCell_29)))))} call write~intINTTYPE4(1bv32, main_~x~0#1.base, ~bvadd32(4bv32, main_~x~0#1.offset), 4bv32);call main_#t~mem8#1.base, main_#t~mem8#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4bv32); {1538#(forall ((v_ArrVal_190 (_ BitVec 32)) (v_ArrVal_183 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_194 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_188 (_ BitVec 32)) (v_arrayElimCell_29 (_ BitVec 32)) (v_arrayElimCell_28 (_ BitVec 32))) (or (not (= (_ bv0 1) (select |#valid| v_arrayElimCell_29))) (and (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|) (not (= v_arrayElimCell_28 v_arrayElimCell_29))) (and (forall ((v_arrayElimCell_30 (_ BitVec 32))) (= (select (select (store (store (store (store |#memory_int| |ULTIMATE.start_main_~x~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset| v_ArrVal_188)) v_arrayElimCell_29 v_ArrVal_183) |ULTIMATE.start_main_~head~0#1.base| (store (select (store (store |#memory_int| |ULTIMATE.start_main_~x~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset| v_ArrVal_188)) v_arrayElimCell_29 v_ArrVal_183) |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset| v_ArrVal_190)) v_arrayElimCell_30 v_ArrVal_194) |ULTIMATE.start_main_~head~0#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_~head~0#1.offset|)) (_ bv1 32))) (= |ULTIMATE.start_main_~head~0#1.base| v_arrayElimCell_29)) (and (= (select (select (store (store (store (store |#memory_int| |ULTIMATE.start_main_~x~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset| v_ArrVal_188)) v_arrayElimCell_29 v_ArrVal_183) |ULTIMATE.start_main_~head~0#1.base| (store (select (store (store |#memory_int| |ULTIMATE.start_main_~x~0#1.base| (store (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset| v_ArrVal_188)) v_arrayElimCell_29 v_ArrVal_183) |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset| v_ArrVal_190)) v_arrayElimCell_28 v_ArrVal_194) |ULTIMATE.start_main_~head~0#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_~head~0#1.offset|)) (_ bv1 32)) (not (= |ULTIMATE.start_main_~head~0#1.base| v_arrayElimCell_29)))))} is VALID [2022-02-20 16:53:11,762 INFO L290 TraceCheckUtils]: 7: Hoare triple {1542#(forall ((v_arrayElimCell_29 (_ BitVec 32))) (or (not (= (_ bv0 1) (select |#valid| v_arrayElimCell_29))) (and (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|) (not (= |ULTIMATE.start_main_~head~0#1.base| v_arrayElimCell_29)))))} goto; {1542#(forall ((v_arrayElimCell_29 (_ BitVec 32))) (or (not (= (_ bv0 1) (select |#valid| v_arrayElimCell_29))) (and (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|) (not (= |ULTIMATE.start_main_~head~0#1.base| v_arrayElimCell_29)))))} is VALID [2022-02-20 16:53:11,763 INFO L290 TraceCheckUtils]: 6: Hoare triple {1542#(forall ((v_arrayElimCell_29 (_ BitVec 32))) (or (not (= (_ bv0 1) (select |#valid| v_arrayElimCell_29))) (and (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|) (not (= |ULTIMATE.start_main_~head~0#1.base| v_arrayElimCell_29)))))} assume !!(main_~x~0#1.base != 0bv32 || main_~x~0#1.offset != 0bv32); {1542#(forall ((v_arrayElimCell_29 (_ BitVec 32))) (or (not (= (_ bv0 1) (select |#valid| v_arrayElimCell_29))) (and (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|) (not (= |ULTIMATE.start_main_~head~0#1.base| v_arrayElimCell_29)))))} is VALID [2022-02-20 16:53:11,764 INFO L290 TraceCheckUtils]: 5: Hoare triple {1542#(forall ((v_arrayElimCell_29 (_ BitVec 32))) (or (not (= (_ bv0 1) (select |#valid| v_arrayElimCell_29))) (and (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|) (not (= |ULTIMATE.start_main_~head~0#1.base| v_arrayElimCell_29)))))} assume !((main_#t~mem5#1.base != 0bv32 || main_#t~mem5#1.offset != 0bv32) && 0bv32 != main_#t~nondet6#1);havoc main_#t~mem5#1.base, main_#t~mem5#1.offset;havoc main_#t~nondet6#1; {1542#(forall ((v_arrayElimCell_29 (_ BitVec 32))) (or (not (= (_ bv0 1) (select |#valid| v_arrayElimCell_29))) (and (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|) (not (= |ULTIMATE.start_main_~head~0#1.base| v_arrayElimCell_29)))))} is VALID [2022-02-20 16:53:11,764 INFO L290 TraceCheckUtils]: 4: Hoare triple {1542#(forall ((v_arrayElimCell_29 (_ BitVec 32))) (or (not (= (_ bv0 1) (select |#valid| v_arrayElimCell_29))) (and (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|) (not (= |ULTIMATE.start_main_~head~0#1.base| v_arrayElimCell_29)))))} call main_#t~mem5#1.base, main_#t~mem5#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4bv32); {1542#(forall ((v_arrayElimCell_29 (_ BitVec 32))) (or (not (= (_ bv0 1) (select |#valid| v_arrayElimCell_29))) (and (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|) (not (= |ULTIMATE.start_main_~head~0#1.base| v_arrayElimCell_29)))))} is VALID [2022-02-20 16:53:11,765 INFO L290 TraceCheckUtils]: 3: Hoare triple {1558#(not (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) (_ bv0 1)))} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1542#(forall ((v_arrayElimCell_29 (_ BitVec 32))) (or (not (= (_ bv0 1) (select |#valid| v_arrayElimCell_29))) (and (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|) (not (= |ULTIMATE.start_main_~head~0#1.base| v_arrayElimCell_29)))))} is VALID [2022-02-20 16:53:11,765 INFO L290 TraceCheckUtils]: 2: Hoare triple {1558#(not (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) (_ bv0 1)))} assume !(0bv32 != main_#t~nondet2#1);havoc main_#t~nondet2#1; {1558#(not (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) (_ bv0 1)))} is VALID [2022-02-20 16:53:11,767 INFO L290 TraceCheckUtils]: 1: Hoare triple {1438#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~mem4#1.base, main_#t~mem4#1.offset, main_#t~nondet2#1, main_#t~mem7#1.base, main_#t~mem7#1.offset, main_#t~mem5#1.base, main_#t~mem5#1.offset, main_#t~nondet6#1, main_#t~mem8#1.base, main_#t~mem8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~mem11#1.base, main_#t~mem11#1.offset, main_#t~mem12#1.base, main_#t~mem12#1.offset, main_~next~0#1.base, main_~next~0#1.offset, main_#t~mem13#1, main_#t~mem14#1.base, main_#t~mem14#1.offset, main_#t~mem15#1, main_#t~mem16#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_~t1~0#1, main_~t2~0#1, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, main_~prev~0#1.base, main_~prev~0#1.offset;call main_#t~malloc1#1.base, main_#t~malloc1#1.offset := #Ultimate.allocOnHeap(8bv32);main_~head~0#1.base, main_~head~0#1.offset := main_#t~malloc1#1.base, main_#t~malloc1#1.offset;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset;call write~$Pointer$(0bv32, 0bv32, main_~head~0#1.base, main_~head~0#1.offset, 4bv32);call write~intINTTYPE4(0bv32, main_~head~0#1.base, ~bvadd32(4bv32, main_~head~0#1.offset), 4bv32);main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1558#(not (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) (_ bv0 1)))} is VALID [2022-02-20 16:53:11,767 INFO L290 TraceCheckUtils]: 0: Hoare triple {1438#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(21bv32, 2bv32); {1438#true} is VALID [2022-02-20 16:53:11,767 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 3 not checked. [2022-02-20 16:53:11,767 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 16:53:11,767 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [296308039] [2022-02-20 16:53:11,767 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [296308039] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 16:53:11,767 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 16:53:11,768 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 19 [2022-02-20 16:53:11,768 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1090054618] [2022-02-20 16:53:11,768 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 16:53:11,768 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 1.8421052631578947) internal successors, (35), 19 states have internal predecessors, (35), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 19 [2022-02-20 16:53:11,769 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:53:11,769 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 19 states, 19 states have (on average 1.8421052631578947) internal successors, (35), 19 states have internal predecessors, (35), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:53:12,946 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 34 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-02-20 16:53:12,946 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-02-20 16:53:12,946 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 16:53:12,947 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-02-20 16:53:12,947 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=46, Invalid=176, Unknown=4, NotChecked=116, Total=342 [2022-02-20 16:53:12,947 INFO L87 Difference]: Start difference. First operand 34 states and 42 transitions. Second operand has 19 states, 19 states have (on average 1.8421052631578947) internal successors, (35), 19 states have internal predecessors, (35), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:53:14,825 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:53:14,825 INFO L93 Difference]: Finished difference Result 74 states and 90 transitions. [2022-02-20 16:53:14,825 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-02-20 16:53:14,826 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 1.8421052631578947) internal successors, (35), 19 states have internal predecessors, (35), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 19 [2022-02-20 16:53:14,826 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:53:14,826 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 1.8421052631578947) internal successors, (35), 19 states have internal predecessors, (35), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:53:14,827 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 88 transitions. [2022-02-20 16:53:14,827 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 1.8421052631578947) internal successors, (35), 19 states have internal predecessors, (35), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:53:14,829 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 88 transitions. [2022-02-20 16:53:14,829 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 88 transitions. [2022-02-20 16:53:14,955 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:53:14,956 INFO L225 Difference]: With dead ends: 74 [2022-02-20 16:53:14,956 INFO L226 Difference]: Without dead ends: 72 [2022-02-20 16:53:14,957 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 43 GetRequests, 19 SyntacticMatches, 1 SemanticMatches, 23 ConstructedPredicates, 4 IntricatePredicates, 0 DeprecatedPredicates, 49 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=86, Invalid=346, Unknown=4, NotChecked=164, Total=600 [2022-02-20 16:53:14,957 INFO L933 BasicCegarLoop]: 15 mSDtfsCounter, 110 mSDsluCounter, 131 mSDsCounter, 0 mSdLazyCounter, 219 mSolverCounterSat, 22 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 110 SdHoareTripleChecker+Valid, 146 SdHoareTripleChecker+Invalid, 535 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 22 IncrementalHoareTripleChecker+Valid, 219 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 294 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-02-20 16:53:14,957 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [110 Valid, 146 Invalid, 535 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [22 Valid, 219 Invalid, 0 Unknown, 294 Unchecked, 0.7s Time] [2022-02-20 16:53:14,958 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 72 states. [2022-02-20 16:53:14,962 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 72 to 42. [2022-02-20 16:53:14,962 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:53:14,962 INFO L82 GeneralOperation]: Start isEquivalent. First operand 72 states. Second operand has 42 states, 41 states have (on average 1.2682926829268293) internal successors, (52), 41 states have internal predecessors, (52), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:53:14,963 INFO L74 IsIncluded]: Start isIncluded. First operand 72 states. Second operand has 42 states, 41 states have (on average 1.2682926829268293) internal successors, (52), 41 states have internal predecessors, (52), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:53:14,965 INFO L87 Difference]: Start difference. First operand 72 states. Second operand has 42 states, 41 states have (on average 1.2682926829268293) internal successors, (52), 41 states have internal predecessors, (52), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:53:14,966 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:53:14,966 INFO L93 Difference]: Finished difference Result 72 states and 88 transitions. [2022-02-20 16:53:14,967 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 88 transitions. [2022-02-20 16:53:14,967 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:53:14,967 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:53:14,967 INFO L74 IsIncluded]: Start isIncluded. First operand has 42 states, 41 states have (on average 1.2682926829268293) internal successors, (52), 41 states have internal predecessors, (52), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 72 states. [2022-02-20 16:53:14,968 INFO L87 Difference]: Start difference. First operand has 42 states, 41 states have (on average 1.2682926829268293) internal successors, (52), 41 states have internal predecessors, (52), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 72 states. [2022-02-20 16:53:14,969 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:53:14,969 INFO L93 Difference]: Finished difference Result 72 states and 88 transitions. [2022-02-20 16:53:14,970 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 88 transitions. [2022-02-20 16:53:14,970 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:53:14,970 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:53:14,970 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:53:14,970 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:53:14,971 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 42 states, 41 states have (on average 1.2682926829268293) internal successors, (52), 41 states have internal predecessors, (52), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:53:14,972 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 52 transitions. [2022-02-20 16:53:14,972 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 52 transitions. Word has length 19 [2022-02-20 16:53:14,972 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:53:14,972 INFO L470 AbstractCegarLoop]: Abstraction has 42 states and 52 transitions. [2022-02-20 16:53:14,973 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 19 states have (on average 1.8421052631578947) internal successors, (35), 19 states have internal predecessors, (35), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:53:14,973 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 52 transitions. [2022-02-20 16:53:14,973 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2022-02-20 16:53:14,973 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:53:14,973 INFO L514 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:53:14,987 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (7)] Forceful destruction successful, exit code 0 [2022-02-20 16:53:15,185 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 16:53:15,185 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting ULTIMATE.startErr2ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr2ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:53:15,186 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:53:15,186 INFO L85 PathProgramCache]: Analyzing trace with hash 1413184961, now seen corresponding path program 1 times [2022-02-20 16:53:15,186 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:53:15,186 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1817349896] [2022-02-20 16:53:15,186 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:53:15,187 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:53:15,187 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:53:15,188 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:53:15,189 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:53:15,271 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:53:15,275 INFO L263 TraceCheckSpWp]: Trace formula consists of 140 conjuncts, 2 conjunts are in the unsatisfiable core [2022-02-20 16:53:15,287 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:53:15,288 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:53:15,322 INFO L290 TraceCheckUtils]: 0: Hoare triple {1870#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(21bv32, 2bv32); {1870#true} is VALID [2022-02-20 16:53:15,322 INFO L290 TraceCheckUtils]: 1: Hoare triple {1870#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~mem4#1.base, main_#t~mem4#1.offset, main_#t~nondet2#1, main_#t~mem7#1.base, main_#t~mem7#1.offset, main_#t~mem5#1.base, main_#t~mem5#1.offset, main_#t~nondet6#1, main_#t~mem8#1.base, main_#t~mem8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~mem11#1.base, main_#t~mem11#1.offset, main_#t~mem12#1.base, main_#t~mem12#1.offset, main_~next~0#1.base, main_~next~0#1.offset, main_#t~mem13#1, main_#t~mem14#1.base, main_#t~mem14#1.offset, main_#t~mem15#1, main_#t~mem16#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_~t1~0#1, main_~t2~0#1, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, main_~prev~0#1.base, main_~prev~0#1.offset;call main_#t~malloc1#1.base, main_#t~malloc1#1.offset := #Ultimate.allocOnHeap(8bv32);main_~head~0#1.base, main_~head~0#1.offset := main_#t~malloc1#1.base, main_#t~malloc1#1.offset;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset;call write~$Pointer$(0bv32, 0bv32, main_~head~0#1.base, main_~head~0#1.offset, 4bv32);call write~intINTTYPE4(0bv32, main_~head~0#1.base, ~bvadd32(4bv32, main_~head~0#1.offset), 4bv32);main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1870#true} is VALID [2022-02-20 16:53:15,322 INFO L290 TraceCheckUtils]: 2: Hoare triple {1870#true} assume !(0bv32 != main_#t~nondet2#1);havoc main_#t~nondet2#1; {1870#true} is VALID [2022-02-20 16:53:15,322 INFO L290 TraceCheckUtils]: 3: Hoare triple {1870#true} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1870#true} is VALID [2022-02-20 16:53:15,322 INFO L290 TraceCheckUtils]: 4: Hoare triple {1870#true} call main_#t~mem5#1.base, main_#t~mem5#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4bv32); {1870#true} is VALID [2022-02-20 16:53:15,322 INFO L290 TraceCheckUtils]: 5: Hoare triple {1870#true} assume !((main_#t~mem5#1.base != 0bv32 || main_#t~mem5#1.offset != 0bv32) && 0bv32 != main_#t~nondet6#1);havoc main_#t~mem5#1.base, main_#t~mem5#1.offset;havoc main_#t~nondet6#1; {1870#true} is VALID [2022-02-20 16:53:15,322 INFO L290 TraceCheckUtils]: 6: Hoare triple {1870#true} assume !!(main_~x~0#1.base != 0bv32 || main_~x~0#1.offset != 0bv32); {1870#true} is VALID [2022-02-20 16:53:15,322 INFO L290 TraceCheckUtils]: 7: Hoare triple {1870#true} goto; {1870#true} is VALID [2022-02-20 16:53:15,323 INFO L290 TraceCheckUtils]: 8: Hoare triple {1870#true} call write~intINTTYPE4(1bv32, main_~x~0#1.base, ~bvadd32(4bv32, main_~x~0#1.offset), 4bv32);call main_#t~mem8#1.base, main_#t~mem8#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4bv32); {1870#true} is VALID [2022-02-20 16:53:15,323 INFO L290 TraceCheckUtils]: 9: Hoare triple {1870#true} assume main_#t~mem8#1.base == 0bv32 && main_#t~mem8#1.offset == 0bv32;havoc main_#t~mem8#1.base, main_#t~mem8#1.offset;call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnHeap(8bv32);call write~$Pointer$(main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4bv32);havoc main_#t~malloc9#1.base, main_#t~malloc9#1.offset;call main_#t~mem10#1.base, main_#t~mem10#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4bv32);main_~x~0#1.base, main_~x~0#1.offset := main_#t~mem10#1.base, main_#t~mem10#1.offset;havoc main_#t~mem10#1.base, main_#t~mem10#1.offset;call write~$Pointer$(0bv32, 0bv32, main_~x~0#1.base, main_~x~0#1.offset, 4bv32);call write~intINTTYPE4(2bv32, main_~x~0#1.base, ~bvadd32(4bv32, main_~x~0#1.offset), 4bv32); {1870#true} is VALID [2022-02-20 16:53:15,323 INFO L290 TraceCheckUtils]: 10: Hoare triple {1870#true} main_~prev~0#1.base, main_~prev~0#1.offset := 0bv32, 0bv32;main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1870#true} is VALID [2022-02-20 16:53:15,323 INFO L290 TraceCheckUtils]: 11: Hoare triple {1870#true} assume !!(main_~x~0#1.base != 0bv32 || main_~x~0#1.offset != 0bv32);call main_#t~mem12#1.base, main_#t~mem12#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4bv32);main_~next~0#1.base, main_~next~0#1.offset := main_#t~mem12#1.base, main_#t~mem12#1.offset;havoc main_#t~mem12#1.base, main_#t~mem12#1.offset;call write~$Pointer$(main_~prev~0#1.base, main_~prev~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4bv32);main_~prev~0#1.base, main_~prev~0#1.offset := main_~x~0#1.base, main_~x~0#1.offset;main_~x~0#1.base, main_~x~0#1.offset := main_~next~0#1.base, main_~next~0#1.offset; {1870#true} is VALID [2022-02-20 16:53:15,323 INFO L290 TraceCheckUtils]: 12: Hoare triple {1870#true} assume !!(main_~x~0#1.base != 0bv32 || main_~x~0#1.offset != 0bv32);call main_#t~mem12#1.base, main_#t~mem12#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4bv32);main_~next~0#1.base, main_~next~0#1.offset := main_#t~mem12#1.base, main_#t~mem12#1.offset;havoc main_#t~mem12#1.base, main_#t~mem12#1.offset;call write~$Pointer$(main_~prev~0#1.base, main_~prev~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4bv32);main_~prev~0#1.base, main_~prev~0#1.offset := main_~x~0#1.base, main_~x~0#1.offset;main_~x~0#1.base, main_~x~0#1.offset := main_~next~0#1.base, main_~next~0#1.offset; {1870#true} is VALID [2022-02-20 16:53:15,323 INFO L290 TraceCheckUtils]: 13: Hoare triple {1870#true} assume !(main_~x~0#1.base != 0bv32 || main_~x~0#1.offset != 0bv32); {1870#true} is VALID [2022-02-20 16:53:15,323 INFO L290 TraceCheckUtils]: 14: Hoare triple {1870#true} main_~head~0#1.base, main_~head~0#1.offset := main_~prev~0#1.base, main_~prev~0#1.offset;main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1870#true} is VALID [2022-02-20 16:53:15,324 INFO L290 TraceCheckUtils]: 15: Hoare triple {1870#true} assume !!(main_~x~0#1.base != 0bv32 || main_~x~0#1.offset != 0bv32);call main_#t~mem13#1 := read~intINTTYPE4(main_~x~0#1.base, ~bvadd32(4bv32, main_~x~0#1.offset), 4bv32);main_~t1~0#1 := main_#t~mem13#1;havoc main_#t~mem13#1;main_~t2~0#1 := 0bv32; {1870#true} is VALID [2022-02-20 16:53:15,326 INFO L290 TraceCheckUtils]: 16: Hoare triple {1870#true} assume !(2bv32 == main_~t1~0#1); {1923#(not (= (_ bv2 32) |ULTIMATE.start_main_~t1~0#1|))} is VALID [2022-02-20 16:53:15,326 INFO L290 TraceCheckUtils]: 17: Hoare triple {1923#(not (= (_ bv2 32) |ULTIMATE.start_main_~t1~0#1|))} assume !(2bv32 != main_~t1~0#1 || 1bv32 == main_~t2~0#1); {1871#false} is VALID [2022-02-20 16:53:15,327 INFO L290 TraceCheckUtils]: 18: Hoare triple {1871#false} assume !false; {1871#false} is VALID [2022-02-20 16:53:15,327 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2022-02-20 16:53:15,327 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 16:53:15,327 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 16:53:15,327 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1817349896] [2022-02-20 16:53:15,327 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1817349896] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:53:15,327 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:53:15,327 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 16:53:15,327 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1275295825] [2022-02-20 16:53:15,327 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:53:15,328 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 6.0) internal successors, (18), 3 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 19 [2022-02-20 16:53:15,328 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:53:15,328 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 6.0) internal successors, (18), 3 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:53:15,343 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:53:15,343 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 16:53:15,345 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 16:53:15,345 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 16:53:15,345 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 16:53:15,346 INFO L87 Difference]: Start difference. First operand 42 states and 52 transitions. Second operand has 3 states, 3 states have (on average 6.0) internal successors, (18), 3 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:53:15,480 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:53:15,481 INFO L93 Difference]: Finished difference Result 50 states and 61 transitions. [2022-02-20 16:53:15,481 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 16:53:15,481 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 6.0) internal successors, (18), 3 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 19 [2022-02-20 16:53:15,481 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:53:15,481 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 6.0) internal successors, (18), 3 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:53:15,482 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 40 transitions. [2022-02-20 16:53:15,482 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 6.0) internal successors, (18), 3 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:53:15,482 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 40 transitions. [2022-02-20 16:53:15,482 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 40 transitions. [2022-02-20 16:53:15,516 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:53:15,516 INFO L225 Difference]: With dead ends: 50 [2022-02-20 16:53:15,516 INFO L226 Difference]: Without dead ends: 48 [2022-02-20 16:53:15,517 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 17 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 16:53:15,517 INFO L933 BasicCegarLoop]: 37 mSDtfsCounter, 6 mSDsluCounter, 25 mSDsCounter, 0 mSdLazyCounter, 7 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 6 SdHoareTripleChecker+Valid, 62 SdHoareTripleChecker+Invalid, 7 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 7 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 16:53:15,527 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [6 Valid, 62 Invalid, 7 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 7 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 16:53:15,527 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2022-02-20 16:53:15,539 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 42. [2022-02-20 16:53:15,540 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:53:15,540 INFO L82 GeneralOperation]: Start isEquivalent. First operand 48 states. Second operand has 42 states, 41 states have (on average 1.2682926829268293) internal successors, (52), 41 states have internal predecessors, (52), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:53:15,540 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand has 42 states, 41 states have (on average 1.2682926829268293) internal successors, (52), 41 states have internal predecessors, (52), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:53:15,540 INFO L87 Difference]: Start difference. First operand 48 states. Second operand has 42 states, 41 states have (on average 1.2682926829268293) internal successors, (52), 41 states have internal predecessors, (52), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:53:15,542 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:53:15,542 INFO L93 Difference]: Finished difference Result 48 states and 59 transitions. [2022-02-20 16:53:15,542 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 59 transitions. [2022-02-20 16:53:15,542 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:53:15,542 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:53:15,542 INFO L74 IsIncluded]: Start isIncluded. First operand has 42 states, 41 states have (on average 1.2682926829268293) internal successors, (52), 41 states have internal predecessors, (52), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 48 states. [2022-02-20 16:53:15,543 INFO L87 Difference]: Start difference. First operand has 42 states, 41 states have (on average 1.2682926829268293) internal successors, (52), 41 states have internal predecessors, (52), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 48 states. [2022-02-20 16:53:15,544 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:53:15,544 INFO L93 Difference]: Finished difference Result 48 states and 59 transitions. [2022-02-20 16:53:15,544 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 59 transitions. [2022-02-20 16:53:15,544 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:53:15,544 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:53:15,544 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:53:15,544 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:53:15,544 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 42 states, 41 states have (on average 1.2682926829268293) internal successors, (52), 41 states have internal predecessors, (52), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:53:15,545 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 52 transitions. [2022-02-20 16:53:15,546 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 52 transitions. Word has length 19 [2022-02-20 16:53:15,546 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:53:15,546 INFO L470 AbstractCegarLoop]: Abstraction has 42 states and 52 transitions. [2022-02-20 16:53:15,546 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 6.0) internal successors, (18), 3 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:53:15,546 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 52 transitions. [2022-02-20 16:53:15,546 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2022-02-20 16:53:15,547 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:53:15,547 INFO L514 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:53:15,559 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:53:15,755 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:53:15,755 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting ULTIMATE.startErr2ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr2ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:53:15,756 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:53:15,756 INFO L85 PathProgramCache]: Analyzing trace with hash 1020156029, now seen corresponding path program 2 times [2022-02-20 16:53:15,756 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:53:15,756 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [439635908] [2022-02-20 16:53:15,756 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 16:53:15,756 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:53:15,756 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:53:15,757 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:53:15,758 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:53:15,847 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-02-20 16:53:15,847 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 16:53:15,850 INFO L263 TraceCheckSpWp]: Trace formula consists of 84 conjuncts, 16 conjunts are in the unsatisfiable core [2022-02-20 16:53:15,865 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:53:15,866 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:53:15,882 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:53:15,884 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:53:15,890 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:53:15,891 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:53:15,994 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 18 treesize of output 14 [2022-02-20 16:53:15,998 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 18 treesize of output 14 [2022-02-20 16:53:16,001 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 7 [2022-02-20 16:53:16,007 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 7 [2022-02-20 16:53:16,039 INFO L290 TraceCheckUtils]: 0: Hoare triple {2142#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(21bv32, 2bv32); {2142#true} is VALID [2022-02-20 16:53:16,041 INFO L290 TraceCheckUtils]: 1: Hoare triple {2142#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~mem4#1.base, main_#t~mem4#1.offset, main_#t~nondet2#1, main_#t~mem7#1.base, main_#t~mem7#1.offset, main_#t~mem5#1.base, main_#t~mem5#1.offset, main_#t~nondet6#1, main_#t~mem8#1.base, main_#t~mem8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~mem11#1.base, main_#t~mem11#1.offset, main_#t~mem12#1.base, main_#t~mem12#1.offset, main_~next~0#1.base, main_~next~0#1.offset, main_#t~mem13#1, main_#t~mem14#1.base, main_#t~mem14#1.offset, main_#t~mem15#1, main_#t~mem16#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_~t1~0#1, main_~t2~0#1, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, main_~prev~0#1.base, main_~prev~0#1.offset;call main_#t~malloc1#1.base, main_#t~malloc1#1.offset := #Ultimate.allocOnHeap(8bv32);main_~head~0#1.base, main_~head~0#1.offset := main_#t~malloc1#1.base, main_#t~malloc1#1.offset;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset;call write~$Pointer$(0bv32, 0bv32, main_~head~0#1.base, main_~head~0#1.offset, 4bv32);call write~intINTTYPE4(0bv32, main_~head~0#1.base, ~bvadd32(4bv32, main_~head~0#1.offset), 4bv32);main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {2150#(and (= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) (_ bv0 32)))} is VALID [2022-02-20 16:53:16,043 INFO L290 TraceCheckUtils]: 2: Hoare triple {2150#(and (= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) (_ bv0 32)))} assume !(0bv32 != main_#t~nondet2#1);havoc main_#t~nondet2#1; {2150#(and (= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) (_ bv0 32)))} is VALID [2022-02-20 16:53:16,043 INFO L290 TraceCheckUtils]: 3: Hoare triple {2150#(and (= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) (_ bv0 32)))} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {2157#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (_ bv0 32)) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (_ bv0 32))) (= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32)))} is VALID [2022-02-20 16:53:16,044 INFO L290 TraceCheckUtils]: 4: Hoare triple {2157#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (_ bv0 32)) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (_ bv0 32))) (= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32)))} call main_#t~mem5#1.base, main_#t~mem5#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4bv32); {2157#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (_ bv0 32)) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (_ bv0 32))) (= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32)))} is VALID [2022-02-20 16:53:16,044 INFO L290 TraceCheckUtils]: 5: Hoare triple {2157#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (_ bv0 32)) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (_ bv0 32))) (= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32)))} assume !((main_#t~mem5#1.base != 0bv32 || main_#t~mem5#1.offset != 0bv32) && 0bv32 != main_#t~nondet6#1);havoc main_#t~mem5#1.base, main_#t~mem5#1.offset;havoc main_#t~nondet6#1; {2157#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (_ bv0 32)) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (_ bv0 32))) (= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32)))} is VALID [2022-02-20 16:53:16,045 INFO L290 TraceCheckUtils]: 6: Hoare triple {2157#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (_ bv0 32)) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (_ bv0 32))) (= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32)))} assume !!(main_~x~0#1.base != 0bv32 || main_~x~0#1.offset != 0bv32); {2157#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (_ bv0 32)) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (_ bv0 32))) (= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32)))} is VALID [2022-02-20 16:53:16,046 INFO L290 TraceCheckUtils]: 7: Hoare triple {2157#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (_ bv0 32)) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (_ bv0 32))) (= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32)))} goto; {2157#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (_ bv0 32)) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (_ bv0 32))) (= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32)))} is VALID [2022-02-20 16:53:16,047 INFO L290 TraceCheckUtils]: 8: Hoare triple {2157#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (_ bv0 32)) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (_ bv0 32))) (= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32)))} call write~intINTTYPE4(1bv32, main_~x~0#1.base, ~bvadd32(4bv32, main_~x~0#1.offset), 4bv32);call main_#t~mem8#1.base, main_#t~mem8#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4bv32); {2173#(and (= |ULTIMATE.start_main_#t~mem8#1.base| (_ bv0 32)) (= (_ bv0 32) |ULTIMATE.start_main_#t~mem8#1.offset|))} is VALID [2022-02-20 16:53:16,048 INFO L290 TraceCheckUtils]: 9: Hoare triple {2173#(and (= |ULTIMATE.start_main_#t~mem8#1.base| (_ bv0 32)) (= (_ bv0 32) |ULTIMATE.start_main_#t~mem8#1.offset|))} assume !(main_#t~mem8#1.base == 0bv32 && main_#t~mem8#1.offset == 0bv32);havoc main_#t~mem8#1.base, main_#t~mem8#1.offset;call main_#t~mem11#1.base, main_#t~mem11#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4bv32);call write~intINTTYPE4(2bv32, main_#t~mem11#1.base, ~bvadd32(4bv32, main_#t~mem11#1.offset), 4bv32);havoc main_#t~mem11#1.base, main_#t~mem11#1.offset; {2143#false} is VALID [2022-02-20 16:53:16,048 INFO L290 TraceCheckUtils]: 10: Hoare triple {2143#false} main_~prev~0#1.base, main_~prev~0#1.offset := 0bv32, 0bv32;main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {2143#false} is VALID [2022-02-20 16:53:16,048 INFO L290 TraceCheckUtils]: 11: Hoare triple {2143#false} assume !!(main_~x~0#1.base != 0bv32 || main_~x~0#1.offset != 0bv32);call main_#t~mem12#1.base, main_#t~mem12#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4bv32);main_~next~0#1.base, main_~next~0#1.offset := main_#t~mem12#1.base, main_#t~mem12#1.offset;havoc main_#t~mem12#1.base, main_#t~mem12#1.offset;call write~$Pointer$(main_~prev~0#1.base, main_~prev~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4bv32);main_~prev~0#1.base, main_~prev~0#1.offset := main_~x~0#1.base, main_~x~0#1.offset;main_~x~0#1.base, main_~x~0#1.offset := main_~next~0#1.base, main_~next~0#1.offset; {2143#false} is VALID [2022-02-20 16:53:16,048 INFO L290 TraceCheckUtils]: 12: Hoare triple {2143#false} assume !!(main_~x~0#1.base != 0bv32 || main_~x~0#1.offset != 0bv32);call main_#t~mem12#1.base, main_#t~mem12#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4bv32);main_~next~0#1.base, main_~next~0#1.offset := main_#t~mem12#1.base, main_#t~mem12#1.offset;havoc main_#t~mem12#1.base, main_#t~mem12#1.offset;call write~$Pointer$(main_~prev~0#1.base, main_~prev~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4bv32);main_~prev~0#1.base, main_~prev~0#1.offset := main_~x~0#1.base, main_~x~0#1.offset;main_~x~0#1.base, main_~x~0#1.offset := main_~next~0#1.base, main_~next~0#1.offset; {2143#false} is VALID [2022-02-20 16:53:16,048 INFO L290 TraceCheckUtils]: 13: Hoare triple {2143#false} assume !(main_~x~0#1.base != 0bv32 || main_~x~0#1.offset != 0bv32); {2143#false} is VALID [2022-02-20 16:53:16,049 INFO L290 TraceCheckUtils]: 14: Hoare triple {2143#false} main_~head~0#1.base, main_~head~0#1.offset := main_~prev~0#1.base, main_~prev~0#1.offset;main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {2143#false} is VALID [2022-02-20 16:53:16,049 INFO L290 TraceCheckUtils]: 15: Hoare triple {2143#false} assume !!(main_~x~0#1.base != 0bv32 || main_~x~0#1.offset != 0bv32);call main_#t~mem13#1 := read~intINTTYPE4(main_~x~0#1.base, ~bvadd32(4bv32, main_~x~0#1.offset), 4bv32);main_~t1~0#1 := main_#t~mem13#1;havoc main_#t~mem13#1;main_~t2~0#1 := 0bv32; {2143#false} is VALID [2022-02-20 16:53:16,049 INFO L290 TraceCheckUtils]: 16: Hoare triple {2143#false} assume 2bv32 == main_~t1~0#1;call main_#t~mem14#1.base, main_#t~mem14#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4bv32);call main_#t~mem15#1 := read~intINTTYPE4(main_#t~mem14#1.base, ~bvadd32(4bv32, main_#t~mem14#1.offset), 4bv32);main_~t2~0#1 := main_#t~mem15#1;havoc main_#t~mem14#1.base, main_#t~mem14#1.offset;havoc main_#t~mem15#1; {2143#false} is VALID [2022-02-20 16:53:16,049 INFO L290 TraceCheckUtils]: 17: Hoare triple {2143#false} assume !(2bv32 != main_~t1~0#1 || 1bv32 == main_~t2~0#1); {2143#false} is VALID [2022-02-20 16:53:16,049 INFO L290 TraceCheckUtils]: 18: Hoare triple {2143#false} assume !false; {2143#false} is VALID [2022-02-20 16:53:16,050 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2022-02-20 16:53:16,050 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 16:53:16,050 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 16:53:16,050 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [439635908] [2022-02-20 16:53:16,050 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [439635908] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:53:16,050 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:53:16,050 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 16:53:16,050 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [110778052] [2022-02-20 16:53:16,051 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:53:16,051 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 5 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 19 [2022-02-20 16:53:16,051 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:53:16,051 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.6) internal successors, (18), 5 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:53:16,067 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:53:16,067 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 16:53:16,068 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 16:53:16,068 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 16:53:16,068 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 16:53:16,068 INFO L87 Difference]: Start difference. First operand 42 states and 52 transitions. Second operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 5 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:53:16,580 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:53:16,580 INFO L93 Difference]: Finished difference Result 77 states and 94 transitions. [2022-02-20 16:53:16,580 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 16:53:16,580 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 5 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 19 [2022-02-20 16:53:16,581 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:53:16,581 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 5 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:53:16,582 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 70 transitions. [2022-02-20 16:53:16,582 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 5 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:53:16,583 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 70 transitions. [2022-02-20 16:53:16,583 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 70 transitions. [2022-02-20 16:53:16,667 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:53:16,668 INFO L225 Difference]: With dead ends: 77 [2022-02-20 16:53:16,668 INFO L226 Difference]: Without dead ends: 62 [2022-02-20 16:53:16,668 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 20 GetRequests, 15 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=17, Invalid=25, Unknown=0, NotChecked=0, Total=42 [2022-02-20 16:53:16,669 INFO L933 BasicCegarLoop]: 23 mSDtfsCounter, 20 mSDsluCounter, 53 mSDsCounter, 0 mSdLazyCounter, 53 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 76 SdHoareTripleChecker+Invalid, 62 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 53 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 16:53:16,669 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [20 Valid, 76 Invalid, 62 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 53 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-20 16:53:16,670 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 62 states. [2022-02-20 16:53:16,673 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 62 to 50. [2022-02-20 16:53:16,673 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:53:16,673 INFO L82 GeneralOperation]: Start isEquivalent. First operand 62 states. Second operand has 50 states, 49 states have (on average 1.2653061224489797) internal successors, (62), 49 states have internal predecessors, (62), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:53:16,674 INFO L74 IsIncluded]: Start isIncluded. First operand 62 states. Second operand has 50 states, 49 states have (on average 1.2653061224489797) internal successors, (62), 49 states have internal predecessors, (62), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:53:16,674 INFO L87 Difference]: Start difference. First operand 62 states. Second operand has 50 states, 49 states have (on average 1.2653061224489797) internal successors, (62), 49 states have internal predecessors, (62), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:53:16,677 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:53:16,678 INFO L93 Difference]: Finished difference Result 62 states and 75 transitions. [2022-02-20 16:53:16,678 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 75 transitions. [2022-02-20 16:53:16,678 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:53:16,678 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:53:16,678 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 49 states have (on average 1.2653061224489797) internal successors, (62), 49 states have internal predecessors, (62), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 62 states. [2022-02-20 16:53:16,678 INFO L87 Difference]: Start difference. First operand has 50 states, 49 states have (on average 1.2653061224489797) internal successors, (62), 49 states have internal predecessors, (62), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 62 states. [2022-02-20 16:53:16,680 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:53:16,680 INFO L93 Difference]: Finished difference Result 62 states and 75 transitions. [2022-02-20 16:53:16,680 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 75 transitions. [2022-02-20 16:53:16,680 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:53:16,680 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:53:16,680 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:53:16,680 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:53:16,681 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 49 states have (on average 1.2653061224489797) internal successors, (62), 49 states have internal predecessors, (62), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:53:16,682 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 62 transitions. [2022-02-20 16:53:16,683 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 62 transitions. Word has length 19 [2022-02-20 16:53:16,683 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:53:16,683 INFO L470 AbstractCegarLoop]: Abstraction has 50 states and 62 transitions. [2022-02-20 16:53:16,683 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 5 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:53:16,683 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 62 transitions. [2022-02-20 16:53:16,683 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2022-02-20 16:53:16,683 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:53:16,684 INFO L514 BasicCegarLoop]: trace histogram [3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:53:16,695 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:53:16,894 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 16:53:16,895 INFO L402 AbstractCegarLoop]: === Iteration 9 === Targeting ULTIMATE.startErr2ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr1ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr2ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:53:16,895 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:53:16,895 INFO L85 PathProgramCache]: Analyzing trace with hash -1841142266, now seen corresponding path program 3 times [2022-02-20 16:53:16,896 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:53:16,896 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [636146550] [2022-02-20 16:53:16,896 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-02-20 16:53:16,896 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:53:16,896 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:53:16,897 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 16:53:16,898 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (10)] Waiting until timeout for monitored process [2022-02-20 16:53:17,057 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2022-02-20 16:53:17,057 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 16:53:17,063 INFO L263 TraceCheckSpWp]: Trace formula consists of 157 conjuncts, 33 conjunts are in the unsatisfiable core [2022-02-20 16:53:17,082 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:53:17,083 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:53:17,092 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:53:17,225 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:53:17,230 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 22 [2022-02-20 16:53:17,239 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:53:17,243 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 30 [2022-02-20 16:53:17,254 INFO L356 Elim1Store]: treesize reduction 4, result has 66.7 percent of original size [2022-02-20 16:53:17,255 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 15 treesize of output 15 [2022-02-20 16:53:17,362 INFO L356 Elim1Store]: treesize reduction 23, result has 17.9 percent of original size [2022-02-20 16:53:17,363 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 2 case distinctions, treesize of input 44 treesize of output 41 [2022-02-20 16:53:17,381 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 28 [2022-02-20 16:53:17,393 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 7 [2022-02-20 16:53:17,402 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 24 treesize of output 18 [2022-02-20 16:53:17,443 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:53:17,446 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:53:17,473 INFO L290 TraceCheckUtils]: 0: Hoare triple {2493#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(21bv32, 2bv32); {2493#true} is VALID [2022-02-20 16:53:17,475 INFO L290 TraceCheckUtils]: 1: Hoare triple {2493#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~mem4#1.base, main_#t~mem4#1.offset, main_#t~nondet2#1, main_#t~mem7#1.base, main_#t~mem7#1.offset, main_#t~mem5#1.base, main_#t~mem5#1.offset, main_#t~nondet6#1, main_#t~mem8#1.base, main_#t~mem8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~mem10#1.base, main_#t~mem10#1.offset, main_#t~mem11#1.base, main_#t~mem11#1.offset, main_#t~mem12#1.base, main_#t~mem12#1.offset, main_~next~0#1.base, main_~next~0#1.offset, main_#t~mem13#1, main_#t~mem14#1.base, main_#t~mem14#1.offset, main_#t~mem15#1, main_#t~mem16#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_~t1~0#1, main_~t2~0#1, main_#t~mem19#1.base, main_#t~mem19#1.offset, main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, main_~prev~0#1.base, main_~prev~0#1.offset;call main_#t~malloc1#1.base, main_#t~malloc1#1.offset := #Ultimate.allocOnHeap(8bv32);main_~head~0#1.base, main_~head~0#1.offset := main_#t~malloc1#1.base, main_#t~malloc1#1.offset;havoc main_#t~malloc1#1.base, main_#t~malloc1#1.offset;call write~$Pointer$(0bv32, 0bv32, main_~head~0#1.base, main_~head~0#1.offset, 4bv32);call write~intINTTYPE4(0bv32, main_~head~0#1.base, ~bvadd32(4bv32, main_~head~0#1.offset), 4bv32);main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {2501#(= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 16:53:17,476 INFO L290 TraceCheckUtils]: 2: Hoare triple {2501#(= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) (_ bv1 1))} assume !(0bv32 != main_#t~nondet2#1);havoc main_#t~nondet2#1; {2501#(= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 16:53:17,477 INFO L290 TraceCheckUtils]: 3: Hoare triple {2501#(= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) (_ bv1 1))} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {2508#(and (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|))} is VALID [2022-02-20 16:53:17,477 INFO L290 TraceCheckUtils]: 4: Hoare triple {2508#(and (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|))} call main_#t~mem5#1.base, main_#t~mem5#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4bv32); {2508#(and (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|))} is VALID [2022-02-20 16:53:17,478 INFO L290 TraceCheckUtils]: 5: Hoare triple {2508#(and (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|))} assume !((main_#t~mem5#1.base != 0bv32 || main_#t~mem5#1.offset != 0bv32) && 0bv32 != main_#t~nondet6#1);havoc main_#t~mem5#1.base, main_#t~mem5#1.offset;havoc main_#t~nondet6#1; {2508#(and (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|))} is VALID [2022-02-20 16:53:17,478 INFO L290 TraceCheckUtils]: 6: Hoare triple {2508#(and (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|))} assume !!(main_~x~0#1.base != 0bv32 || main_~x~0#1.offset != 0bv32); {2508#(and (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|))} is VALID [2022-02-20 16:53:17,479 INFO L290 TraceCheckUtils]: 7: Hoare triple {2508#(and (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|))} goto; {2508#(and (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|))} is VALID [2022-02-20 16:53:17,480 INFO L290 TraceCheckUtils]: 8: Hoare triple {2508#(and (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|))} call write~intINTTYPE4(1bv32, main_~x~0#1.base, ~bvadd32(4bv32, main_~x~0#1.offset), 4bv32);call main_#t~mem8#1.base, main_#t~mem8#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4bv32); {2508#(and (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|))} is VALID [2022-02-20 16:53:17,484 INFO L290 TraceCheckUtils]: 9: Hoare triple {2508#(and (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= |ULTIMATE.start_main_~x~0#1.offset| |ULTIMATE.start_main_~head~0#1.offset|))} assume main_#t~mem8#1.base == 0bv32 && main_#t~mem8#1.offset == 0bv32;havoc main_#t~mem8#1.base, main_#t~mem8#1.offset;call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnHeap(8bv32);call write~$Pointer$(main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4bv32);havoc main_#t~malloc9#1.base, main_#t~malloc9#1.offset;call main_#t~mem10#1.base, main_#t~mem10#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4bv32);main_~x~0#1.base, main_~x~0#1.offset := main_#t~mem10#1.base, main_#t~mem10#1.offset;havoc main_#t~mem10#1.base, main_#t~mem10#1.offset;call write~$Pointer$(0bv32, 0bv32, main_~x~0#1.base, main_~x~0#1.offset, 4bv32);call write~intINTTYPE4(2bv32, main_~x~0#1.base, ~bvadd32(4bv32, main_~x~0#1.offset), 4bv32); {2527#(and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|)) (_ bv0 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|)) (_ bv0 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) |ULTIMATE.start_main_~head~0#1.base|)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) (_ bv0 32)))} is VALID [2022-02-20 16:53:17,485 INFO L290 TraceCheckUtils]: 10: Hoare triple {2527#(and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|)) (_ bv0 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|)) (_ bv0 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) |ULTIMATE.start_main_~head~0#1.base|)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) |ULTIMATE.start_main_~head~0#1.offset|) (_ bv0 32)))} main_~prev~0#1.base, main_~prev~0#1.offset := 0bv32, 0bv32;main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {2531#(and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (_ bv0 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (_ bv0 32)) (_ bv0 32)) (not (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) (_ bv0 32)))} is VALID [2022-02-20 16:53:17,487 INFO L290 TraceCheckUtils]: 11: Hoare triple {2531#(and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (_ bv0 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|)) (_ bv0 32)) (_ bv0 32)) (not (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) |ULTIMATE.start_main_~x~0#1.offset|) (_ bv0 32)))} assume !!(main_~x~0#1.base != 0bv32 || main_~x~0#1.offset != 0bv32);call main_#t~mem12#1.base, main_#t~mem12#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4bv32);main_~next~0#1.base, main_~next~0#1.offset := main_#t~mem12#1.base, main_#t~mem12#1.offset;havoc main_#t~mem12#1.base, main_#t~mem12#1.offset;call write~$Pointer$(main_~prev~0#1.base, main_~prev~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4bv32);main_~prev~0#1.base, main_~prev~0#1.offset := main_~x~0#1.base, main_~x~0#1.offset;main_~x~0#1.base, main_~x~0#1.offset := main_~next~0#1.base, main_~next~0#1.offset; {2535#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (_ bv0 32)) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (_ bv0 32))) (= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32)))} is VALID [2022-02-20 16:53:17,487 INFO L290 TraceCheckUtils]: 12: Hoare triple {2535#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (_ bv0 32)) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (_ bv0 32))) (= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32)))} assume !!(main_~x~0#1.base != 0bv32 || main_~x~0#1.offset != 0bv32);call main_#t~mem12#1.base, main_#t~mem12#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4bv32);main_~next~0#1.base, main_~next~0#1.offset := main_#t~mem12#1.base, main_#t~mem12#1.offset;havoc main_#t~mem12#1.base, main_#t~mem12#1.offset;call write~$Pointer$(main_~prev~0#1.base, main_~prev~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4bv32);main_~prev~0#1.base, main_~prev~0#1.offset := main_~x~0#1.base, main_~x~0#1.offset;main_~x~0#1.base, main_~x~0#1.offset := main_~next~0#1.base, main_~next~0#1.offset; {2539#(and (= |ULTIMATE.start_main_~x~0#1.base| (_ bv0 32)) (= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32)))} is VALID [2022-02-20 16:53:17,488 INFO L290 TraceCheckUtils]: 13: Hoare triple {2539#(and (= |ULTIMATE.start_main_~x~0#1.base| (_ bv0 32)) (= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32)))} assume !!(main_~x~0#1.base != 0bv32 || main_~x~0#1.offset != 0bv32);call main_#t~mem12#1.base, main_#t~mem12#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4bv32);main_~next~0#1.base, main_~next~0#1.offset := main_#t~mem12#1.base, main_#t~mem12#1.offset;havoc main_#t~mem12#1.base, main_#t~mem12#1.offset;call write~$Pointer$(main_~prev~0#1.base, main_~prev~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4bv32);main_~prev~0#1.base, main_~prev~0#1.offset := main_~x~0#1.base, main_~x~0#1.offset;main_~x~0#1.base, main_~x~0#1.offset := main_~next~0#1.base, main_~next~0#1.offset; {2494#false} is VALID [2022-02-20 16:53:17,488 INFO L290 TraceCheckUtils]: 14: Hoare triple {2494#false} assume !(main_~x~0#1.base != 0bv32 || main_~x~0#1.offset != 0bv32); {2494#false} is VALID [2022-02-20 16:53:17,489 INFO L290 TraceCheckUtils]: 15: Hoare triple {2494#false} main_~head~0#1.base, main_~head~0#1.offset := main_~prev~0#1.base, main_~prev~0#1.offset;main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {2494#false} is VALID [2022-02-20 16:53:17,489 INFO L290 TraceCheckUtils]: 16: Hoare triple {2494#false} assume !!(main_~x~0#1.base != 0bv32 || main_~x~0#1.offset != 0bv32);call main_#t~mem13#1 := read~intINTTYPE4(main_~x~0#1.base, ~bvadd32(4bv32, main_~x~0#1.offset), 4bv32);main_~t1~0#1 := main_#t~mem13#1;havoc main_#t~mem13#1;main_~t2~0#1 := 0bv32; {2494#false} is VALID [2022-02-20 16:53:17,489 INFO L290 TraceCheckUtils]: 17: Hoare triple {2494#false} assume 2bv32 == main_~t1~0#1;call main_#t~mem14#1.base, main_#t~mem14#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4bv32);call main_#t~mem15#1 := read~intINTTYPE4(main_#t~mem14#1.base, ~bvadd32(4bv32, main_#t~mem14#1.offset), 4bv32);main_~t2~0#1 := main_#t~mem15#1;havoc main_#t~mem14#1.base, main_#t~mem14#1.offset;havoc main_#t~mem15#1; {2494#false} is VALID [2022-02-20 16:53:17,489 INFO L290 TraceCheckUtils]: 18: Hoare triple {2494#false} assume !(2bv32 != main_~t1~0#1 || 1bv32 == main_~t2~0#1); {2494#false} is VALID [2022-02-20 16:53:17,489 INFO L290 TraceCheckUtils]: 19: Hoare triple {2494#false} assume !false; {2494#false} is VALID [2022-02-20 16:53:17,489 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 3 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 16:53:17,489 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 16:53:17,559 WARN L838 $PredicateComparison]: unable to prove that (and (forall ((v_ArrVal_368 (Array (_ BitVec 32) (_ BitVec 32)))) (= (_ bv0 32) (select (select (store |c_#memory_$Pointer$.offset| |c_ULTIMATE.start_main_~x~0#1.base| v_ArrVal_368) (select (select |c_#memory_$Pointer$.base| |c_ULTIMATE.start_main_~x~0#1.base|) |c_ULTIMATE.start_main_~x~0#1.offset|)) (select (select |c_#memory_$Pointer$.offset| |c_ULTIMATE.start_main_~x~0#1.base|) |c_ULTIMATE.start_main_~x~0#1.offset|)))) (forall ((v_ArrVal_367 (Array (_ BitVec 32) (_ BitVec 32)))) (= (select (select (store |c_#memory_$Pointer$.base| |c_ULTIMATE.start_main_~x~0#1.base| v_ArrVal_367) (select (select |c_#memory_$Pointer$.base| |c_ULTIMATE.start_main_~x~0#1.base|) |c_ULTIMATE.start_main_~x~0#1.offset|)) (select (select |c_#memory_$Pointer$.offset| |c_ULTIMATE.start_main_~x~0#1.base|) |c_ULTIMATE.start_main_~x~0#1.offset|)) (_ bv0 32)))) is different from false [2022-02-20 16:53:17,577 WARN L838 $PredicateComparison]: unable to prove that (and (forall ((v_ArrVal_367 (Array (_ BitVec 32) (_ BitVec 32)))) (= (select (select (store |c_#memory_$Pointer$.base| |c_ULTIMATE.start_main_~head~0#1.base| v_ArrVal_367) (select (select |c_#memory_$Pointer$.base| |c_ULTIMATE.start_main_~head~0#1.base|) |c_ULTIMATE.start_main_~head~0#1.offset|)) (select (select |c_#memory_$Pointer$.offset| |c_ULTIMATE.start_main_~head~0#1.base|) |c_ULTIMATE.start_main_~head~0#1.offset|)) (_ bv0 32))) (forall ((v_ArrVal_368 (Array (_ BitVec 32) (_ BitVec 32)))) (= (select (select (store |c_#memory_$Pointer$.offset| |c_ULTIMATE.start_main_~head~0#1.base| v_ArrVal_368) (select (select |c_#memory_$Pointer$.base| |c_ULTIMATE.start_main_~head~0#1.base|) |c_ULTIMATE.start_main_~head~0#1.offset|)) (select (select |c_#memory_$Pointer$.offset| |c_ULTIMATE.start_main_~head~0#1.base|) |c_ULTIMATE.start_main_~head~0#1.offset|)) (_ bv0 32)))) is different from false [2022-02-20 16:53:17,985 INFO L356 Elim1Store]: treesize reduction 120, result has 37.2 percent of original size [2022-02-20 16:53:17,985 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 2 new quantified variables, introduced 4 case distinctions, treesize of input 2733 treesize of output 2356 [2022-02-20 16:53:18,386 INFO L356 Elim1Store]: treesize reduction 111, result has 41.9 percent of original size [2022-02-20 16:53:18,388 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 2 new quantified variables, introduced 4 case distinctions, treesize of input 21540 treesize of output 14451 [2022-02-20 16:53:21,616 INFO L356 Elim1Store]: treesize reduction 462, result has 54.5 percent of original size [2022-02-20 16:53:21,617 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 15 select indices, 15 select index equivalence classes, 1 disjoint index pairs (out of 105 index pairs), introduced 15 new quantified variables, introduced 104 case distinctions, treesize of input 17523 treesize of output 17036 [2022-02-20 16:53:25,329 INFO L356 Elim1Store]: treesize reduction 473, result has 53.4 percent of original size [2022-02-20 16:53:25,330 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 15 select indices, 15 select index equivalence classes, 1 disjoint index pairs (out of 105 index pairs), introduced 15 new quantified variables, introduced 104 case distinctions, treesize of input 20108 treesize of output 19610 [2022-02-20 16:53:27,365 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 16:53:27,366 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 18205 treesize of output 17718 [2022-02-20 16:53:27,737 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 16:53:27,738 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 17693 treesize of output 17206 [2022-02-20 16:53:28,040 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 16:53:28,041 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [636146550] [2022-02-20 16:53:28,041 WARN L325 FreeRefinementEngine]: Global settings require throwing the following exception [2022-02-20 16:53:28,056 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (10)] Forceful destruction successful, exit code 0 [2022-02-20 16:53:28,254 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 16:53:28,254 FATAL L? ?]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction has thrown an exception: java.lang.ArithmeticException: BigInteger out of long range at java.base/java.math.BigInteger.longValueExact(BigInteger.java:4765) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.computeDerApplicabilityScore(QuantifierPusher.java:685) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.selectBestEliminatee(QuantifierPusher.java:668) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.doit(QuantifierPusher.java:604) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.tryToPushOverDualFiniteConnective2(QuantifierPusher.java:446) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.tryToPushOverDualFiniteConnective(QuantifierPusher.java:355) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.QuantifierPushTermWalker.convert(QuantifierPushTermWalker.java:172) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.QuantifierPushTermWalker.convert(QuantifierPushTermWalker.java:1) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.TermContextTransformationEngine.transform(TermContextTransformationEngine.java:65) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.TermContextTransformationEngine.transform(TermContextTransformationEngine.java:61) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.QuantifierPushTermWalker.eliminate(QuantifierPushTermWalker.java:261) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.QuantifierPushTermWalker.eliminate(QuantifierPushTermWalker.java:247) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.PartialQuantifierElimination.eliminate(PartialQuantifierElimination.java:92) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.predicates.IterativePredicateTransformer$QuantifierEliminationPostprocessor.postprocess(IterativePredicateTransformer.java:238) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.predicates.IterativePredicateTransformer.applyPostprocessors(IterativePredicateTransformer.java:420) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.predicates.IterativePredicateTransformer.computeBackwardSequence(IterativePredicateTransformer.java:399) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.predicates.IterativePredicateTransformer.computeWeakestPreconditionSequence(IterativePredicateTransformer.java:271) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.TraceCheckSpWp.computeInterpolantsUsingUnsatCore(TraceCheckSpWp.java:342) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.TraceCheckSpWp.computeInterpolants(TraceCheckSpWp.java:185) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.TraceCheckSpWp.(TraceCheckSpWp.java:163) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleSpWp.construct(IpTcStrategyModuleSpWp.java:108) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleSpWp.construct(IpTcStrategyModuleSpWp.java:1) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleBase.getOrConstruct(IpTcStrategyModuleBase.java:100) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleBase.isCorrect(IpTcStrategyModuleBase.java:56) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.AutomatonFreeRefinementEngine.checkFeasibility(AutomatonFreeRefinementEngine.java:216) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.AutomatonFreeRefinementEngine.executeStrategy(AutomatonFreeRefinementEngine.java:129) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.AutomatonFreeRefinementEngine.(AutomatonFreeRefinementEngine.java:93) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceAbstractionRefinementEngine.(TraceAbstractionRefinementEngine.java:79) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.BasicCegarLoop.isCounterexampleFeasible(BasicCegarLoop.java:610) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterate(AbstractCegarLoop.java:413) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.startCegar(AbstractCegarLoop.java:348) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.runCegar(AbstractCegarLoop.java:330) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.CegarLoopUtils.getCegarLoopResult(CegarLoopUtils.java:56) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.executeCegarLoop(TraceAbstractionStarter.java:414) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.analyseProgram(TraceAbstractionStarter.java:304) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.analyseSequentialProgram(TraceAbstractionStarter.java:264) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:177) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:156) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:123) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:168) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:151) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:232) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:226) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:142) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:104) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:320) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) [2022-02-20 16:53:28,258 INFO L158 Benchmark]: Toolchain (without parser) took 30206.44ms. Allocated memory was 52.4MB in the beginning and 262.1MB in the end (delta: 209.7MB). Free memory was 28.2MB in the beginning and 221.7MB in the end (delta: -193.6MB). Peak memory consumption was 152.3MB. Max. memory is 16.1GB. [2022-02-20 16:53:28,258 INFO L158 Benchmark]: CDTParser took 0.17ms. Allocated memory is still 52.4MB. Free memory is still 34.3MB. There was no memory consumed. Max. memory is 16.1GB. [2022-02-20 16:53:28,258 INFO L158 Benchmark]: CACSL2BoogieTranslator took 517.51ms. Allocated memory was 52.4MB in the beginning and 65.0MB in the end (delta: 12.6MB). Free memory was 27.7MB in the beginning and 38.4MB in the end (delta: -10.6MB). Peak memory consumption was 5.7MB. Max. memory is 16.1GB. [2022-02-20 16:53:28,258 INFO L158 Benchmark]: Boogie Procedure Inliner took 74.37ms. Allocated memory is still 65.0MB. Free memory was 38.2MB in the beginning and 35.8MB in the end (delta: 2.4MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2022-02-20 16:53:28,259 INFO L158 Benchmark]: Boogie Preprocessor took 57.45ms. Allocated memory is still 65.0MB. Free memory was 35.8MB in the beginning and 46.5MB in the end (delta: -10.8MB). Peak memory consumption was 5.5MB. Max. memory is 16.1GB. [2022-02-20 16:53:28,259 INFO L158 Benchmark]: RCFGBuilder took 598.22ms. Allocated memory is still 65.0MB. Free memory was 46.5MB in the beginning and 42.5MB in the end (delta: 4.1MB). Peak memory consumption was 18.9MB. Max. memory is 16.1GB. [2022-02-20 16:53:28,259 INFO L158 Benchmark]: TraceAbstraction took 28950.65ms. Allocated memory was 65.0MB in the beginning and 262.1MB in the end (delta: 197.1MB). Free memory was 41.8MB in the beginning and 221.7MB in the end (delta: -180.0MB). Peak memory consumption was 153.7MB. Max. memory is 16.1GB. [2022-02-20 16:53:28,262 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.17ms. Allocated memory is still 52.4MB. Free memory is still 34.3MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 517.51ms. Allocated memory was 52.4MB in the beginning and 65.0MB in the end (delta: 12.6MB). Free memory was 27.7MB in the beginning and 38.4MB in the end (delta: -10.6MB). Peak memory consumption was 5.7MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 74.37ms. Allocated memory is still 65.0MB. Free memory was 38.2MB in the beginning and 35.8MB in the end (delta: 2.4MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * Boogie Preprocessor took 57.45ms. Allocated memory is still 65.0MB. Free memory was 35.8MB in the beginning and 46.5MB in the end (delta: -10.8MB). Peak memory consumption was 5.5MB. Max. memory is 16.1GB. * RCFGBuilder took 598.22ms. Allocated memory is still 65.0MB. Free memory was 46.5MB in the beginning and 42.5MB in the end (delta: 4.1MB). Peak memory consumption was 18.9MB. Max. memory is 16.1GB. * TraceAbstraction took 28950.65ms. Allocated memory was 65.0MB in the beginning and 262.1MB in the end (delta: 197.1MB). Free memory was 41.8MB in the beginning and 221.7MB in the end (delta: -180.0MB). Peak memory consumption was 153.7MB. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - ExceptionOrErrorResult: ArithmeticException: BigInteger out of long range de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: ArithmeticException: BigInteger out of long range: java.base/java.math.BigInteger.longValueExact(BigInteger.java:4765) RESULT: Ultimate could not prove your program: Toolchain returned no result. [2022-02-20 16:53:28,292 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Ended with exit code 0 Received shutdown request... --- End real Ultimate output --- Execution finished normally Writing output log to file Ultimate.log Result: ERROR: ExceptionOrErrorResult: ArithmeticException: BigInteger out of long range