./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/forester-heap/dll-optional-1.i --full-output -ea --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 03d7b7b3 Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -ea -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/forester-heap/dll-optional-1.i -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(reach_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 1c592bb1d39faa1e5f3d20603a8bfbb8fe6cff4de59ea35fafbddd50b8917b41 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 16:50:49,331 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 16:50:49,332 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 16:50:49,364 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 16:50:49,365 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 16:50:49,366 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 16:50:49,367 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 16:50:49,368 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 16:50:49,369 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 16:50:49,369 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 16:50:49,370 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 16:50:49,371 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 16:50:49,372 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 16:50:49,374 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 16:50:49,375 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 16:50:49,376 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 16:50:49,378 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 16:50:49,381 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 16:50:49,382 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 16:50:49,385 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 16:50:49,388 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 16:50:49,388 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 16:50:49,389 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 16:50:49,390 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 16:50:49,391 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 16:50:49,391 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 16:50:49,392 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 16:50:49,392 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 16:50:49,392 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 16:50:49,393 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 16:50:49,393 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 16:50:49,394 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 16:50:49,394 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 16:50:49,395 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 16:50:49,395 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 16:50:49,396 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 16:50:49,396 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 16:50:49,396 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 16:50:49,396 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 16:50:49,397 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 16:50:49,397 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 16:50:49,398 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:50:49,411 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 16:50:49,411 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 16:50:49,412 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 16:50:49,412 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 16:50:49,412 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 16:50:49,413 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 16:50:49,413 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 16:50:49,413 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 16:50:49,413 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 16:50:49,414 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 16:50:49,414 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 16:50:49,414 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 16:50:49,414 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 16:50:49,414 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 16:50:49,414 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 16:50:49,415 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 16:50:49,415 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 16:50:49,415 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 16:50:49,415 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 16:50:49,415 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 16:50:49,416 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 16:50:49,416 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 16:50:49,416 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 16:50:49,416 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 16:50:49,416 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 16:50:49,416 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 16:50:49,417 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 16:50:49,417 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 16:50:49,417 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 16:50:49,417 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 16:50:49,417 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 16:50:49,418 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 16:50:49,418 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 16:50:49,418 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 -> 1c592bb1d39faa1e5f3d20603a8bfbb8fe6cff4de59ea35fafbddd50b8917b41 [2022-02-20 16:50:49,619 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 16:50:49,636 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 16:50:49,638 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 16:50:49,639 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 16:50:49,639 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 16:50:49,640 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/forester-heap/dll-optional-1.i [2022-02-20 16:50:49,693 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8a4e523ef/b4f3570b11df4ee48d17f65cbd44d145/FLAGdafe692b2 [2022-02-20 16:50:50,086 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 16:50:50,086 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/forester-heap/dll-optional-1.i [2022-02-20 16:50:50,094 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8a4e523ef/b4f3570b11df4ee48d17f65cbd44d145/FLAGdafe692b2 [2022-02-20 16:50:50,105 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8a4e523ef/b4f3570b11df4ee48d17f65cbd44d145 [2022-02-20 16:50:50,107 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 16:50:50,108 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 16:50:50,109 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 16:50:50,109 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 16:50:50,111 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 16:50:50,112 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 04:50:50" (1/1) ... [2022-02-20 16:50:50,113 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@62430bf6 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:50:50, skipping insertion in model container [2022-02-20 16:50:50,113 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 04:50:50" (1/1) ... [2022-02-20 16:50:50,118 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 16:50:50,153 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 16:50:50,373 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/dll-optional-1.i[22753,22766] [2022-02-20 16:50:50,379 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 16:50:50,384 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 16:50:50,412 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/dll-optional-1.i[22753,22766] [2022-02-20 16:50:50,415 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 16:50:50,439 INFO L208 MainTranslator]: Completed translation [2022-02-20 16:50:50,439 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:50:50 WrapperNode [2022-02-20 16:50:50,439 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 16:50:50,440 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 16:50:50,440 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 16:50:50,440 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 16:50:50,445 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:50:50" (1/1) ... [2022-02-20 16:50:50,454 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:50:50" (1/1) ... [2022-02-20 16:50:50,483 INFO L137 Inliner]: procedures = 119, calls = 44, calls flagged for inlining = 2, calls inlined = 2, statements flattened = 134 [2022-02-20 16:50:50,487 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 16:50:50,488 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 16:50:50,488 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 16:50:50,488 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 16:50:50,493 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:50:50" (1/1) ... [2022-02-20 16:50:50,494 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:50:50" (1/1) ... [2022-02-20 16:50:50,501 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:50:50" (1/1) ... [2022-02-20 16:50:50,511 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:50:50" (1/1) ... [2022-02-20 16:50:50,519 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:50:50" (1/1) ... [2022-02-20 16:50:50,523 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:50:50" (1/1) ... [2022-02-20 16:50:50,525 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:50:50" (1/1) ... [2022-02-20 16:50:50,527 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 16:50:50,528 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 16:50:50,528 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 16:50:50,528 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 16:50:50,529 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:50:50" (1/1) ... [2022-02-20 16:50:50,546 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 16:50:50,557 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 16:50:50,578 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:50:50,579 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:50:50,612 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-02-20 16:50:50,612 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-02-20 16:50:50,612 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2022-02-20 16:50:50,612 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 16:50:50,613 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2022-02-20 16:50:50,613 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2022-02-20 16:50:50,613 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 16:50:50,613 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 16:50:50,613 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 16:50:50,613 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 16:50:50,680 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 16:50:50,681 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 16:50:50,993 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 16:50:50,998 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 16:50:50,998 INFO L299 CfgBuilder]: Removed 5 assume(true) statements. [2022-02-20 16:50:50,999 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 04:50:50 BoogieIcfgContainer [2022-02-20 16:50:51,000 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 16:50:51,001 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 16:50:51,001 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 16:50:51,004 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 16:50:51,005 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 04:50:50" (1/3) ... [2022-02-20 16:50:51,005 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7443874f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 04:50:51, skipping insertion in model container [2022-02-20 16:50:51,005 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:50:50" (2/3) ... [2022-02-20 16:50:51,006 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7443874f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 04:50:51, skipping insertion in model container [2022-02-20 16:50:51,006 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 04:50:50" (3/3) ... [2022-02-20 16:50:51,007 INFO L111 eAbstractionObserver]: Analyzing ICFG dll-optional-1.i [2022-02-20 16:50:51,011 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 16:50:51,012 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 16:50:51,053 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 16:50:51,068 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:50:51,069 INFO L340 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-02-20 16:50:51,084 INFO L276 IsEmpty]: Start isEmpty. Operand has 30 states, 28 states have (on average 1.6428571428571428) internal successors, (46), 29 states have internal predecessors, (46), 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:50:51,088 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2022-02-20 16:50:51,088 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:50:51,088 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:50:51,089 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:50:51,093 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:50:51,094 INFO L85 PathProgramCache]: Analyzing trace with hash 573386926, now seen corresponding path program 1 times [2022-02-20 16:50:51,103 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:50:51,103 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [453706959] [2022-02-20 16:50:51,103 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:50:51,104 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:50:51,255 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:50:51,329 INFO L290 TraceCheckUtils]: 0: Hoare triple {33#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(17, 2); {33#true} is VALID [2022-02-20 16:50:51,329 INFO L290 TraceCheckUtils]: 1: Hoare triple {33#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~nondet2#1, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~mem4#1.base, main_#t~mem4#1.offset, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~mem8#1.base, main_#t~mem8#1.offset, main_#t~mem9#1.base, main_#t~mem9#1.offset, main_#t~nondet10#1, main_#t~malloc11#1.base, main_#t~malloc11#1.offset, main_#t~mem12#1.base, main_#t~mem12#1.offset, main_#t~nondet13#1, main_#t~nondet6#1, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~short16#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~short19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~short21#1, main_#t~mem22#1.base, main_#t~mem22#1.offset, main_#t~mem23#1.base, main_#t~mem23#1.offset, main_#t~mem24#1, main_#t~mem25#1.base, main_#t~mem25#1.offset, main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset;call main_#t~malloc1#1.base, main_#t~malloc1#1.offset := #Ultimate.allocOnHeap(16);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~$Pointer$(0, 0, main_~head~0#1.base, 4 + main_~head~0#1.offset, 4);assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647; {33#true} is VALID [2022-02-20 16:50:51,330 INFO L290 TraceCheckUtils]: 2: Hoare triple {33#true} assume 0 != main_#t~nondet2#1;havoc main_#t~nondet2#1;call write~int(2, main_~head~0#1.base, 12 + main_~head~0#1.offset, 4);call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(16);call write~$Pointer$(main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_~head~0#1.base, 8 + main_~head~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_~head~0#1.base, 8 + main_~head~0#1.offset, 4);call write~$Pointer$(0, 0, main_#t~mem4#1.base, main_#t~mem4#1.offset, 4);havoc main_#t~mem4#1.base, main_#t~mem4#1.offset; {33#true} is VALID [2022-02-20 16:50:51,330 INFO L290 TraceCheckUtils]: 3: Hoare triple {33#true} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {33#true} is VALID [2022-02-20 16:50:51,331 INFO L290 TraceCheckUtils]: 4: Hoare triple {33#true} assume !true; {34#false} is VALID [2022-02-20 16:50:51,331 INFO L290 TraceCheckUtils]: 5: Hoare triple {34#false} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {34#false} is VALID [2022-02-20 16:50:51,331 INFO L290 TraceCheckUtils]: 6: Hoare triple {34#false} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0); {34#false} is VALID [2022-02-20 16:50:51,331 INFO L290 TraceCheckUtils]: 7: Hoare triple {34#false} call main_#t~mem14#1 := read~int(main_~x~0#1.base, 12 + main_~x~0#1.offset, 4);main_#t~short16#1 := 2 == main_#t~mem14#1; {34#false} is VALID [2022-02-20 16:50:51,332 INFO L290 TraceCheckUtils]: 8: Hoare triple {34#false} assume main_#t~short16#1;call main_#t~mem15#1.base, main_#t~mem15#1.offset := read~$Pointer$(main_~x~0#1.base, 8 + main_~x~0#1.offset, 4);main_#t~short16#1 := main_#t~mem15#1.base != main_~x~0#1.base || main_#t~mem15#1.offset != main_~x~0#1.offset; {34#false} is VALID [2022-02-20 16:50:51,332 INFO L290 TraceCheckUtils]: 9: Hoare triple {34#false} main_#t~short19#1 := main_#t~short16#1; {34#false} is VALID [2022-02-20 16:50:51,332 INFO L290 TraceCheckUtils]: 10: Hoare triple {34#false} assume !main_#t~short19#1; {34#false} is VALID [2022-02-20 16:50:51,333 INFO L290 TraceCheckUtils]: 11: Hoare triple {34#false} main_#t~short21#1 := main_#t~short19#1; {34#false} is VALID [2022-02-20 16:50:51,333 INFO L290 TraceCheckUtils]: 12: Hoare triple {34#false} assume main_#t~short21#1; {34#false} is VALID [2022-02-20 16:50:51,334 INFO L290 TraceCheckUtils]: 13: Hoare triple {34#false} assume !main_#t~short21#1;havoc main_#t~mem14#1;havoc main_#t~mem15#1.base, main_#t~mem15#1.offset;havoc main_#t~short16#1;havoc main_#t~mem17#1.base, main_#t~mem17#1.offset;havoc main_#t~mem18#1.base, main_#t~mem18#1.offset;havoc main_#t~short19#1;havoc main_#t~mem20#1.base, main_#t~mem20#1.offset;havoc main_#t~short21#1; {34#false} is VALID [2022-02-20 16:50:51,334 INFO L290 TraceCheckUtils]: 14: Hoare triple {34#false} assume !false; {34#false} is VALID [2022-02-20 16:50:51,335 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:50:51,336 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:50:51,336 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [453706959] [2022-02-20 16:50:51,336 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [453706959] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:50:51,337 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:50:51,337 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 16:50:51,338 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1772839848] [2022-02-20 16:50:51,338 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:50:51,343 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 7.5) internal successors, (15), 2 states have internal predecessors, (15), 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 15 [2022-02-20 16:50:51,344 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:50:51,346 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 2 states, 2 states have (on average 7.5) internal successors, (15), 2 states have internal predecessors, (15), 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:50:51,370 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:50:51,371 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-02-20 16:50:51,371 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:50:51,399 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-02-20 16:50:51,400 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 16:50:51,403 INFO L87 Difference]: Start difference. First operand has 30 states, 28 states have (on average 1.6428571428571428) internal successors, (46), 29 states have internal predecessors, (46), 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 7.5) internal successors, (15), 2 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:50:51,458 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:50:51,458 INFO L93 Difference]: Finished difference Result 51 states and 77 transitions. [2022-02-20 16:50:51,458 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-02-20 16:50:51,459 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 7.5) internal successors, (15), 2 states have internal predecessors, (15), 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 15 [2022-02-20 16:50:51,459 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:50:51,460 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 7.5) internal successors, (15), 2 states have internal predecessors, (15), 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:50:51,463 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 77 transitions. [2022-02-20 16:50:51,464 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 7.5) internal successors, (15), 2 states have internal predecessors, (15), 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:50:51,465 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 77 transitions. [2022-02-20 16:50:51,465 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 77 transitions. [2022-02-20 16:50:51,530 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:50:51,542 INFO L225 Difference]: With dead ends: 51 [2022-02-20 16:50:51,543 INFO L226 Difference]: Without dead ends: 22 [2022-02-20 16:50:51,544 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:50:51,547 INFO L933 BasicCegarLoop]: 40 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, 40 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:50:51,548 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 40 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 16:50:51,558 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 22 states. [2022-02-20 16:50:51,566 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 22 to 22. [2022-02-20 16:50:51,566 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:50:51,567 INFO L82 GeneralOperation]: Start isEquivalent. First operand 22 states. Second operand has 22 states, 21 states have (on average 1.4285714285714286) internal successors, (30), 21 states have internal predecessors, (30), 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:50:51,567 INFO L74 IsIncluded]: Start isIncluded. First operand 22 states. Second operand has 22 states, 21 states have (on average 1.4285714285714286) internal successors, (30), 21 states have internal predecessors, (30), 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:50:51,569 INFO L87 Difference]: Start difference. First operand 22 states. Second operand has 22 states, 21 states have (on average 1.4285714285714286) internal successors, (30), 21 states have internal predecessors, (30), 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:50:51,575 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:50:51,575 INFO L93 Difference]: Finished difference Result 22 states and 30 transitions. [2022-02-20 16:50:51,576 INFO L276 IsEmpty]: Start isEmpty. Operand 22 states and 30 transitions. [2022-02-20 16:50:51,576 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:50:51,576 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:50:51,576 INFO L74 IsIncluded]: Start isIncluded. First operand has 22 states, 21 states have (on average 1.4285714285714286) internal successors, (30), 21 states have internal predecessors, (30), 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 22 states. [2022-02-20 16:50:51,577 INFO L87 Difference]: Start difference. First operand has 22 states, 21 states have (on average 1.4285714285714286) internal successors, (30), 21 states have internal predecessors, (30), 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 22 states. [2022-02-20 16:50:51,579 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:50:51,579 INFO L93 Difference]: Finished difference Result 22 states and 30 transitions. [2022-02-20 16:50:51,579 INFO L276 IsEmpty]: Start isEmpty. Operand 22 states and 30 transitions. [2022-02-20 16:50:51,580 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:50:51,580 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:50:51,580 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:50:51,580 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:50:51,580 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 21 states have (on average 1.4285714285714286) internal successors, (30), 21 states have internal predecessors, (30), 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:50:51,582 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 30 transitions. [2022-02-20 16:50:51,583 INFO L78 Accepts]: Start accepts. Automaton has 22 states and 30 transitions. Word has length 15 [2022-02-20 16:50:51,584 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:50:51,584 INFO L470 AbstractCegarLoop]: Abstraction has 22 states and 30 transitions. [2022-02-20 16:50:51,585 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 7.5) internal successors, (15), 2 states have internal predecessors, (15), 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:50:51,587 INFO L276 IsEmpty]: Start isEmpty. Operand 22 states and 30 transitions. [2022-02-20 16:50:51,587 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2022-02-20 16:50:51,587 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:50:51,587 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:50:51,588 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 16:50:51,589 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:50:51,590 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:50:51,590 INFO L85 PathProgramCache]: Analyzing trace with hash -1170055612, now seen corresponding path program 1 times [2022-02-20 16:50:51,590 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:50:51,594 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [725373994] [2022-02-20 16:50:51,595 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:50:51,595 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:50:51,649 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:50:51,679 INFO L290 TraceCheckUtils]: 0: Hoare triple {166#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(17, 2); {166#true} is VALID [2022-02-20 16:50:51,680 INFO L290 TraceCheckUtils]: 1: Hoare triple {166#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~nondet2#1, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~mem4#1.base, main_#t~mem4#1.offset, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~mem8#1.base, main_#t~mem8#1.offset, main_#t~mem9#1.base, main_#t~mem9#1.offset, main_#t~nondet10#1, main_#t~malloc11#1.base, main_#t~malloc11#1.offset, main_#t~mem12#1.base, main_#t~mem12#1.offset, main_#t~nondet13#1, main_#t~nondet6#1, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~short16#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~short19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~short21#1, main_#t~mem22#1.base, main_#t~mem22#1.offset, main_#t~mem23#1.base, main_#t~mem23#1.offset, main_#t~mem24#1, main_#t~mem25#1.base, main_#t~mem25#1.offset, main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset;call main_#t~malloc1#1.base, main_#t~malloc1#1.offset := #Ultimate.allocOnHeap(16);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~$Pointer$(0, 0, main_~head~0#1.base, 4 + main_~head~0#1.offset, 4);assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647; {166#true} is VALID [2022-02-20 16:50:51,680 INFO L290 TraceCheckUtils]: 2: Hoare triple {166#true} assume 0 != main_#t~nondet2#1;havoc main_#t~nondet2#1;call write~int(2, main_~head~0#1.base, 12 + main_~head~0#1.offset, 4);call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(16);call write~$Pointer$(main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_~head~0#1.base, 8 + main_~head~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_~head~0#1.base, 8 + main_~head~0#1.offset, 4);call write~$Pointer$(0, 0, main_#t~mem4#1.base, main_#t~mem4#1.offset, 4);havoc main_#t~mem4#1.base, main_#t~mem4#1.offset; {166#true} is VALID [2022-02-20 16:50:51,680 INFO L290 TraceCheckUtils]: 3: Hoare triple {166#true} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {166#true} is VALID [2022-02-20 16:50:51,680 INFO L290 TraceCheckUtils]: 4: Hoare triple {166#true} assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647; {166#true} is VALID [2022-02-20 16:50:51,681 INFO L290 TraceCheckUtils]: 5: Hoare triple {166#true} assume !(0 != main_#t~nondet6#1);havoc main_#t~nondet6#1; {166#true} is VALID [2022-02-20 16:50:51,681 INFO L290 TraceCheckUtils]: 6: Hoare triple {166#true} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {166#true} is VALID [2022-02-20 16:50:51,681 INFO L290 TraceCheckUtils]: 7: Hoare triple {166#true} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0); {166#true} is VALID [2022-02-20 16:50:51,681 INFO L290 TraceCheckUtils]: 8: Hoare triple {166#true} call main_#t~mem14#1 := read~int(main_~x~0#1.base, 12 + main_~x~0#1.offset, 4);main_#t~short16#1 := 2 == main_#t~mem14#1; {166#true} is VALID [2022-02-20 16:50:51,681 INFO L290 TraceCheckUtils]: 9: Hoare triple {166#true} assume main_#t~short16#1;call main_#t~mem15#1.base, main_#t~mem15#1.offset := read~$Pointer$(main_~x~0#1.base, 8 + main_~x~0#1.offset, 4);main_#t~short16#1 := main_#t~mem15#1.base != main_~x~0#1.base || main_#t~mem15#1.offset != main_~x~0#1.offset; {166#true} is VALID [2022-02-20 16:50:51,682 INFO L290 TraceCheckUtils]: 10: Hoare triple {166#true} main_#t~short19#1 := main_#t~short16#1; {166#true} is VALID [2022-02-20 16:50:51,682 INFO L290 TraceCheckUtils]: 11: Hoare triple {166#true} assume !main_#t~short19#1; {168#(not |ULTIMATE.start_main_#t~short19#1|)} is VALID [2022-02-20 16:50:51,682 INFO L290 TraceCheckUtils]: 12: Hoare triple {168#(not |ULTIMATE.start_main_#t~short19#1|)} main_#t~short21#1 := main_#t~short19#1; {169#(not |ULTIMATE.start_main_#t~short21#1|)} is VALID [2022-02-20 16:50:51,683 INFO L290 TraceCheckUtils]: 13: Hoare triple {169#(not |ULTIMATE.start_main_#t~short21#1|)} assume main_#t~short21#1; {167#false} is VALID [2022-02-20 16:50:51,683 INFO L290 TraceCheckUtils]: 14: Hoare triple {167#false} assume !main_#t~short21#1;havoc main_#t~mem14#1;havoc main_#t~mem15#1.base, main_#t~mem15#1.offset;havoc main_#t~short16#1;havoc main_#t~mem17#1.base, main_#t~mem17#1.offset;havoc main_#t~mem18#1.base, main_#t~mem18#1.offset;havoc main_#t~short19#1;havoc main_#t~mem20#1.base, main_#t~mem20#1.offset;havoc main_#t~short21#1; {167#false} is VALID [2022-02-20 16:50:51,683 INFO L290 TraceCheckUtils]: 15: Hoare triple {167#false} assume !false; {167#false} is VALID [2022-02-20 16:50:51,683 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:50:51,684 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:50:51,684 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [725373994] [2022-02-20 16:50:51,684 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [725373994] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:50:51,684 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:50:51,684 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 16:50:51,685 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [560426750] [2022-02-20 16:50:51,685 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:50:51,686 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 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 16 [2022-02-20 16:50:51,691 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:50:51,691 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 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:50:51,705 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 16 edges. 16 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:50:51,705 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 16:50:51,706 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:50:51,706 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 16:50:51,706 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 16:50:51,707 INFO L87 Difference]: Start difference. First operand 22 states and 30 transitions. Second operand has 4 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 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:50:51,795 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:50:51,796 INFO L93 Difference]: Finished difference Result 37 states and 50 transitions. [2022-02-20 16:50:51,796 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 16:50:51,796 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 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 16 [2022-02-20 16:50:51,796 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:50:51,797 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 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:50:51,799 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 50 transitions. [2022-02-20 16:50:51,799 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 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:50:51,800 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 50 transitions. [2022-02-20 16:50:51,800 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 50 transitions. [2022-02-20 16:50:51,834 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:50:51,836 INFO L225 Difference]: With dead ends: 37 [2022-02-20 16:50:51,836 INFO L226 Difference]: Without dead ends: 25 [2022-02-20 16:50:51,840 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:50:51,841 INFO L933 BasicCegarLoop]: 28 mSDtfsCounter, 1 mSDsluCounter, 47 mSDsCounter, 0 mSdLazyCounter, 14 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 1 SdHoareTripleChecker+Valid, 75 SdHoareTripleChecker+Invalid, 15 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 14 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 16:50:51,841 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [1 Valid, 75 Invalid, 15 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 14 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 16:50:51,842 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 25 states. [2022-02-20 16:50:51,843 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 25 to 24. [2022-02-20 16:50:51,844 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:50:51,844 INFO L82 GeneralOperation]: Start isEquivalent. First operand 25 states. Second operand has 24 states, 23 states have (on average 1.391304347826087) internal successors, (32), 23 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:50:51,844 INFO L74 IsIncluded]: Start isIncluded. First operand 25 states. Second operand has 24 states, 23 states have (on average 1.391304347826087) internal successors, (32), 23 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:50:51,844 INFO L87 Difference]: Start difference. First operand 25 states. Second operand has 24 states, 23 states have (on average 1.391304347826087) internal successors, (32), 23 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:50:51,845 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:50:51,845 INFO L93 Difference]: Finished difference Result 25 states and 34 transitions. [2022-02-20 16:50:51,846 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 34 transitions. [2022-02-20 16:50:51,846 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:50:51,846 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:50:51,846 INFO L74 IsIncluded]: Start isIncluded. First operand has 24 states, 23 states have (on average 1.391304347826087) internal successors, (32), 23 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 25 states. [2022-02-20 16:50:51,846 INFO L87 Difference]: Start difference. First operand has 24 states, 23 states have (on average 1.391304347826087) internal successors, (32), 23 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 25 states. [2022-02-20 16:50:51,847 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:50:51,848 INFO L93 Difference]: Finished difference Result 25 states and 34 transitions. [2022-02-20 16:50:51,848 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 34 transitions. [2022-02-20 16:50:51,848 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:50:51,848 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:50:51,848 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:50:51,848 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:50:51,849 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 24 states, 23 states have (on average 1.391304347826087) internal successors, (32), 23 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:50:51,849 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 32 transitions. [2022-02-20 16:50:51,850 INFO L78 Accepts]: Start accepts. Automaton has 24 states and 32 transitions. Word has length 16 [2022-02-20 16:50:51,850 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:50:51,850 INFO L470 AbstractCegarLoop]: Abstraction has 24 states and 32 transitions. [2022-02-20 16:50:51,851 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 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:50:51,851 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 32 transitions. [2022-02-20 16:50:51,851 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2022-02-20 16:50:51,851 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:50:51,859 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:50:51,859 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-02-20 16:50:51,859 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:50:51,860 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:50:51,860 INFO L85 PathProgramCache]: Analyzing trace with hash -1170053690, now seen corresponding path program 1 times [2022-02-20 16:50:51,860 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:50:51,860 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1421080675] [2022-02-20 16:50:51,860 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:50:51,861 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:50:51,885 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:50:51,955 INFO L290 TraceCheckUtils]: 0: Hoare triple {293#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(17, 2); {293#true} is VALID [2022-02-20 16:50:51,956 INFO L290 TraceCheckUtils]: 1: Hoare triple {293#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~nondet2#1, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~mem4#1.base, main_#t~mem4#1.offset, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~mem8#1.base, main_#t~mem8#1.offset, main_#t~mem9#1.base, main_#t~mem9#1.offset, main_#t~nondet10#1, main_#t~malloc11#1.base, main_#t~malloc11#1.offset, main_#t~mem12#1.base, main_#t~mem12#1.offset, main_#t~nondet13#1, main_#t~nondet6#1, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~short16#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~short19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~short21#1, main_#t~mem22#1.base, main_#t~mem22#1.offset, main_#t~mem23#1.base, main_#t~mem23#1.offset, main_#t~mem24#1, main_#t~mem25#1.base, main_#t~mem25#1.offset, main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset;call main_#t~malloc1#1.base, main_#t~malloc1#1.offset := #Ultimate.allocOnHeap(16);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~$Pointer$(0, 0, main_~head~0#1.base, 4 + main_~head~0#1.offset, 4);assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647; {293#true} is VALID [2022-02-20 16:50:51,956 INFO L290 TraceCheckUtils]: 2: Hoare triple {293#true} assume 0 != main_#t~nondet2#1;havoc main_#t~nondet2#1;call write~int(2, main_~head~0#1.base, 12 + main_~head~0#1.offset, 4);call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(16);call write~$Pointer$(main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_~head~0#1.base, 8 + main_~head~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_~head~0#1.base, 8 + main_~head~0#1.offset, 4);call write~$Pointer$(0, 0, main_#t~mem4#1.base, main_#t~mem4#1.offset, 4);havoc main_#t~mem4#1.base, main_#t~mem4#1.offset; {293#true} is VALID [2022-02-20 16:50:51,956 INFO L290 TraceCheckUtils]: 3: Hoare triple {293#true} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {293#true} is VALID [2022-02-20 16:50:51,956 INFO L290 TraceCheckUtils]: 4: Hoare triple {293#true} assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647; {293#true} is VALID [2022-02-20 16:50:51,956 INFO L290 TraceCheckUtils]: 5: Hoare triple {293#true} assume !(0 != main_#t~nondet6#1);havoc main_#t~nondet6#1; {293#true} is VALID [2022-02-20 16:50:51,957 INFO L290 TraceCheckUtils]: 6: Hoare triple {293#true} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {293#true} is VALID [2022-02-20 16:50:51,957 INFO L290 TraceCheckUtils]: 7: Hoare triple {293#true} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0); {293#true} is VALID [2022-02-20 16:50:51,957 INFO L290 TraceCheckUtils]: 8: Hoare triple {293#true} call main_#t~mem14#1 := read~int(main_~x~0#1.base, 12 + main_~x~0#1.offset, 4);main_#t~short16#1 := 2 == main_#t~mem14#1; {293#true} is VALID [2022-02-20 16:50:51,958 INFO L290 TraceCheckUtils]: 9: Hoare triple {293#true} assume main_#t~short16#1;call main_#t~mem15#1.base, main_#t~mem15#1.offset := read~$Pointer$(main_~x~0#1.base, 8 + main_~x~0#1.offset, 4);main_#t~short16#1 := main_#t~mem15#1.base != main_~x~0#1.base || main_#t~mem15#1.offset != main_~x~0#1.offset; {295#(or |ULTIMATE.start_main_#t~short16#1| (and (= |ULTIMATE.start_main_~x~0#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|)) |ULTIMATE.start_main_~x~0#1.base|)))} is VALID [2022-02-20 16:50:51,959 INFO L290 TraceCheckUtils]: 10: Hoare triple {295#(or |ULTIMATE.start_main_#t~short16#1| (and (= |ULTIMATE.start_main_~x~0#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|)) |ULTIMATE.start_main_~x~0#1.base|)))} main_#t~short19#1 := main_#t~short16#1; {296#(or |ULTIMATE.start_main_#t~short19#1| (and (= |ULTIMATE.start_main_~x~0#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|)) |ULTIMATE.start_main_~x~0#1.base|)))} is VALID [2022-02-20 16:50:51,959 INFO L290 TraceCheckUtils]: 11: Hoare triple {296#(or |ULTIMATE.start_main_#t~short19#1| (and (= |ULTIMATE.start_main_~x~0#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|)) |ULTIMATE.start_main_~x~0#1.base|)))} assume !main_#t~short19#1; {297#(and (= |ULTIMATE.start_main_~x~0#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|)) |ULTIMATE.start_main_~x~0#1.base|))} is VALID [2022-02-20 16:50:51,960 INFO L290 TraceCheckUtils]: 12: Hoare triple {297#(and (= |ULTIMATE.start_main_~x~0#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|)) |ULTIMATE.start_main_~x~0#1.base|))} main_#t~short21#1 := main_#t~short19#1; {297#(and (= |ULTIMATE.start_main_~x~0#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|)) |ULTIMATE.start_main_~x~0#1.base|))} is VALID [2022-02-20 16:50:51,961 INFO L290 TraceCheckUtils]: 13: Hoare triple {297#(and (= |ULTIMATE.start_main_~x~0#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|)) |ULTIMATE.start_main_~x~0#1.base|))} assume !main_#t~short21#1;call main_#t~mem20#1.base, main_#t~mem20#1.offset := read~$Pointer$(main_~x~0#1.base, 8 + main_~x~0#1.offset, 4);main_#t~short21#1 := main_#t~mem20#1.base == main_~x~0#1.base && main_#t~mem20#1.offset == main_~x~0#1.offset; {298#|ULTIMATE.start_main_#t~short21#1|} is VALID [2022-02-20 16:50:51,961 INFO L290 TraceCheckUtils]: 14: Hoare triple {298#|ULTIMATE.start_main_#t~short21#1|} assume !main_#t~short21#1;havoc main_#t~mem14#1;havoc main_#t~mem15#1.base, main_#t~mem15#1.offset;havoc main_#t~short16#1;havoc main_#t~mem17#1.base, main_#t~mem17#1.offset;havoc main_#t~mem18#1.base, main_#t~mem18#1.offset;havoc main_#t~short19#1;havoc main_#t~mem20#1.base, main_#t~mem20#1.offset;havoc main_#t~short21#1; {294#false} is VALID [2022-02-20 16:50:51,961 INFO L290 TraceCheckUtils]: 15: Hoare triple {294#false} assume !false; {294#false} is VALID [2022-02-20 16:50:51,962 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:50:51,962 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:50:51,962 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1421080675] [2022-02-20 16:50:51,962 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1421080675] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:50:51,962 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:50:51,963 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-02-20 16:50:51,963 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1181282855] [2022-02-20 16:50:51,963 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:50:51,963 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 6 states have internal predecessors, (16), 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 16 [2022-02-20 16:50:51,964 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:50:51,964 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 6 states have internal predecessors, (16), 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:50:51,977 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 16 edges. 16 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:50:51,977 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 16:50:51,977 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:50:51,977 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 16:50:51,978 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-02-20 16:50:51,978 INFO L87 Difference]: Start difference. First operand 24 states and 32 transitions. Second operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 6 states have internal predecessors, (16), 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:50:52,283 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:50:52,283 INFO L93 Difference]: Finished difference Result 41 states and 55 transitions. [2022-02-20 16:50:52,284 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-02-20 16:50:52,284 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 6 states have internal predecessors, (16), 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 16 [2022-02-20 16:50:52,284 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:50:52,284 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 6 states have internal predecessors, (16), 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:50:52,285 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 53 transitions. [2022-02-20 16:50:52,285 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 6 states have internal predecessors, (16), 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:50:52,286 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 53 transitions. [2022-02-20 16:50:52,286 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 53 transitions. [2022-02-20 16:50:52,329 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:50:52,330 INFO L225 Difference]: With dead ends: 41 [2022-02-20 16:50:52,330 INFO L226 Difference]: Without dead ends: 39 [2022-02-20 16:50:52,330 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 9 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=28, Invalid=44, Unknown=0, NotChecked=0, Total=72 [2022-02-20 16:50:52,331 INFO L933 BasicCegarLoop]: 27 mSDtfsCounter, 12 mSDsluCounter, 54 mSDsCounter, 0 mSdLazyCounter, 75 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 81 SdHoareTripleChecker+Invalid, 81 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 75 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 16:50:52,331 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [12 Valid, 81 Invalid, 81 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 75 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 16:50:52,332 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 39 states. [2022-02-20 16:50:52,333 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 39 to 29. [2022-02-20 16:50:52,334 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:50:52,334 INFO L82 GeneralOperation]: Start isEquivalent. First operand 39 states. Second operand has 29 states, 28 states have (on average 1.3571428571428572) internal successors, (38), 28 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:50:52,334 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand has 29 states, 28 states have (on average 1.3571428571428572) internal successors, (38), 28 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:50:52,334 INFO L87 Difference]: Start difference. First operand 39 states. Second operand has 29 states, 28 states have (on average 1.3571428571428572) internal successors, (38), 28 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:50:52,335 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:50:52,336 INFO L93 Difference]: Finished difference Result 39 states and 51 transitions. [2022-02-20 16:50:52,336 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 51 transitions. [2022-02-20 16:50:52,336 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:50:52,336 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:50:52,336 INFO L74 IsIncluded]: Start isIncluded. First operand has 29 states, 28 states have (on average 1.3571428571428572) internal successors, (38), 28 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 39 states. [2022-02-20 16:50:52,337 INFO L87 Difference]: Start difference. First operand has 29 states, 28 states have (on average 1.3571428571428572) internal successors, (38), 28 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 39 states. [2022-02-20 16:50:52,338 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:50:52,338 INFO L93 Difference]: Finished difference Result 39 states and 51 transitions. [2022-02-20 16:50:52,339 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 51 transitions. [2022-02-20 16:50:52,339 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:50:52,339 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:50:52,343 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:50:52,343 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:50:52,343 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 28 states have (on average 1.3571428571428572) internal successors, (38), 28 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:50:52,345 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 38 transitions. [2022-02-20 16:50:52,345 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 38 transitions. Word has length 16 [2022-02-20 16:50:52,345 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:50:52,345 INFO L470 AbstractCegarLoop]: Abstraction has 29 states and 38 transitions. [2022-02-20 16:50:52,345 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 6 states have internal predecessors, (16), 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:50:52,345 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 38 transitions. [2022-02-20 16:50:52,346 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2022-02-20 16:50:52,346 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:50:52,346 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:50:52,346 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-02-20 16:50:52,346 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:50:52,346 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:50:52,346 INFO L85 PathProgramCache]: Analyzing trace with hash -1171900732, now seen corresponding path program 1 times [2022-02-20 16:50:52,346 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:50:52,347 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [300826296] [2022-02-20 16:50:52,347 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:50:52,347 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:50:52,402 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:50:52,513 INFO L290 TraceCheckUtils]: 0: Hoare triple {462#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(17, 2); {462#true} is VALID [2022-02-20 16:50:52,514 INFO L290 TraceCheckUtils]: 1: Hoare triple {462#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~nondet2#1, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~mem4#1.base, main_#t~mem4#1.offset, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~mem8#1.base, main_#t~mem8#1.offset, main_#t~mem9#1.base, main_#t~mem9#1.offset, main_#t~nondet10#1, main_#t~malloc11#1.base, main_#t~malloc11#1.offset, main_#t~mem12#1.base, main_#t~mem12#1.offset, main_#t~nondet13#1, main_#t~nondet6#1, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~short16#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~short19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~short21#1, main_#t~mem22#1.base, main_#t~mem22#1.offset, main_#t~mem23#1.base, main_#t~mem23#1.offset, main_#t~mem24#1, main_#t~mem25#1.base, main_#t~mem25#1.offset, main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset;call main_#t~malloc1#1.base, main_#t~malloc1#1.offset := #Ultimate.allocOnHeap(16);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~$Pointer$(0, 0, main_~head~0#1.base, 4 + main_~head~0#1.offset, 4);assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647; {464#(= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1)} is VALID [2022-02-20 16:50:52,519 INFO L290 TraceCheckUtils]: 2: Hoare triple {464#(= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1)} assume 0 != main_#t~nondet2#1;havoc main_#t~nondet2#1;call write~int(2, main_~head~0#1.base, 12 + main_~head~0#1.offset, 4);call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(16);call write~$Pointer$(main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_~head~0#1.base, 8 + main_~head~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_~head~0#1.base, 8 + main_~head~0#1.offset, 4);call write~$Pointer$(0, 0, main_#t~mem4#1.base, main_#t~mem4#1.offset, 4);havoc main_#t~mem4#1.base, main_#t~mem4#1.offset; {465#(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| 8))) 0) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) 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| 8))) 0) 0))} is VALID [2022-02-20 16:50:52,520 INFO L290 TraceCheckUtils]: 3: Hoare triple {465#(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| 8))) 0) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) 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| 8))) 0) 0))} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {465#(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| 8))) 0) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) 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| 8))) 0) 0))} is VALID [2022-02-20 16:50:52,523 INFO L290 TraceCheckUtils]: 4: Hoare triple {465#(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| 8))) 0) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) 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| 8))) 0) 0))} assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647; {465#(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| 8))) 0) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) 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| 8))) 0) 0))} is VALID [2022-02-20 16:50:52,524 INFO L290 TraceCheckUtils]: 5: Hoare triple {465#(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| 8))) 0) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) 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| 8))) 0) 0))} assume !(0 != main_#t~nondet6#1);havoc main_#t~nondet6#1; {465#(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| 8))) 0) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) 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| 8))) 0) 0))} is VALID [2022-02-20 16:50:52,531 INFO L290 TraceCheckUtils]: 6: Hoare triple {465#(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| 8))) 0) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) 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| 8))) 0) 0))} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {466#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|)) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) 0) 0) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) 0)))} is VALID [2022-02-20 16:50:52,532 INFO L290 TraceCheckUtils]: 7: Hoare triple {466#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|)) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) 0) 0) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) 0)))} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0); {466#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|)) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) 0) 0) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) 0)))} is VALID [2022-02-20 16:50:52,533 INFO L290 TraceCheckUtils]: 8: Hoare triple {466#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|)) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) 0) 0) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) 0)))} call main_#t~mem14#1 := read~int(main_~x~0#1.base, 12 + main_~x~0#1.offset, 4);main_#t~short16#1 := 2 == main_#t~mem14#1; {466#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|)) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) 0) 0) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) 0)))} is VALID [2022-02-20 16:50:52,535 INFO L290 TraceCheckUtils]: 9: Hoare triple {466#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|)) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) 0) 0) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) 0)))} assume main_#t~short16#1;call main_#t~mem15#1.base, main_#t~mem15#1.offset := read~$Pointer$(main_~x~0#1.base, 8 + main_~x~0#1.offset, 4);main_#t~short16#1 := main_#t~mem15#1.base != main_~x~0#1.base || main_#t~mem15#1.offset != main_~x~0#1.offset; {466#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|)) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) 0) 0) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) 0)))} is VALID [2022-02-20 16:50:52,536 INFO L290 TraceCheckUtils]: 10: Hoare triple {466#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|)) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) 0) 0) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) 0)))} main_#t~short19#1 := main_#t~short16#1; {466#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|)) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) 0) 0) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) 0)))} is VALID [2022-02-20 16:50:52,537 INFO L290 TraceCheckUtils]: 11: Hoare triple {466#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|)) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) 0) 0) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) 0)))} assume main_#t~short19#1;call main_#t~mem17#1.base, main_#t~mem17#1.offset := read~$Pointer$(main_~x~0#1.base, 8 + main_~x~0#1.offset, 4);call main_#t~mem18#1.base, main_#t~mem18#1.offset := read~$Pointer$(main_#t~mem17#1.base, main_#t~mem17#1.offset, 4);main_#t~short19#1 := main_#t~mem18#1.base == 0 && main_#t~mem18#1.offset == 0; {467#|ULTIMATE.start_main_#t~short19#1|} is VALID [2022-02-20 16:50:52,537 INFO L290 TraceCheckUtils]: 12: Hoare triple {467#|ULTIMATE.start_main_#t~short19#1|} main_#t~short21#1 := main_#t~short19#1; {468#|ULTIMATE.start_main_#t~short21#1|} is VALID [2022-02-20 16:50:52,538 INFO L290 TraceCheckUtils]: 13: Hoare triple {468#|ULTIMATE.start_main_#t~short21#1|} assume !main_#t~short21#1;call main_#t~mem20#1.base, main_#t~mem20#1.offset := read~$Pointer$(main_~x~0#1.base, 8 + main_~x~0#1.offset, 4);main_#t~short21#1 := main_#t~mem20#1.base == main_~x~0#1.base && main_#t~mem20#1.offset == main_~x~0#1.offset; {463#false} is VALID [2022-02-20 16:50:52,538 INFO L290 TraceCheckUtils]: 14: Hoare triple {463#false} assume !main_#t~short21#1;havoc main_#t~mem14#1;havoc main_#t~mem15#1.base, main_#t~mem15#1.offset;havoc main_#t~short16#1;havoc main_#t~mem17#1.base, main_#t~mem17#1.offset;havoc main_#t~mem18#1.base, main_#t~mem18#1.offset;havoc main_#t~short19#1;havoc main_#t~mem20#1.base, main_#t~mem20#1.offset;havoc main_#t~short21#1; {463#false} is VALID [2022-02-20 16:50:52,538 INFO L290 TraceCheckUtils]: 15: Hoare triple {463#false} assume !false; {463#false} is VALID [2022-02-20 16:50:52,538 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:50:52,538 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:50:52,539 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [300826296] [2022-02-20 16:50:52,539 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [300826296] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:50:52,539 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:50:52,539 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-02-20 16:50:52,539 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [443102178] [2022-02-20 16:50:52,539 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:50:52,540 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 7 states have internal predecessors, (16), 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 16 [2022-02-20 16:50:52,540 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:50:52,540 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 7 states have internal predecessors, (16), 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:50:52,553 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 16 edges. 16 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:50:52,553 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-02-20 16:50:52,553 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:50:52,554 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-02-20 16:50:52,554 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2022-02-20 16:50:52,554 INFO L87 Difference]: Start difference. First operand 29 states and 38 transitions. Second operand has 7 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 7 states have internal predecessors, (16), 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:50:52,962 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:50:52,962 INFO L93 Difference]: Finished difference Result 93 states and 115 transitions. [2022-02-20 16:50:52,962 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 16:50:52,963 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 7 states have internal predecessors, (16), 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 16 [2022-02-20 16:50:52,963 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:50:52,963 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 7 states have internal predecessors, (16), 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:50:52,964 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 85 transitions. [2022-02-20 16:50:52,964 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 7 states have internal predecessors, (16), 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:50:52,965 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 85 transitions. [2022-02-20 16:50:52,965 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 85 transitions. [2022-02-20 16:50:53,038 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:50:53,040 INFO L225 Difference]: With dead ends: 93 [2022-02-20 16:50:53,040 INFO L226 Difference]: Without dead ends: 74 [2022-02-20 16:50:53,040 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=52, Invalid=104, Unknown=0, NotChecked=0, Total=156 [2022-02-20 16:50:53,041 INFO L933 BasicCegarLoop]: 16 mSDtfsCounter, 86 mSDsluCounter, 63 mSDsCounter, 0 mSdLazyCounter, 93 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 86 SdHoareTripleChecker+Valid, 79 SdHoareTripleChecker+Invalid, 103 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 93 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 16:50:53,041 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [86 Valid, 79 Invalid, 103 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 93 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 16:50:53,041 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2022-02-20 16:50:53,047 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 42. [2022-02-20 16:50:53,047 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:50:53,047 INFO L82 GeneralOperation]: Start isEquivalent. First operand 74 states. Second operand has 42 states, 41 states have (on average 1.3414634146341464) internal successors, (55), 41 states have internal predecessors, (55), 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:50:53,048 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand has 42 states, 41 states have (on average 1.3414634146341464) internal successors, (55), 41 states have internal predecessors, (55), 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:50:53,048 INFO L87 Difference]: Start difference. First operand 74 states. Second operand has 42 states, 41 states have (on average 1.3414634146341464) internal successors, (55), 41 states have internal predecessors, (55), 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:50:53,049 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:50:53,050 INFO L93 Difference]: Finished difference Result 74 states and 91 transitions. [2022-02-20 16:50:53,050 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 91 transitions. [2022-02-20 16:50:53,051 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:50:53,051 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:50:53,051 INFO L74 IsIncluded]: Start isIncluded. First operand has 42 states, 41 states have (on average 1.3414634146341464) internal successors, (55), 41 states have internal predecessors, (55), 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 74 states. [2022-02-20 16:50:53,052 INFO L87 Difference]: Start difference. First operand has 42 states, 41 states have (on average 1.3414634146341464) internal successors, (55), 41 states have internal predecessors, (55), 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 74 states. [2022-02-20 16:50:53,055 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:50:53,055 INFO L93 Difference]: Finished difference Result 74 states and 91 transitions. [2022-02-20 16:50:53,055 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 91 transitions. [2022-02-20 16:50:53,058 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:50:53,061 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:50:53,061 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:50:53,061 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:50:53,061 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 42 states, 41 states have (on average 1.3414634146341464) internal successors, (55), 41 states have internal predecessors, (55), 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:50:53,062 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 55 transitions. [2022-02-20 16:50:53,062 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 55 transitions. Word has length 16 [2022-02-20 16:50:53,063 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:50:53,063 INFO L470 AbstractCegarLoop]: Abstraction has 42 states and 55 transitions. [2022-02-20 16:50:53,063 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 7 states have internal predecessors, (16), 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:50:53,063 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 55 transitions. [2022-02-20 16:50:53,063 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2022-02-20 16:50:53,064 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:50:53,064 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:50:53,064 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2022-02-20 16:50:53,064 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:50:53,064 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:50:53,065 INFO L85 PathProgramCache]: Analyzing trace with hash 604953672, now seen corresponding path program 1 times [2022-02-20 16:50:53,065 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:50:53,065 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [721770569] [2022-02-20 16:50:53,065 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:50:53,065 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:50:53,083 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:50:53,121 INFO L290 TraceCheckUtils]: 0: Hoare triple {782#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(17, 2); {782#true} is VALID [2022-02-20 16:50:53,122 INFO L290 TraceCheckUtils]: 1: Hoare triple {782#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~nondet2#1, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~mem4#1.base, main_#t~mem4#1.offset, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~mem8#1.base, main_#t~mem8#1.offset, main_#t~mem9#1.base, main_#t~mem9#1.offset, main_#t~nondet10#1, main_#t~malloc11#1.base, main_#t~malloc11#1.offset, main_#t~mem12#1.base, main_#t~mem12#1.offset, main_#t~nondet13#1, main_#t~nondet6#1, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~short16#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~short19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~short21#1, main_#t~mem22#1.base, main_#t~mem22#1.offset, main_#t~mem23#1.base, main_#t~mem23#1.offset, main_#t~mem24#1, main_#t~mem25#1.base, main_#t~mem25#1.offset, main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset;call main_#t~malloc1#1.base, main_#t~malloc1#1.offset := #Ultimate.allocOnHeap(16);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~$Pointer$(0, 0, main_~head~0#1.base, 4 + main_~head~0#1.offset, 4);assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647; {784#(= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1)} is VALID [2022-02-20 16:50:53,123 INFO L290 TraceCheckUtils]: 2: Hoare triple {784#(= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1)} assume 0 != main_#t~nondet2#1;havoc main_#t~nondet2#1;call write~int(2, main_~head~0#1.base, 12 + main_~head~0#1.offset, 4);call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(16);call write~$Pointer$(main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_~head~0#1.base, 8 + main_~head~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_~head~0#1.base, 8 + main_~head~0#1.offset, 4);call write~$Pointer$(0, 0, main_#t~mem4#1.base, main_#t~mem4#1.offset, 4);havoc main_#t~mem4#1.base, main_#t~mem4#1.offset; {785#(= (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 12)) 2)} is VALID [2022-02-20 16:50:53,123 INFO L290 TraceCheckUtils]: 3: Hoare triple {785#(= (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 12)) 2)} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {785#(= (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 12)) 2)} is VALID [2022-02-20 16:50:53,124 INFO L290 TraceCheckUtils]: 4: Hoare triple {785#(= (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 12)) 2)} assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647; {785#(= (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 12)) 2)} is VALID [2022-02-20 16:50:53,124 INFO L290 TraceCheckUtils]: 5: Hoare triple {785#(= (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 12)) 2)} assume !(0 != main_#t~nondet6#1);havoc main_#t~nondet6#1; {785#(= (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 12)) 2)} is VALID [2022-02-20 16:50:53,125 INFO L290 TraceCheckUtils]: 6: Hoare triple {785#(= (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 12)) 2)} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {786#(= 2 (select (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) (+ 12 |ULTIMATE.start_main_~x~0#1.offset|)))} is VALID [2022-02-20 16:50:53,125 INFO L290 TraceCheckUtils]: 7: Hoare triple {786#(= 2 (select (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) (+ 12 |ULTIMATE.start_main_~x~0#1.offset|)))} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0); {786#(= 2 (select (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) (+ 12 |ULTIMATE.start_main_~x~0#1.offset|)))} is VALID [2022-02-20 16:50:53,126 INFO L290 TraceCheckUtils]: 8: Hoare triple {786#(= 2 (select (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) (+ 12 |ULTIMATE.start_main_~x~0#1.offset|)))} call main_#t~mem14#1 := read~int(main_~x~0#1.base, 12 + main_~x~0#1.offset, 4);main_#t~short16#1 := 2 == main_#t~mem14#1; {787#|ULTIMATE.start_main_#t~short16#1|} is VALID [2022-02-20 16:50:53,126 INFO L290 TraceCheckUtils]: 9: Hoare triple {787#|ULTIMATE.start_main_#t~short16#1|} assume !main_#t~short16#1; {783#false} is VALID [2022-02-20 16:50:53,126 INFO L290 TraceCheckUtils]: 10: Hoare triple {783#false} main_#t~short19#1 := main_#t~short16#1; {783#false} is VALID [2022-02-20 16:50:53,126 INFO L290 TraceCheckUtils]: 11: Hoare triple {783#false} assume !main_#t~short19#1; {783#false} is VALID [2022-02-20 16:50:53,127 INFO L290 TraceCheckUtils]: 12: Hoare triple {783#false} main_#t~short21#1 := main_#t~short19#1; {783#false} is VALID [2022-02-20 16:50:53,127 INFO L290 TraceCheckUtils]: 13: Hoare triple {783#false} assume !main_#t~short21#1;call main_#t~mem20#1.base, main_#t~mem20#1.offset := read~$Pointer$(main_~x~0#1.base, 8 + main_~x~0#1.offset, 4);main_#t~short21#1 := main_#t~mem20#1.base == main_~x~0#1.base && main_#t~mem20#1.offset == main_~x~0#1.offset; {783#false} is VALID [2022-02-20 16:50:53,127 INFO L290 TraceCheckUtils]: 14: Hoare triple {783#false} assume !main_#t~short21#1;havoc main_#t~mem14#1;havoc main_#t~mem15#1.base, main_#t~mem15#1.offset;havoc main_#t~short16#1;havoc main_#t~mem17#1.base, main_#t~mem17#1.offset;havoc main_#t~mem18#1.base, main_#t~mem18#1.offset;havoc main_#t~short19#1;havoc main_#t~mem20#1.base, main_#t~mem20#1.offset;havoc main_#t~short21#1; {783#false} is VALID [2022-02-20 16:50:53,127 INFO L290 TraceCheckUtils]: 15: Hoare triple {783#false} assume !false; {783#false} is VALID [2022-02-20 16:50:53,127 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:50:53,128 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:50:53,128 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [721770569] [2022-02-20 16:50:53,128 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [721770569] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:50:53,128 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:50:53,128 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-02-20 16:50:53,128 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1497803812] [2022-02-20 16:50:53,129 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:50:53,129 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 6 states have internal predecessors, (16), 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 16 [2022-02-20 16:50:53,130 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:50:53,130 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 6 states have internal predecessors, (16), 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:50:53,140 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 16 edges. 16 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:50:53,140 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 16:50:53,140 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:50:53,140 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 16:50:53,141 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-02-20 16:50:53,141 INFO L87 Difference]: Start difference. First operand 42 states and 55 transitions. Second operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 6 states have internal predecessors, (16), 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:50:53,373 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:50:53,373 INFO L93 Difference]: Finished difference Result 87 states and 108 transitions. [2022-02-20 16:50:53,373 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 16:50:53,373 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 6 states have internal predecessors, (16), 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 16 [2022-02-20 16:50:53,373 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:50:53,374 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 6 states have internal predecessors, (16), 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:50:53,374 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 78 transitions. [2022-02-20 16:50:53,375 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 6 states have internal predecessors, (16), 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:50:53,376 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 78 transitions. [2022-02-20 16:50:53,376 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 78 transitions. [2022-02-20 16:50:53,429 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:50:53,431 INFO L225 Difference]: With dead ends: 87 [2022-02-20 16:50:53,431 INFO L226 Difference]: Without dead ends: 64 [2022-02-20 16:50:53,431 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 9 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=27, Invalid=45, Unknown=0, NotChecked=0, Total=72 [2022-02-20 16:50:53,432 INFO L933 BasicCegarLoop]: 20 mSDtfsCounter, 74 mSDsluCounter, 53 mSDsCounter, 0 mSdLazyCounter, 68 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 74 SdHoareTripleChecker+Valid, 73 SdHoareTripleChecker+Invalid, 80 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 68 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 16:50:53,432 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [74 Valid, 73 Invalid, 80 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 68 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 16:50:53,433 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 64 states. [2022-02-20 16:50:53,436 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 64 to 40. [2022-02-20 16:50:53,436 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:50:53,436 INFO L82 GeneralOperation]: Start isEquivalent. First operand 64 states. Second operand has 40 states, 39 states have (on average 1.3076923076923077) internal successors, (51), 39 states have internal predecessors, (51), 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:50:53,436 INFO L74 IsIncluded]: Start isIncluded. First operand 64 states. Second operand has 40 states, 39 states have (on average 1.3076923076923077) internal successors, (51), 39 states have internal predecessors, (51), 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:50:53,436 INFO L87 Difference]: Start difference. First operand 64 states. Second operand has 40 states, 39 states have (on average 1.3076923076923077) internal successors, (51), 39 states have internal predecessors, (51), 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:50:53,438 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:50:53,438 INFO L93 Difference]: Finished difference Result 64 states and 79 transitions. [2022-02-20 16:50:53,438 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 79 transitions. [2022-02-20 16:50:53,438 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:50:53,438 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:50:53,438 INFO L74 IsIncluded]: Start isIncluded. First operand has 40 states, 39 states have (on average 1.3076923076923077) internal successors, (51), 39 states have internal predecessors, (51), 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 64 states. [2022-02-20 16:50:53,439 INFO L87 Difference]: Start difference. First operand has 40 states, 39 states have (on average 1.3076923076923077) internal successors, (51), 39 states have internal predecessors, (51), 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 64 states. [2022-02-20 16:50:53,440 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:50:53,440 INFO L93 Difference]: Finished difference Result 64 states and 79 transitions. [2022-02-20 16:50:53,440 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 79 transitions. [2022-02-20 16:50:53,440 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:50:53,440 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:50:53,440 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:50:53,440 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:50:53,441 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 40 states, 39 states have (on average 1.3076923076923077) internal successors, (51), 39 states have internal predecessors, (51), 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:50:53,441 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 51 transitions. [2022-02-20 16:50:53,442 INFO L78 Accepts]: Start accepts. Automaton has 40 states and 51 transitions. Word has length 16 [2022-02-20 16:50:53,442 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:50:53,442 INFO L470 AbstractCegarLoop]: Abstraction has 40 states and 51 transitions. [2022-02-20 16:50:53,442 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 6 states have internal predecessors, (16), 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:50:53,442 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 51 transitions. [2022-02-20 16:50:53,442 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-02-20 16:50:53,442 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:50:53,443 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:50:53,443 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2022-02-20 16:50:53,443 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:50:53,443 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:50:53,443 INFO L85 PathProgramCache]: Analyzing trace with hash 466614784, now seen corresponding path program 1 times [2022-02-20 16:50:53,444 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:50:53,444 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [697356014] [2022-02-20 16:50:53,444 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:50:53,444 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:50:53,457 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:50:53,518 INFO L290 TraceCheckUtils]: 0: Hoare triple {1067#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(17, 2); {1067#true} is VALID [2022-02-20 16:50:53,519 INFO L290 TraceCheckUtils]: 1: Hoare triple {1067#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~nondet2#1, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~mem4#1.base, main_#t~mem4#1.offset, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~mem8#1.base, main_#t~mem8#1.offset, main_#t~mem9#1.base, main_#t~mem9#1.offset, main_#t~nondet10#1, main_#t~malloc11#1.base, main_#t~malloc11#1.offset, main_#t~mem12#1.base, main_#t~mem12#1.offset, main_#t~nondet13#1, main_#t~nondet6#1, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~short16#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~short19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~short21#1, main_#t~mem22#1.base, main_#t~mem22#1.offset, main_#t~mem23#1.base, main_#t~mem23#1.offset, main_#t~mem24#1, main_#t~mem25#1.base, main_#t~mem25#1.offset, main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset;call main_#t~malloc1#1.base, main_#t~malloc1#1.offset := #Ultimate.allocOnHeap(16);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~$Pointer$(0, 0, main_~head~0#1.base, 4 + main_~head~0#1.offset, 4);assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647; {1067#true} is VALID [2022-02-20 16:50:53,519 INFO L290 TraceCheckUtils]: 2: Hoare triple {1067#true} assume !(0 != main_#t~nondet2#1);havoc main_#t~nondet2#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {1067#true} is VALID [2022-02-20 16:50:53,520 INFO L290 TraceCheckUtils]: 3: Hoare triple {1067#true} assume 0 != main_#t~nondet5#1;havoc main_#t~nondet5#1;call write~int(1, main_~head~0#1.base, 12 + main_~head~0#1.offset, 4);call write~$Pointer$(main_~head~0#1.base, main_~head~0#1.offset, main_~head~0#1.base, 8 + main_~head~0#1.offset, 4); {1069#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) |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| 8))))} is VALID [2022-02-20 16:50:53,520 INFO L290 TraceCheckUtils]: 4: Hoare triple {1069#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) |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| 8))))} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1069#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) |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| 8))))} is VALID [2022-02-20 16:50:53,521 INFO L290 TraceCheckUtils]: 5: Hoare triple {1069#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) |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| 8))))} assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647; {1069#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) |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| 8))))} is VALID [2022-02-20 16:50:53,521 INFO L290 TraceCheckUtils]: 6: Hoare triple {1069#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) |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| 8))))} assume !(0 != main_#t~nondet6#1);havoc main_#t~nondet6#1; {1069#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) |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| 8))))} is VALID [2022-02-20 16:50:53,522 INFO L290 TraceCheckUtils]: 7: Hoare triple {1069#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) |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| 8))))} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1070#(and (= |ULTIMATE.start_main_~x~0#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|)) |ULTIMATE.start_main_~x~0#1.base|))} is VALID [2022-02-20 16:50:53,522 INFO L290 TraceCheckUtils]: 8: Hoare triple {1070#(and (= |ULTIMATE.start_main_~x~0#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|)) |ULTIMATE.start_main_~x~0#1.base|))} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0); {1070#(and (= |ULTIMATE.start_main_~x~0#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|)) |ULTIMATE.start_main_~x~0#1.base|))} is VALID [2022-02-20 16:50:53,523 INFO L290 TraceCheckUtils]: 9: Hoare triple {1070#(and (= |ULTIMATE.start_main_~x~0#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|)) |ULTIMATE.start_main_~x~0#1.base|))} call main_#t~mem14#1 := read~int(main_~x~0#1.base, 12 + main_~x~0#1.offset, 4);main_#t~short16#1 := 2 == main_#t~mem14#1; {1070#(and (= |ULTIMATE.start_main_~x~0#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|)) |ULTIMATE.start_main_~x~0#1.base|))} is VALID [2022-02-20 16:50:53,523 INFO L290 TraceCheckUtils]: 10: Hoare triple {1070#(and (= |ULTIMATE.start_main_~x~0#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|)) |ULTIMATE.start_main_~x~0#1.base|))} assume main_#t~short16#1;call main_#t~mem15#1.base, main_#t~mem15#1.offset := read~$Pointer$(main_~x~0#1.base, 8 + main_~x~0#1.offset, 4);main_#t~short16#1 := main_#t~mem15#1.base != main_~x~0#1.base || main_#t~mem15#1.offset != main_~x~0#1.offset; {1071#(not |ULTIMATE.start_main_#t~short16#1|)} is VALID [2022-02-20 16:50:53,524 INFO L290 TraceCheckUtils]: 11: Hoare triple {1071#(not |ULTIMATE.start_main_#t~short16#1|)} main_#t~short19#1 := main_#t~short16#1; {1072#(not |ULTIMATE.start_main_#t~short19#1|)} is VALID [2022-02-20 16:50:53,524 INFO L290 TraceCheckUtils]: 12: Hoare triple {1072#(not |ULTIMATE.start_main_#t~short19#1|)} assume main_#t~short19#1;call main_#t~mem17#1.base, main_#t~mem17#1.offset := read~$Pointer$(main_~x~0#1.base, 8 + main_~x~0#1.offset, 4);call main_#t~mem18#1.base, main_#t~mem18#1.offset := read~$Pointer$(main_#t~mem17#1.base, main_#t~mem17#1.offset, 4);main_#t~short19#1 := main_#t~mem18#1.base == 0 && main_#t~mem18#1.offset == 0; {1068#false} is VALID [2022-02-20 16:50:53,524 INFO L290 TraceCheckUtils]: 13: Hoare triple {1068#false} main_#t~short21#1 := main_#t~short19#1; {1068#false} is VALID [2022-02-20 16:50:53,524 INFO L290 TraceCheckUtils]: 14: Hoare triple {1068#false} assume !main_#t~short21#1;call main_#t~mem20#1.base, main_#t~mem20#1.offset := read~$Pointer$(main_~x~0#1.base, 8 + main_~x~0#1.offset, 4);main_#t~short21#1 := main_#t~mem20#1.base == main_~x~0#1.base && main_#t~mem20#1.offset == main_~x~0#1.offset; {1068#false} is VALID [2022-02-20 16:50:53,524 INFO L290 TraceCheckUtils]: 15: Hoare triple {1068#false} assume !main_#t~short21#1;havoc main_#t~mem14#1;havoc main_#t~mem15#1.base, main_#t~mem15#1.offset;havoc main_#t~short16#1;havoc main_#t~mem17#1.base, main_#t~mem17#1.offset;havoc main_#t~mem18#1.base, main_#t~mem18#1.offset;havoc main_#t~short19#1;havoc main_#t~mem20#1.base, main_#t~mem20#1.offset;havoc main_#t~short21#1; {1068#false} is VALID [2022-02-20 16:50:53,524 INFO L290 TraceCheckUtils]: 16: Hoare triple {1068#false} assume !false; {1068#false} is VALID [2022-02-20 16:50:53,524 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:50:53,525 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:50:53,525 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [697356014] [2022-02-20 16:50:53,525 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [697356014] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:50:53,525 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:50:53,525 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-02-20 16:50:53,525 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1606550807] [2022-02-20 16:50:53,525 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:50:53,525 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 6 states have internal predecessors, (17), 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 17 [2022-02-20 16:50:53,525 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:50:53,526 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 6 states have internal predecessors, (17), 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:50:53,536 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 17 edges. 17 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:50:53,537 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 16:50:53,537 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:50:53,537 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 16:50:53,537 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-02-20 16:50:53,537 INFO L87 Difference]: Start difference. First operand 40 states and 51 transitions. Second operand has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 6 states have internal predecessors, (17), 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:50:53,892 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:50:53,892 INFO L93 Difference]: Finished difference Result 105 states and 131 transitions. [2022-02-20 16:50:53,892 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-02-20 16:50:53,892 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 6 states have internal predecessors, (17), 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 17 [2022-02-20 16:50:53,892 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:50:53,892 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 6 states have internal predecessors, (17), 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:50:53,894 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 103 transitions. [2022-02-20 16:50:53,894 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 6 states have internal predecessors, (17), 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:50:53,895 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 103 transitions. [2022-02-20 16:50:53,895 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 103 transitions. [2022-02-20 16:50:53,969 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 103 edges. 103 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:50:53,971 INFO L225 Difference]: With dead ends: 105 [2022-02-20 16:50:53,971 INFO L226 Difference]: Without dead ends: 86 [2022-02-20 16:50:53,971 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 17 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=52, Invalid=104, Unknown=0, NotChecked=0, Total=156 [2022-02-20 16:50:53,972 INFO L933 BasicCegarLoop]: 34 mSDtfsCounter, 54 mSDsluCounter, 98 mSDsCounter, 0 mSdLazyCounter, 101 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 54 SdHoareTripleChecker+Valid, 132 SdHoareTripleChecker+Invalid, 110 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 101 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 16:50:53,972 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [54 Valid, 132 Invalid, 110 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 101 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 16:50:53,972 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 86 states. [2022-02-20 16:50:53,976 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 86 to 48. [2022-02-20 16:50:53,976 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:50:53,976 INFO L82 GeneralOperation]: Start isEquivalent. First operand 86 states. Second operand has 48 states, 47 states have (on average 1.2765957446808511) internal successors, (60), 47 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:50:53,977 INFO L74 IsIncluded]: Start isIncluded. First operand 86 states. Second operand has 48 states, 47 states have (on average 1.2765957446808511) internal successors, (60), 47 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:50:53,977 INFO L87 Difference]: Start difference. First operand 86 states. Second operand has 48 states, 47 states have (on average 1.2765957446808511) internal successors, (60), 47 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:50:53,978 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:50:53,978 INFO L93 Difference]: Finished difference Result 86 states and 104 transitions. [2022-02-20 16:50:53,978 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 104 transitions. [2022-02-20 16:50:53,978 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:50:53,979 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:50:53,979 INFO L74 IsIncluded]: Start isIncluded. First operand has 48 states, 47 states have (on average 1.2765957446808511) internal successors, (60), 47 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 86 states. [2022-02-20 16:50:53,979 INFO L87 Difference]: Start difference. First operand has 48 states, 47 states have (on average 1.2765957446808511) internal successors, (60), 47 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 86 states. [2022-02-20 16:50:53,980 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:50:53,980 INFO L93 Difference]: Finished difference Result 86 states and 104 transitions. [2022-02-20 16:50:53,980 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 104 transitions. [2022-02-20 16:50:53,981 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:50:53,981 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:50:53,981 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:50:53,981 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:50:53,981 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 48 states, 47 states have (on average 1.2765957446808511) internal successors, (60), 47 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:50:53,982 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 60 transitions. [2022-02-20 16:50:53,982 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 60 transitions. Word has length 17 [2022-02-20 16:50:53,982 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:50:53,982 INFO L470 AbstractCegarLoop]: Abstraction has 48 states and 60 transitions. [2022-02-20 16:50:53,982 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 6 states have internal predecessors, (17), 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:50:53,982 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 60 transitions. [2022-02-20 16:50:53,982 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-02-20 16:50:53,982 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:50:53,983 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:50:53,983 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2022-02-20 16:50:53,983 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:50:53,983 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:50:53,983 INFO L85 PathProgramCache]: Analyzing trace with hash -2051498108, now seen corresponding path program 1 times [2022-02-20 16:50:53,983 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:50:53,983 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1800545947] [2022-02-20 16:50:53,983 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:50:53,983 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:50:53,998 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:50:54,026 INFO L290 TraceCheckUtils]: 0: Hoare triple {1437#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(17, 2); {1437#true} is VALID [2022-02-20 16:50:54,026 INFO L290 TraceCheckUtils]: 1: Hoare triple {1437#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~nondet2#1, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~mem4#1.base, main_#t~mem4#1.offset, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~mem8#1.base, main_#t~mem8#1.offset, main_#t~mem9#1.base, main_#t~mem9#1.offset, main_#t~nondet10#1, main_#t~malloc11#1.base, main_#t~malloc11#1.offset, main_#t~mem12#1.base, main_#t~mem12#1.offset, main_#t~nondet13#1, main_#t~nondet6#1, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~short16#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~short19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~short21#1, main_#t~mem22#1.base, main_#t~mem22#1.offset, main_#t~mem23#1.base, main_#t~mem23#1.offset, main_#t~mem24#1, main_#t~mem25#1.base, main_#t~mem25#1.offset, main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset;call main_#t~malloc1#1.base, main_#t~malloc1#1.offset := #Ultimate.allocOnHeap(16);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~$Pointer$(0, 0, main_~head~0#1.base, 4 + main_~head~0#1.offset, 4);assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647; {1437#true} is VALID [2022-02-20 16:50:54,026 INFO L290 TraceCheckUtils]: 2: Hoare triple {1437#true} assume !(0 != main_#t~nondet2#1);havoc main_#t~nondet2#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647; {1437#true} is VALID [2022-02-20 16:50:54,027 INFO L290 TraceCheckUtils]: 3: Hoare triple {1437#true} assume 0 != main_#t~nondet5#1;havoc main_#t~nondet5#1;call write~int(1, main_~head~0#1.base, 12 + main_~head~0#1.offset, 4);call write~$Pointer$(main_~head~0#1.base, main_~head~0#1.offset, main_~head~0#1.base, 8 + main_~head~0#1.offset, 4); {1439#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) |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| 8))))} is VALID [2022-02-20 16:50:54,027 INFO L290 TraceCheckUtils]: 4: Hoare triple {1439#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) |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| 8))))} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1439#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) |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| 8))))} is VALID [2022-02-20 16:50:54,028 INFO L290 TraceCheckUtils]: 5: Hoare triple {1439#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) |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| 8))))} assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647; {1439#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) |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| 8))))} is VALID [2022-02-20 16:50:54,028 INFO L290 TraceCheckUtils]: 6: Hoare triple {1439#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) |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| 8))))} assume !(0 != main_#t~nondet6#1);havoc main_#t~nondet6#1; {1439#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) |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| 8))))} is VALID [2022-02-20 16:50:54,029 INFO L290 TraceCheckUtils]: 7: Hoare triple {1439#(and (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) |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| 8))))} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1440#(and (= |ULTIMATE.start_main_~x~0#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|)) |ULTIMATE.start_main_~x~0#1.base|))} is VALID [2022-02-20 16:50:54,029 INFO L290 TraceCheckUtils]: 8: Hoare triple {1440#(and (= |ULTIMATE.start_main_~x~0#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|)) |ULTIMATE.start_main_~x~0#1.base|))} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0); {1440#(and (= |ULTIMATE.start_main_~x~0#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|)) |ULTIMATE.start_main_~x~0#1.base|))} is VALID [2022-02-20 16:50:54,030 INFO L290 TraceCheckUtils]: 9: Hoare triple {1440#(and (= |ULTIMATE.start_main_~x~0#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|)) |ULTIMATE.start_main_~x~0#1.base|))} call main_#t~mem14#1 := read~int(main_~x~0#1.base, 12 + main_~x~0#1.offset, 4);main_#t~short16#1 := 2 == main_#t~mem14#1; {1440#(and (= |ULTIMATE.start_main_~x~0#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|)) |ULTIMATE.start_main_~x~0#1.base|))} is VALID [2022-02-20 16:50:54,030 INFO L290 TraceCheckUtils]: 10: Hoare triple {1440#(and (= |ULTIMATE.start_main_~x~0#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|)) |ULTIMATE.start_main_~x~0#1.base|))} assume !main_#t~short16#1; {1440#(and (= |ULTIMATE.start_main_~x~0#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|)) |ULTIMATE.start_main_~x~0#1.base|))} is VALID [2022-02-20 16:50:54,035 INFO L290 TraceCheckUtils]: 11: Hoare triple {1440#(and (= |ULTIMATE.start_main_~x~0#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|)) |ULTIMATE.start_main_~x~0#1.base|))} main_#t~short19#1 := main_#t~short16#1; {1440#(and (= |ULTIMATE.start_main_~x~0#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|)) |ULTIMATE.start_main_~x~0#1.base|))} is VALID [2022-02-20 16:50:54,036 INFO L290 TraceCheckUtils]: 12: Hoare triple {1440#(and (= |ULTIMATE.start_main_~x~0#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|)) |ULTIMATE.start_main_~x~0#1.base|))} assume !main_#t~short19#1; {1440#(and (= |ULTIMATE.start_main_~x~0#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|)) |ULTIMATE.start_main_~x~0#1.base|))} is VALID [2022-02-20 16:50:54,036 INFO L290 TraceCheckUtils]: 13: Hoare triple {1440#(and (= |ULTIMATE.start_main_~x~0#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|)) |ULTIMATE.start_main_~x~0#1.base|))} main_#t~short21#1 := main_#t~short19#1; {1440#(and (= |ULTIMATE.start_main_~x~0#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|)) |ULTIMATE.start_main_~x~0#1.base|))} is VALID [2022-02-20 16:50:54,037 INFO L290 TraceCheckUtils]: 14: Hoare triple {1440#(and (= |ULTIMATE.start_main_~x~0#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|)) |ULTIMATE.start_main_~x~0#1.base|))} assume !main_#t~short21#1;call main_#t~mem20#1.base, main_#t~mem20#1.offset := read~$Pointer$(main_~x~0#1.base, 8 + main_~x~0#1.offset, 4);main_#t~short21#1 := main_#t~mem20#1.base == main_~x~0#1.base && main_#t~mem20#1.offset == main_~x~0#1.offset; {1441#|ULTIMATE.start_main_#t~short21#1|} is VALID [2022-02-20 16:50:54,037 INFO L290 TraceCheckUtils]: 15: Hoare triple {1441#|ULTIMATE.start_main_#t~short21#1|} assume !main_#t~short21#1;havoc main_#t~mem14#1;havoc main_#t~mem15#1.base, main_#t~mem15#1.offset;havoc main_#t~short16#1;havoc main_#t~mem17#1.base, main_#t~mem17#1.offset;havoc main_#t~mem18#1.base, main_#t~mem18#1.offset;havoc main_#t~short19#1;havoc main_#t~mem20#1.base, main_#t~mem20#1.offset;havoc main_#t~short21#1; {1438#false} is VALID [2022-02-20 16:50:54,037 INFO L290 TraceCheckUtils]: 16: Hoare triple {1438#false} assume !false; {1438#false} is VALID [2022-02-20 16:50:54,038 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:50:54,038 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:50:54,038 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1800545947] [2022-02-20 16:50:54,038 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1800545947] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:50:54,038 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:50:54,038 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 16:50:54,038 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [44545325] [2022-02-20 16:50:54,038 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:50:54,039 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 5 states have internal predecessors, (17), 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 17 [2022-02-20 16:50:54,039 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:50:54,039 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.4) internal successors, (17), 5 states have internal predecessors, (17), 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:50:54,050 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 17 edges. 17 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:50:54,050 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 16:50:54,050 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:50:54,050 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 16:50:54,051 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 16:50:54,051 INFO L87 Difference]: Start difference. First operand 48 states and 60 transitions. Second operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 5 states have internal predecessors, (17), 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:50:54,293 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:50:54,293 INFO L93 Difference]: Finished difference Result 84 states and 100 transitions. [2022-02-20 16:50:54,293 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-02-20 16:50:54,293 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 5 states have internal predecessors, (17), 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 17 [2022-02-20 16:50:54,293 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:50:54,294 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 5 states have internal predecessors, (17), 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:50:54,294 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 69 transitions. [2022-02-20 16:50:54,294 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 5 states have internal predecessors, (17), 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:50:54,295 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 69 transitions. [2022-02-20 16:50:54,295 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 69 transitions. [2022-02-20 16:50:54,344 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:50:54,345 INFO L225 Difference]: With dead ends: 84 [2022-02-20 16:50:54,345 INFO L226 Difference]: Without dead ends: 82 [2022-02-20 16:50:54,345 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 8 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=22, Invalid=34, Unknown=0, NotChecked=0, Total=56 [2022-02-20 16:50:54,346 INFO L933 BasicCegarLoop]: 39 mSDtfsCounter, 31 mSDsluCounter, 71 mSDsCounter, 0 mSdLazyCounter, 68 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 31 SdHoareTripleChecker+Valid, 110 SdHoareTripleChecker+Invalid, 77 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 68 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 16:50:54,346 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [31 Valid, 110 Invalid, 77 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 68 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 16:50:54,347 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 82 states. [2022-02-20 16:50:54,350 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 82 to 48. [2022-02-20 16:50:54,350 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:50:54,351 INFO L82 GeneralOperation]: Start isEquivalent. First operand 82 states. Second operand has 48 states, 47 states have (on average 1.2765957446808511) internal successors, (60), 47 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:50:54,351 INFO L74 IsIncluded]: Start isIncluded. First operand 82 states. Second operand has 48 states, 47 states have (on average 1.2765957446808511) internal successors, (60), 47 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:50:54,351 INFO L87 Difference]: Start difference. First operand 82 states. Second operand has 48 states, 47 states have (on average 1.2765957446808511) internal successors, (60), 47 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:50:54,352 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:50:54,352 INFO L93 Difference]: Finished difference Result 82 states and 98 transitions. [2022-02-20 16:50:54,353 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 98 transitions. [2022-02-20 16:50:54,353 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:50:54,353 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:50:54,353 INFO L74 IsIncluded]: Start isIncluded. First operand has 48 states, 47 states have (on average 1.2765957446808511) internal successors, (60), 47 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 82 states. [2022-02-20 16:50:54,353 INFO L87 Difference]: Start difference. First operand has 48 states, 47 states have (on average 1.2765957446808511) internal successors, (60), 47 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 82 states. [2022-02-20 16:50:54,354 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:50:54,360 INFO L93 Difference]: Finished difference Result 82 states and 98 transitions. [2022-02-20 16:50:54,360 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 98 transitions. [2022-02-20 16:50:54,361 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:50:54,361 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:50:54,361 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:50:54,361 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:50:54,361 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 48 states, 47 states have (on average 1.2765957446808511) internal successors, (60), 47 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:50:54,362 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 60 transitions. [2022-02-20 16:50:54,362 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 60 transitions. Word has length 17 [2022-02-20 16:50:54,363 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:50:54,363 INFO L470 AbstractCegarLoop]: Abstraction has 48 states and 60 transitions. [2022-02-20 16:50:54,363 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 5 states have internal predecessors, (17), 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:50:54,363 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 60 transitions. [2022-02-20 16:50:54,363 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2022-02-20 16:50:54,363 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:50:54,364 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:50:54,364 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2022-02-20 16:50:54,364 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:50:54,364 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:50:54,365 INFO L85 PathProgramCache]: Analyzing trace with hash -1690516158, now seen corresponding path program 1 times [2022-02-20 16:50:54,365 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:50:54,365 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1604570826] [2022-02-20 16:50:54,365 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:50:54,365 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:50:54,435 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:50:54,665 INFO L290 TraceCheckUtils]: 0: Hoare triple {1767#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(17, 2); {1767#true} is VALID [2022-02-20 16:50:54,667 INFO L290 TraceCheckUtils]: 1: Hoare triple {1767#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~nondet2#1, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~mem4#1.base, main_#t~mem4#1.offset, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~mem8#1.base, main_#t~mem8#1.offset, main_#t~mem9#1.base, main_#t~mem9#1.offset, main_#t~nondet10#1, main_#t~malloc11#1.base, main_#t~malloc11#1.offset, main_#t~mem12#1.base, main_#t~mem12#1.offset, main_#t~nondet13#1, main_#t~nondet6#1, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~short16#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~short19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~short21#1, main_#t~mem22#1.base, main_#t~mem22#1.offset, main_#t~mem23#1.base, main_#t~mem23#1.offset, main_#t~mem24#1, main_#t~mem25#1.base, main_#t~mem25#1.offset, main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset;call main_#t~malloc1#1.base, main_#t~malloc1#1.offset := #Ultimate.allocOnHeap(16);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~$Pointer$(0, 0, main_~head~0#1.base, 4 + main_~head~0#1.offset, 4);assume -2147483648 <= main_#t~nondet2#1 && main_#t~nondet2#1 <= 2147483647; {1769#(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:50:54,669 INFO L290 TraceCheckUtils]: 2: Hoare triple {1769#(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;call write~int(2, main_~head~0#1.base, 12 + main_~head~0#1.offset, 4);call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(16);call write~$Pointer$(main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_~head~0#1.base, 8 + main_~head~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_~head~0#1.base, 8 + main_~head~0#1.offset, 4);call write~$Pointer$(0, 0, main_#t~mem4#1.base, main_#t~mem4#1.offset, 4);havoc main_#t~mem4#1.base, main_#t~mem4#1.offset; {1770#(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| 8))) 0) 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8))) 1) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) 0) (= |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| 8)) |ULTIMATE.start_main_~head~0#1.base|)) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8))) 0) 0))} is VALID [2022-02-20 16:50:54,670 INFO L290 TraceCheckUtils]: 3: Hoare triple {1770#(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| 8))) 0) 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8))) 1) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) 0) (= |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| 8)) |ULTIMATE.start_main_~head~0#1.base|)) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8))) 0) 0))} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1771#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8))) 1) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8))) 0) 0) (not (= |ULTIMATE.start_main_~x~0#1.offset| (+ |ULTIMATE.start_main_~head~0#1.offset| 8))) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8))) 0)) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) |ULTIMATE.start_main_~x~0#1.base|)) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} is VALID [2022-02-20 16:50:54,672 INFO L290 TraceCheckUtils]: 4: Hoare triple {1771#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8))) 1) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8))) 0) 0) (not (= |ULTIMATE.start_main_~x~0#1.offset| (+ |ULTIMATE.start_main_~head~0#1.offset| 8))) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8))) 0)) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) |ULTIMATE.start_main_~x~0#1.base|)) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647; {1771#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8))) 1) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8))) 0) 0) (not (= |ULTIMATE.start_main_~x~0#1.offset| (+ |ULTIMATE.start_main_~head~0#1.offset| 8))) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8))) 0)) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) |ULTIMATE.start_main_~x~0#1.base|)) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} is VALID [2022-02-20 16:50:54,674 INFO L290 TraceCheckUtils]: 5: Hoare triple {1771#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8))) 1) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8))) 0) 0) (not (= |ULTIMATE.start_main_~x~0#1.offset| (+ |ULTIMATE.start_main_~head~0#1.offset| 8))) (= |ULTIMATE.start_main_~x~0#1.base| |ULTIMATE.start_main_~head~0#1.base|) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8))) 0)) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) |ULTIMATE.start_main_~x~0#1.base|)) (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 1))} assume !!(0 != main_#t~nondet6#1);havoc main_#t~nondet6#1;call main_#t~malloc7#1.base, main_#t~malloc7#1.offset := #Ultimate.allocOnHeap(16);call write~$Pointer$(main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_~x~0#1.base, main_~x~0#1.offset, 4);havoc main_#t~malloc7#1.base, main_#t~malloc7#1.offset;call main_#t~mem8#1.base, main_#t~mem8#1.offset := read~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, 4);call write~$Pointer$(main_~x~0#1.base, main_~x~0#1.offset, main_#t~mem8#1.base, 4 + main_#t~mem8#1.offset, 4);havoc main_#t~mem8#1.base, main_#t~mem8#1.offset;call main_#t~mem9#1.base, main_#t~mem9#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~mem9#1.base, main_#t~mem9#1.offset;havoc main_#t~mem9#1.base, main_#t~mem9#1.offset;call write~$Pointer$(0, 0, main_~x~0#1.base, main_~x~0#1.offset, 4);assume -2147483648 <= main_#t~nondet10#1 && main_#t~nondet10#1 <= 2147483647; {1772#(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| 8))) 0) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) 0) (not (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)))) (not (= |ULTIMATE.start_main_~x~0#1.base| |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| 8))) 0) 0) (not (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 0)))} is VALID [2022-02-20 16:50:54,681 INFO L290 TraceCheckUtils]: 6: Hoare triple {1772#(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| 8))) 0) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) 0) (not (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)))) (not (= |ULTIMATE.start_main_~x~0#1.base| |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| 8))) 0) 0) (not (= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) 0)))} assume 0 != main_#t~nondet10#1;havoc main_#t~nondet10#1;call write~int(2, main_~x~0#1.base, 12 + main_~x~0#1.offset, 4);call main_#t~malloc11#1.base, main_#t~malloc11#1.offset := #Ultimate.allocOnHeap(16);call write~$Pointer$(main_#t~malloc11#1.base, main_#t~malloc11#1.offset, main_~x~0#1.base, 8 + main_~x~0#1.offset, 4);havoc main_#t~malloc11#1.base, main_#t~malloc11#1.offset;call main_#t~mem12#1.base, main_#t~mem12#1.offset := read~$Pointer$(main_~x~0#1.base, 8 + main_~x~0#1.offset, 4);call write~$Pointer$(0, 0, main_#t~mem12#1.base, main_#t~mem12#1.offset, 4);havoc main_#t~mem12#1.base, main_#t~mem12#1.offset; {1773#(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| 8))) 0) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) 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| 8))) 0) 0))} is VALID [2022-02-20 16:50:54,683 INFO L290 TraceCheckUtils]: 7: Hoare triple {1773#(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| 8))) 0) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) 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| 8))) 0) 0))} assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647; {1773#(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| 8))) 0) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) 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| 8))) 0) 0))} is VALID [2022-02-20 16:50:54,685 INFO L290 TraceCheckUtils]: 8: Hoare triple {1773#(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| 8))) 0) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) 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| 8))) 0) 0))} assume !(0 != main_#t~nondet6#1);havoc main_#t~nondet6#1; {1773#(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| 8))) 0) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) 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| 8))) 0) 0))} is VALID [2022-02-20 16:50:54,685 INFO L290 TraceCheckUtils]: 9: Hoare triple {1773#(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| 8))) 0) 0) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) (+ |ULTIMATE.start_main_~head~0#1.offset| 8)) 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| 8))) 0) 0))} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1774#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|)) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) 0) 0) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) 0)))} is VALID [2022-02-20 16:50:54,686 INFO L290 TraceCheckUtils]: 10: Hoare triple {1774#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|)) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) 0) 0) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) 0)))} assume !!(main_~x~0#1.base != 0 || main_~x~0#1.offset != 0); {1774#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|)) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) 0) 0) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) 0)))} is VALID [2022-02-20 16:50:54,687 INFO L290 TraceCheckUtils]: 11: Hoare triple {1774#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|)) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) 0) 0) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) 0)))} call main_#t~mem14#1 := read~int(main_~x~0#1.base, 12 + main_~x~0#1.offset, 4);main_#t~short16#1 := 2 == main_#t~mem14#1; {1774#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|)) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) 0) 0) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) 0)))} is VALID [2022-02-20 16:50:54,688 INFO L290 TraceCheckUtils]: 12: Hoare triple {1774#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|)) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) 0) 0) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) 0)))} assume main_#t~short16#1;call main_#t~mem15#1.base, main_#t~mem15#1.offset := read~$Pointer$(main_~x~0#1.base, 8 + main_~x~0#1.offset, 4);main_#t~short16#1 := main_#t~mem15#1.base != main_~x~0#1.base || main_#t~mem15#1.offset != main_~x~0#1.offset; {1774#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|)) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) 0) 0) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) 0)))} is VALID [2022-02-20 16:50:54,688 INFO L290 TraceCheckUtils]: 13: Hoare triple {1774#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|)) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) 0) 0) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) 0)))} main_#t~short19#1 := main_#t~short16#1; {1774#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|)) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) 0) 0) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) 0)))} is VALID [2022-02-20 16:50:54,689 INFO L290 TraceCheckUtils]: 14: Hoare triple {1774#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|)) 0) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) 0) 0) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (+ 8 |ULTIMATE.start_main_~x~0#1.offset|))) 0)))} assume main_#t~short19#1;call main_#t~mem17#1.base, main_#t~mem17#1.offset := read~$Pointer$(main_~x~0#1.base, 8 + main_~x~0#1.offset, 4);call main_#t~mem18#1.base, main_#t~mem18#1.offset := read~$Pointer$(main_#t~mem17#1.base, main_#t~mem17#1.offset, 4);main_#t~short19#1 := main_#t~mem18#1.base == 0 && main_#t~mem18#1.offset == 0; {1775#|ULTIMATE.start_main_#t~short19#1|} is VALID [2022-02-20 16:50:54,690 INFO L290 TraceCheckUtils]: 15: Hoare triple {1775#|ULTIMATE.start_main_#t~short19#1|} main_#t~short21#1 := main_#t~short19#1; {1776#|ULTIMATE.start_main_#t~short21#1|} is VALID [2022-02-20 16:50:54,690 INFO L290 TraceCheckUtils]: 16: Hoare triple {1776#|ULTIMATE.start_main_#t~short21#1|} assume !main_#t~short21#1;call main_#t~mem20#1.base, main_#t~mem20#1.offset := read~$Pointer$(main_~x~0#1.base, 8 + main_~x~0#1.offset, 4);main_#t~short21#1 := main_#t~mem20#1.base == main_~x~0#1.base && main_#t~mem20#1.offset == main_~x~0#1.offset; {1768#false} is VALID [2022-02-20 16:50:54,690 INFO L290 TraceCheckUtils]: 17: Hoare triple {1768#false} assume !main_#t~short21#1;havoc main_#t~mem14#1;havoc main_#t~mem15#1.base, main_#t~mem15#1.offset;havoc main_#t~short16#1;havoc main_#t~mem17#1.base, main_#t~mem17#1.offset;havoc main_#t~mem18#1.base, main_#t~mem18#1.offset;havoc main_#t~short19#1;havoc main_#t~mem20#1.base, main_#t~mem20#1.offset;havoc main_#t~short21#1; {1768#false} is VALID [2022-02-20 16:50:54,691 INFO L290 TraceCheckUtils]: 18: Hoare triple {1768#false} assume !false; {1768#false} is VALID [2022-02-20 16:50:54,691 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 16:50:54,691 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:50:54,692 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1604570826] [2022-02-20 16:50:54,692 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1604570826] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 16:50:54,692 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [429649705] [2022-02-20 16:50:54,692 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:50:54,692 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:50:54,692 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 16:50:54,696 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:50:54,718 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:50:54,811 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:50:54,815 INFO L263 TraceCheckSpWp]: Trace formula consists of 288 conjuncts, 97 conjunts are in the unsatisfiable core [2022-02-20 16:50:54,853 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:50:54,857 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:50:54,929 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:50:54,996 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:50:55,000 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:50:55,002 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 21 treesize of output 25 [2022-02-20 16:50:55,008 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:50:55,012 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:50:55,013 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 21 treesize of output 25 [2022-02-20 16:50:55,022 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 10 treesize of output 9 [2022-02-20 16:50:55,027 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:50:55,028 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 70 treesize of output 42 [2022-02-20 16:50:55,033 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:50:55,034 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 34 treesize of output 28 [2022-02-20 16:50:55,040 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 14 treesize of output 13 [2022-02-20 16:50:55,057 INFO L356 Elim1Store]: treesize reduction 30, result has 34.8 percent of original size [2022-02-20 16:50:55,057 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 29 treesize of output 33 [2022-02-20 16:50:55,062 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 10 treesize of output 9 [2022-02-20 16:50:55,363 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:50:55,364 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 40 treesize of output 45 [2022-02-20 16:50:55,408 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:50:55,410 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:50:55,417 INFO L356 Elim1Store]: treesize reduction 25, result has 21.9 percent of original size [2022-02-20 16:50:55,417 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 4 new quantified variables, introduced 2 case distinctions, treesize of input 83 treesize of output 65 [2022-02-20 16:50:55,476 INFO L356 Elim1Store]: treesize reduction 87, result has 11.2 percent of original size [2022-02-20 16:50:55,477 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 4 new quantified variables, introduced 4 case distinctions, treesize of input 123 treesize of output 111 [2022-02-20 16:50:55,507 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:50:55,508 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:50:55,509 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:50:55,509 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:50:55,511 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 16:50:55,512 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 43 [2022-02-20 16:50:55,560 INFO L356 Elim1Store]: treesize reduction 70, result has 35.8 percent of original size [2022-02-20 16:50:55,560 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 4 case distinctions, treesize of input 36 treesize of output 57 [2022-02-20 16:50:55,590 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 30 treesize of output 28 [2022-02-20 16:50:56,133 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:50:56,134 WARN L325 FreeRefinementEngine]: Global settings require throwing the following exception [2022-02-20 16:50:56,166 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-02-20 16:50:56,365 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:50:56,365 FATAL L? ?]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction has thrown an exception: java.lang.AssertionError: var is still there: |v_#memory_$Pointer$.base_54| at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.arrays.Elim1Store.elim1(Elim1Store.java:285) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.arrays.ElimStorePlain.applyComplexEliminationRules(ElimStorePlain.java:427) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.DualJunctionSaa.tryToEliminate(DualJunctionSaa.java:184) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.DualJunctionSaa.tryToEliminateOne3(DualJunctionSaa.java:166) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.DualJunctionSaa.tryToEliminateOne2(DualJunctionSaa.java:154) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.DualJunctionSaa.tryToEliminateOne1(DualJunctionSaa.java:142) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.DualJunctionSaa.tryToEliminateOne0(DualJunctionSaa.java:126) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.DualJunctionSaa.tryToEliminateOne(DualJunctionSaa.java:110) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.DualJunctionSaa.tryExhaustivelyToEliminate(DualJunctionSaa.java:95) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.DualJunctionSaa.tryToEliminate(DualJunctionSaa.java:90) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.tryToEliminateOne(QuantifierPusher.java:904) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.applyNewEliminationTechniquesExhaustively(QuantifierPusher.java:865) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.applyDualJunctionEliminationTechniques(QuantifierPusher.java:783) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.tryToPushOverDualFiniteConnective2(QuantifierPusher.java:425) 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$ApplicationTermTask.doStep(TermContextTransformationEngine.java:169) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.TermContextTransformationEngine.transform(TermContextTransformationEngine.java:77) 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.computeStrongestPostconditionSequence(IterativePredicateTransformer.java:199) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.TraceCheckSpWp.computeInterpolantsUsingUnsatCore(TraceCheckSpWp.java:299) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.TraceCheckSpWp.computeInterpolants(TraceCheckSpWp.java:185) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.TraceCheckSpWp.(TraceCheckSpWp.java:163) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleSpWp.construct(IpTcStrategyModuleSpWp.java:108) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleSpWp.construct(IpTcStrategyModuleSpWp.java:1) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleBase.getOrConstruct(IpTcStrategyModuleBase.java:100) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleBase.getInterpolantComputationStatus(IpTcStrategyModuleBase.java:76) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.AutomatonFreeRefinementEngine.tryExecuteInterpolantGenerator(AutomatonFreeRefinementEngine.java:273) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.AutomatonFreeRefinementEngine.generateProof(AutomatonFreeRefinementEngine.java:155) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.AutomatonFreeRefinementEngine.executeStrategy(AutomatonFreeRefinementEngine.java:145) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.AutomatonFreeRefinementEngine.(AutomatonFreeRefinementEngine.java:93) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceAbstractionRefinementEngine.(TraceAbstractionRefinementEngine.java:79) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.BasicCegarLoop.isCounterexampleFeasible(BasicCegarLoop.java:610) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterate(AbstractCegarLoop.java:413) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.startCegar(AbstractCegarLoop.java:348) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.runCegar(AbstractCegarLoop.java:330) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.CegarLoopUtils.getCegarLoopResult(CegarLoopUtils.java:56) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.executeCegarLoop(TraceAbstractionStarter.java:414) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.analyseProgram(TraceAbstractionStarter.java:304) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.analyseSequentialProgram(TraceAbstractionStarter.java:264) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:177) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:156) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:123) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:168) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:151) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:232) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:226) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:142) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:104) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:320) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) [2022-02-20 16:50:56,371 INFO L158 Benchmark]: Toolchain (without parser) took 6263.30ms. Allocated memory was 109.1MB in the beginning and 180.4MB in the end (delta: 71.3MB). Free memory was 71.4MB in the beginning and 148.7MB in the end (delta: -77.3MB). Peak memory consumption was 91.6MB. Max. memory is 16.1GB. [2022-02-20 16:50:56,372 INFO L158 Benchmark]: CDTParser took 0.14ms. Allocated memory is still 109.1MB. Free memory is still 89.3MB. There was no memory consumed. Max. memory is 16.1GB. [2022-02-20 16:50:56,374 INFO L158 Benchmark]: CACSL2BoogieTranslator took 330.66ms. Allocated memory is still 109.1MB. Free memory was 71.2MB in the beginning and 76.3MB in the end (delta: -5.0MB). Peak memory consumption was 10.5MB. Max. memory is 16.1GB. [2022-02-20 16:50:56,374 INFO L158 Benchmark]: Boogie Procedure Inliner took 47.20ms. Allocated memory is still 109.1MB. Free memory was 76.3MB in the beginning and 73.8MB in the end (delta: 2.4MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2022-02-20 16:50:56,374 INFO L158 Benchmark]: Boogie Preprocessor took 39.41ms. Allocated memory is still 109.1MB. Free memory was 73.8MB in the beginning and 71.8MB in the end (delta: 2.1MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2022-02-20 16:50:56,374 INFO L158 Benchmark]: RCFGBuilder took 471.86ms. Allocated memory is still 109.1MB. Free memory was 71.4MB in the beginning and 50.1MB in the end (delta: 21.3MB). Peak memory consumption was 21.0MB. Max. memory is 16.1GB. [2022-02-20 16:50:56,375 INFO L158 Benchmark]: TraceAbstraction took 5369.56ms. Allocated memory was 109.1MB in the beginning and 180.4MB in the end (delta: 71.3MB). Free memory was 49.8MB in the beginning and 148.7MB in the end (delta: -98.9MB). Peak memory consumption was 73.1MB. Max. memory is 16.1GB. [2022-02-20 16:50:56,381 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.14ms. Allocated memory is still 109.1MB. Free memory is still 89.3MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 330.66ms. Allocated memory is still 109.1MB. Free memory was 71.2MB in the beginning and 76.3MB in the end (delta: -5.0MB). Peak memory consumption was 10.5MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 47.20ms. Allocated memory is still 109.1MB. Free memory was 76.3MB in the beginning and 73.8MB in the end (delta: 2.4MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * Boogie Preprocessor took 39.41ms. Allocated memory is still 109.1MB. Free memory was 73.8MB in the beginning and 71.8MB in the end (delta: 2.1MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * RCFGBuilder took 471.86ms. Allocated memory is still 109.1MB. Free memory was 71.4MB in the beginning and 50.1MB in the end (delta: 21.3MB). Peak memory consumption was 21.0MB. Max. memory is 16.1GB. * TraceAbstraction took 5369.56ms. Allocated memory was 109.1MB in the beginning and 180.4MB in the end (delta: 71.3MB). Free memory was 49.8MB in the beginning and 148.7MB in the end (delta: -98.9MB). Peak memory consumption was 73.1MB. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - ExceptionOrErrorResult: AssertionError: var is still there: |v_#memory_$Pointer$.base_54| de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: AssertionError: var is still there: |v_#memory_$Pointer$.base_54|: de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.arrays.Elim1Store.elim1(Elim1Store.java:285) RESULT: Ultimate could not prove your program: Toolchain returned no result. [2022-02-20 16:50:56,409 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forceful destruction successful, exit code 0 Received shutdown request... --- End real Ultimate output --- Execution finished normally Using bit-precise analysis Retrying with bit-precise analysis ### Bit-precise run ### Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -ea -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/forester-heap/dll-optional-1.i -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Bitvector.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(reach_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 1c592bb1d39faa1e5f3d20603a8bfbb8fe6cff4de59ea35fafbddd50b8917b41 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 16:50:57,981 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 16:50:57,983 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 16:50:58,013 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 16:50:58,016 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 16:50:58,019 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 16:50:58,021 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 16:50:58,025 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 16:50:58,027 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 16:50:58,030 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 16:50:58,031 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 16:50:58,034 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 16:50:58,035 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 16:50:58,037 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 16:50:58,038 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 16:50:58,039 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 16:50:58,040 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 16:50:58,041 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 16:50:58,044 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 16:50:58,049 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 16:50:58,050 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 16:50:58,051 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 16:50:58,052 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 16:50:58,053 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 16:50:58,058 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 16:50:58,058 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 16:50:58,058 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 16:50:58,059 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 16:50:58,060 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 16:50:58,060 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 16:50:58,060 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 16:50:58,061 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 16:50:58,062 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 16:50:58,063 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 16:50:58,064 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 16:50:58,064 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 16:50:58,065 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 16:50:58,065 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 16:50:58,065 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 16:50:58,066 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 16:50:58,067 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 16:50:58,067 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:50:58,096 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 16:50:58,097 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 16:50:58,098 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 16:50:58,098 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 16:50:58,099 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 16:50:58,099 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 16:50:58,100 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 16:50:58,100 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 16:50:58,100 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 16:50:58,100 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 16:50:58,101 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 16:50:58,101 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 16:50:58,101 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 16:50:58,101 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 16:50:58,102 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 16:50:58,102 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 16:50:58,102 INFO L138 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2022-02-20 16:50:58,102 INFO L138 SettingsManager]: * Use bitvectors instead of ints=true [2022-02-20 16:50:58,102 INFO L138 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2022-02-20 16:50:58,102 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 16:50:58,103 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 16:50:58,107 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 16:50:58,107 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 16:50:58,107 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 16:50:58,107 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 16:50:58,108 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 16:50:58,108 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 16:50:58,108 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 16:50:58,108 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 16:50:58,108 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 16:50:58,108 INFO L138 SettingsManager]: * Trace refinement strategy=WOLF [2022-02-20 16:50:58,109 INFO L138 SettingsManager]: * Command for external solver=cvc4 --incremental --print-success --lang smt [2022-02-20 16:50:58,109 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 16:50:58,109 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 16:50:58,109 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 16:50:58,109 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2022-02-20 16:50:58,110 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 -> 1c592bb1d39faa1e5f3d20603a8bfbb8fe6cff4de59ea35fafbddd50b8917b41 [2022-02-20 16:50:58,378 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 16:50:58,398 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 16:50:58,400 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 16:50:58,401 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 16:50:58,402 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 16:50:58,404 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/forester-heap/dll-optional-1.i [2022-02-20 16:50:58,452 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9e87754f7/4c500a9b27b04691a04c5bb0cacf5f4d/FLAG03c612856 [2022-02-20 16:50:58,856 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 16:50:58,856 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/forester-heap/dll-optional-1.i [2022-02-20 16:50:58,868 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9e87754f7/4c500a9b27b04691a04c5bb0cacf5f4d/FLAG03c612856 [2022-02-20 16:50:59,246 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9e87754f7/4c500a9b27b04691a04c5bb0cacf5f4d [2022-02-20 16:50:59,248 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 16:50:59,249 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 16:50:59,256 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 16:50:59,257 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 16:50:59,259 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 16:50:59,260 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 04:50:59" (1/1) ... [2022-02-20 16:50:59,261 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@6508eaff and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:50:59, skipping insertion in model container [2022-02-20 16:50:59,262 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 04:50:59" (1/1) ... [2022-02-20 16:50:59,267 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 16:50:59,296 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 16:50:59,494 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/dll-optional-1.i[22753,22766] [2022-02-20 16:50:59,499 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 16:50:59,516 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 16:50:59,555 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/dll-optional-1.i[22753,22766] [2022-02-20 16:50:59,557 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 16:50:59,592 INFO L208 MainTranslator]: Completed translation [2022-02-20 16:50:59,594 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:50:59 WrapperNode [2022-02-20 16:50:59,594 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 16:50:59,595 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 16:50:59,595 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 16:50:59,595 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 16:50:59,600 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:50:59" (1/1) ... [2022-02-20 16:50:59,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:50:59" (1/1) ... [2022-02-20 16:50:59,636 INFO L137 Inliner]: procedures = 122, calls = 44, calls flagged for inlining = 2, calls inlined = 2, statements flattened = 130 [2022-02-20 16:50:59,640 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 16:50:59,640 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 16:50:59,641 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 16:50:59,641 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 16:50:59,646 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:50:59" (1/1) ... [2022-02-20 16:50:59,647 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:50:59" (1/1) ... [2022-02-20 16:50:59,651 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:50:59" (1/1) ... [2022-02-20 16:50:59,661 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:50:59" (1/1) ... [2022-02-20 16:50:59,670 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:50:59" (1/1) ... [2022-02-20 16:50:59,674 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:50:59" (1/1) ... [2022-02-20 16:50:59,680 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:50:59" (1/1) ... [2022-02-20 16:50:59,683 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 16:50:59,684 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 16:50:59,684 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 16:50:59,684 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 16:50:59,685 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:50:59" (1/1) ... [2022-02-20 16:50:59,691 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 16:50:59,705 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 16:50:59,719 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:50:59,743 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:50:59,761 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2022-02-20 16:50:59,762 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2022-02-20 16:50:59,762 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 16:50:59,762 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2022-02-20 16:50:59,766 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2022-02-20 16:50:59,766 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 16:50:59,766 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2022-02-20 16:50:59,766 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1 [2022-02-20 16:50:59,766 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 16:50:59,766 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 16:50:59,840 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 16:50:59,841 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 16:51:00,383 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 16:51:00,390 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 16:51:00,390 INFO L299 CfgBuilder]: Removed 5 assume(true) statements. [2022-02-20 16:51:00,391 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 04:51:00 BoogieIcfgContainer [2022-02-20 16:51:00,392 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 16:51:00,393 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 16:51:00,393 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 16:51:00,403 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 16:51:00,403 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 04:50:59" (1/3) ... [2022-02-20 16:51:00,403 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@21caf4ba and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 04:51:00, skipping insertion in model container [2022-02-20 16:51:00,403 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:50:59" (2/3) ... [2022-02-20 16:51:00,404 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@21caf4ba and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 04:51:00, skipping insertion in model container [2022-02-20 16:51:00,404 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 04:51:00" (3/3) ... [2022-02-20 16:51:00,405 INFO L111 eAbstractionObserver]: Analyzing ICFG dll-optional-1.i [2022-02-20 16:51:00,408 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 16:51:00,408 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 16:51:00,453 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 16:51:00,460 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:51:00,461 INFO L340 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-02-20 16:51:00,472 INFO L276 IsEmpty]: Start isEmpty. Operand has 29 states, 27 states have (on average 1.6666666666666667) internal successors, (45), 28 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:51:00,476 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2022-02-20 16:51:00,476 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:51:00,477 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:51:00,478 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:51:00,481 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:51:00,482 INFO L85 PathProgramCache]: Analyzing trace with hash 1712561739, now seen corresponding path program 1 times [2022-02-20 16:51:00,492 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:51:00,492 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1681685732] [2022-02-20 16:51:00,493 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:51:00,493 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:51:00,493 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:51:00,495 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:51:00,501 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:51:00,611 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:51:00,615 INFO L263 TraceCheckSpWp]: Trace formula consists of 93 conjuncts, 1 conjunts are in the unsatisfiable core [2022-02-20 16:51:00,639 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:51:00,641 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:51:00,708 INFO L290 TraceCheckUtils]: 0: Hoare triple {32#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(17bv32, 2bv32); {32#true} is VALID [2022-02-20 16:51:00,708 INFO L290 TraceCheckUtils]: 1: Hoare triple {32#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~nondet2#1, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~mem4#1.base, main_#t~mem4#1.offset, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~mem8#1.base, main_#t~mem8#1.offset, main_#t~mem9#1.base, main_#t~mem9#1.offset, main_#t~nondet10#1, main_#t~malloc11#1.base, main_#t~malloc11#1.offset, main_#t~mem12#1.base, main_#t~mem12#1.offset, main_#t~nondet13#1, main_#t~nondet6#1, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~short16#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~short19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~short21#1, main_#t~mem22#1.base, main_#t~mem22#1.offset, main_#t~mem23#1.base, main_#t~mem23#1.offset, main_#t~mem24#1, main_#t~mem25#1.base, main_#t~mem25#1.offset, main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset;call main_#t~malloc1#1.base, main_#t~malloc1#1.offset := #Ultimate.allocOnHeap(16bv32);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~$Pointer$(0bv32, 0bv32, main_~head~0#1.base, ~bvadd32(4bv32, main_~head~0#1.offset), 4bv32); {32#true} is VALID [2022-02-20 16:51:00,709 INFO L290 TraceCheckUtils]: 2: Hoare triple {32#true} assume 0bv32 != main_#t~nondet2#1;havoc main_#t~nondet2#1;call write~intINTTYPE4(2bv32, main_~head~0#1.base, ~bvadd32(12bv32, main_~head~0#1.offset), 4bv32);call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(16bv32);call write~$Pointer$(main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_~head~0#1.base, ~bvadd32(8bv32, main_~head~0#1.offset), 4bv32);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_~head~0#1.base, ~bvadd32(8bv32, main_~head~0#1.offset), 4bv32);call write~$Pointer$(0bv32, 0bv32, main_#t~mem4#1.base, main_#t~mem4#1.offset, 4bv32);havoc main_#t~mem4#1.base, main_#t~mem4#1.offset; {32#true} is VALID [2022-02-20 16:51:00,709 INFO L290 TraceCheckUtils]: 3: Hoare triple {32#true} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {32#true} is VALID [2022-02-20 16:51:00,710 INFO L290 TraceCheckUtils]: 4: Hoare triple {32#true} assume !true; {33#false} is VALID [2022-02-20 16:51:00,710 INFO L290 TraceCheckUtils]: 5: Hoare triple {33#false} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {33#false} is VALID [2022-02-20 16:51:00,711 INFO L290 TraceCheckUtils]: 6: Hoare triple {33#false} assume !!(main_~x~0#1.base != 0bv32 || main_~x~0#1.offset != 0bv32); {33#false} is VALID [2022-02-20 16:51:00,711 INFO L290 TraceCheckUtils]: 7: Hoare triple {33#false} call main_#t~mem14#1 := read~intINTTYPE4(main_~x~0#1.base, ~bvadd32(12bv32, main_~x~0#1.offset), 4bv32);main_#t~short16#1 := 2bv32 == main_#t~mem14#1; {33#false} is VALID [2022-02-20 16:51:00,711 INFO L290 TraceCheckUtils]: 8: Hoare triple {33#false} assume main_#t~short16#1;call main_#t~mem15#1.base, main_#t~mem15#1.offset := read~$Pointer$(main_~x~0#1.base, ~bvadd32(8bv32, main_~x~0#1.offset), 4bv32);main_#t~short16#1 := main_#t~mem15#1.base != main_~x~0#1.base || main_#t~mem15#1.offset != main_~x~0#1.offset; {33#false} is VALID [2022-02-20 16:51:00,712 INFO L290 TraceCheckUtils]: 9: Hoare triple {33#false} main_#t~short19#1 := main_#t~short16#1; {33#false} is VALID [2022-02-20 16:51:00,712 INFO L290 TraceCheckUtils]: 10: Hoare triple {33#false} assume main_#t~short19#1;call main_#t~mem17#1.base, main_#t~mem17#1.offset := read~$Pointer$(main_~x~0#1.base, ~bvadd32(8bv32, main_~x~0#1.offset), 4bv32);call main_#t~mem18#1.base, main_#t~mem18#1.offset := read~$Pointer$(main_#t~mem17#1.base, main_#t~mem17#1.offset, 4bv32);main_#t~short19#1 := main_#t~mem18#1.base == 0bv32 && main_#t~mem18#1.offset == 0bv32; {33#false} is VALID [2022-02-20 16:51:00,712 INFO L290 TraceCheckUtils]: 11: Hoare triple {33#false} main_#t~short21#1 := main_#t~short19#1; {33#false} is VALID [2022-02-20 16:51:00,712 INFO L290 TraceCheckUtils]: 12: Hoare triple {33#false} assume main_#t~short21#1; {33#false} is VALID [2022-02-20 16:51:00,713 INFO L290 TraceCheckUtils]: 13: Hoare triple {33#false} assume !main_#t~short21#1;havoc main_#t~mem14#1;havoc main_#t~mem15#1.base, main_#t~mem15#1.offset;havoc main_#t~short16#1;havoc main_#t~mem17#1.base, main_#t~mem17#1.offset;havoc main_#t~mem18#1.base, main_#t~mem18#1.offset;havoc main_#t~short19#1;havoc main_#t~mem20#1.base, main_#t~mem20#1.offset;havoc main_#t~short21#1; {33#false} is VALID [2022-02-20 16:51:00,713 INFO L290 TraceCheckUtils]: 14: Hoare triple {33#false} assume !false; {33#false} is VALID [2022-02-20 16:51:00,714 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:51:00,714 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 16:51:00,714 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 16:51:00,714 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1681685732] [2022-02-20 16:51:00,715 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1681685732] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:51:00,715 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:51:00,715 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 16:51:00,716 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [917650600] [2022-02-20 16:51:00,717 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:51:00,722 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 7.5) internal successors, (15), 2 states have internal predecessors, (15), 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 15 [2022-02-20 16:51:00,722 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:51:00,724 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 2 states, 2 states have (on average 7.5) internal successors, (15), 2 states have internal predecessors, (15), 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:51:00,748 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:51:00,748 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-02-20 16:51:00,749 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 16:51:00,769 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-02-20 16:51:00,773 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 16:51:00,776 INFO L87 Difference]: Start difference. First operand has 29 states, 27 states have (on average 1.6666666666666667) internal successors, (45), 28 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 has 2 states, 2 states have (on average 7.5) internal successors, (15), 2 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:51:01,005 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:51:01,006 INFO L93 Difference]: Finished difference Result 50 states and 76 transitions. [2022-02-20 16:51:01,006 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-02-20 16:51:01,006 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 7.5) internal successors, (15), 2 states have internal predecessors, (15), 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 15 [2022-02-20 16:51:01,006 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:51:01,007 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 7.5) internal successors, (15), 2 states have internal predecessors, (15), 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:51:01,011 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 76 transitions. [2022-02-20 16:51:01,012 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 7.5) internal successors, (15), 2 states have internal predecessors, (15), 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:51:01,014 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 76 transitions. [2022-02-20 16:51:01,014 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 76 transitions. [2022-02-20 16:51:01,105 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:51:01,110 INFO L225 Difference]: With dead ends: 50 [2022-02-20 16:51:01,111 INFO L226 Difference]: Without dead ends: 21 [2022-02-20 16:51:01,120 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 14 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:51:01,123 INFO L933 BasicCegarLoop]: 39 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, 39 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:51:01,125 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 39 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 16:51:01,136 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 21 states. [2022-02-20 16:51:01,145 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 21 to 21. [2022-02-20 16:51:01,145 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:51:01,146 INFO L82 GeneralOperation]: Start isEquivalent. First operand 21 states. Second operand has 21 states, 20 states have (on average 1.45) internal successors, (29), 20 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:51:01,146 INFO L74 IsIncluded]: Start isIncluded. First operand 21 states. Second operand has 21 states, 20 states have (on average 1.45) internal successors, (29), 20 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:51:01,147 INFO L87 Difference]: Start difference. First operand 21 states. Second operand has 21 states, 20 states have (on average 1.45) internal successors, (29), 20 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:51:01,157 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:51:01,157 INFO L93 Difference]: Finished difference Result 21 states and 29 transitions. [2022-02-20 16:51:01,157 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 29 transitions. [2022-02-20 16:51:01,158 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:51:01,158 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:51:01,158 INFO L74 IsIncluded]: Start isIncluded. First operand has 21 states, 20 states have (on average 1.45) internal successors, (29), 20 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) Second operand 21 states. [2022-02-20 16:51:01,159 INFO L87 Difference]: Start difference. First operand has 21 states, 20 states have (on average 1.45) internal successors, (29), 20 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) Second operand 21 states. [2022-02-20 16:51:01,160 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:51:01,161 INFO L93 Difference]: Finished difference Result 21 states and 29 transitions. [2022-02-20 16:51:01,161 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 29 transitions. [2022-02-20 16:51:01,163 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:51:01,163 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:51:01,163 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:51:01,163 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:51:01,164 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 20 states have (on average 1.45) internal successors, (29), 20 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:51:01,166 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 29 transitions. [2022-02-20 16:51:01,167 INFO L78 Accepts]: Start accepts. Automaton has 21 states and 29 transitions. Word has length 15 [2022-02-20 16:51:01,167 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:51:01,167 INFO L470 AbstractCegarLoop]: Abstraction has 21 states and 29 transitions. [2022-02-20 16:51:01,172 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 7.5) internal successors, (15), 2 states have internal predecessors, (15), 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:51:01,172 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 29 transitions. [2022-02-20 16:51:01,172 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2022-02-20 16:51:01,172 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:51:01,172 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:51:01,184 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:51:01,380 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:51:01,381 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:51:01,381 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:51:01,381 INFO L85 PathProgramCache]: Analyzing trace with hash -1397938948, now seen corresponding path program 1 times [2022-02-20 16:51:01,382 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:51:01,382 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1455607949] [2022-02-20 16:51:01,382 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:51:01,382 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:51:01,382 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:51:01,383 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:51:01,385 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:51:01,465 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:51:01,468 INFO L263 TraceCheckSpWp]: Trace formula consists of 93 conjuncts, 2 conjunts are in the unsatisfiable core [2022-02-20 16:51:01,479 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:51:01,480 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:51:01,524 INFO L290 TraceCheckUtils]: 0: Hoare triple {203#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(17bv32, 2bv32); {203#true} is VALID [2022-02-20 16:51:01,524 INFO L290 TraceCheckUtils]: 1: Hoare triple {203#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~nondet2#1, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~mem4#1.base, main_#t~mem4#1.offset, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~mem8#1.base, main_#t~mem8#1.offset, main_#t~mem9#1.base, main_#t~mem9#1.offset, main_#t~nondet10#1, main_#t~malloc11#1.base, main_#t~malloc11#1.offset, main_#t~mem12#1.base, main_#t~mem12#1.offset, main_#t~nondet13#1, main_#t~nondet6#1, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~short16#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~short19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~short21#1, main_#t~mem22#1.base, main_#t~mem22#1.offset, main_#t~mem23#1.base, main_#t~mem23#1.offset, main_#t~mem24#1, main_#t~mem25#1.base, main_#t~mem25#1.offset, main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset;call main_#t~malloc1#1.base, main_#t~malloc1#1.offset := #Ultimate.allocOnHeap(16bv32);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~$Pointer$(0bv32, 0bv32, main_~head~0#1.base, ~bvadd32(4bv32, main_~head~0#1.offset), 4bv32); {203#true} is VALID [2022-02-20 16:51:01,524 INFO L290 TraceCheckUtils]: 2: Hoare triple {203#true} assume 0bv32 != main_#t~nondet2#1;havoc main_#t~nondet2#1;call write~intINTTYPE4(2bv32, main_~head~0#1.base, ~bvadd32(12bv32, main_~head~0#1.offset), 4bv32);call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(16bv32);call write~$Pointer$(main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_~head~0#1.base, ~bvadd32(8bv32, main_~head~0#1.offset), 4bv32);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_~head~0#1.base, ~bvadd32(8bv32, main_~head~0#1.offset), 4bv32);call write~$Pointer$(0bv32, 0bv32, main_#t~mem4#1.base, main_#t~mem4#1.offset, 4bv32);havoc main_#t~mem4#1.base, main_#t~mem4#1.offset; {203#true} is VALID [2022-02-20 16:51:01,526 INFO L290 TraceCheckUtils]: 3: Hoare triple {203#true} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {203#true} is VALID [2022-02-20 16:51:01,530 INFO L290 TraceCheckUtils]: 4: Hoare triple {203#true} assume !(0bv32 != main_#t~nondet6#1);havoc main_#t~nondet6#1; {203#true} is VALID [2022-02-20 16:51:01,530 INFO L290 TraceCheckUtils]: 5: Hoare triple {203#true} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {203#true} is VALID [2022-02-20 16:51:01,530 INFO L290 TraceCheckUtils]: 6: Hoare triple {203#true} assume !!(main_~x~0#1.base != 0bv32 || main_~x~0#1.offset != 0bv32); {203#true} is VALID [2022-02-20 16:51:01,531 INFO L290 TraceCheckUtils]: 7: Hoare triple {203#true} call main_#t~mem14#1 := read~intINTTYPE4(main_~x~0#1.base, ~bvadd32(12bv32, main_~x~0#1.offset), 4bv32);main_#t~short16#1 := 2bv32 == main_#t~mem14#1; {203#true} is VALID [2022-02-20 16:51:01,531 INFO L290 TraceCheckUtils]: 8: Hoare triple {203#true} assume main_#t~short16#1;call main_#t~mem15#1.base, main_#t~mem15#1.offset := read~$Pointer$(main_~x~0#1.base, ~bvadd32(8bv32, main_~x~0#1.offset), 4bv32);main_#t~short16#1 := main_#t~mem15#1.base != main_~x~0#1.base || main_#t~mem15#1.offset != main_~x~0#1.offset; {203#true} is VALID [2022-02-20 16:51:01,531 INFO L290 TraceCheckUtils]: 9: Hoare triple {203#true} main_#t~short19#1 := main_#t~short16#1; {203#true} is VALID [2022-02-20 16:51:01,531 INFO L290 TraceCheckUtils]: 10: Hoare triple {203#true} assume main_#t~short19#1;call main_#t~mem17#1.base, main_#t~mem17#1.offset := read~$Pointer$(main_~x~0#1.base, ~bvadd32(8bv32, main_~x~0#1.offset), 4bv32);call main_#t~mem18#1.base, main_#t~mem18#1.offset := read~$Pointer$(main_#t~mem17#1.base, main_#t~mem17#1.offset, 4bv32);main_#t~short19#1 := main_#t~mem18#1.base == 0bv32 && main_#t~mem18#1.offset == 0bv32; {203#true} is VALID [2022-02-20 16:51:01,531 INFO L290 TraceCheckUtils]: 11: Hoare triple {203#true} main_#t~short21#1 := main_#t~short19#1; {203#true} is VALID [2022-02-20 16:51:01,533 INFO L290 TraceCheckUtils]: 12: Hoare triple {203#true} assume main_#t~short21#1; {244#|ULTIMATE.start_main_#t~short21#1|} is VALID [2022-02-20 16:51:01,534 INFO L290 TraceCheckUtils]: 13: Hoare triple {244#|ULTIMATE.start_main_#t~short21#1|} assume !main_#t~short21#1;havoc main_#t~mem14#1;havoc main_#t~mem15#1.base, main_#t~mem15#1.offset;havoc main_#t~short16#1;havoc main_#t~mem17#1.base, main_#t~mem17#1.offset;havoc main_#t~mem18#1.base, main_#t~mem18#1.offset;havoc main_#t~short19#1;havoc main_#t~mem20#1.base, main_#t~mem20#1.offset;havoc main_#t~short21#1; {204#false} is VALID [2022-02-20 16:51:01,534 INFO L290 TraceCheckUtils]: 14: Hoare triple {204#false} assume !false; {204#false} is VALID [2022-02-20 16:51:01,534 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:51:01,535 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 16:51:01,535 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 16:51:01,535 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1455607949] [2022-02-20 16:51:01,535 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1455607949] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:51:01,535 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:51:01,536 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 16:51:01,536 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1388445172] [2022-02-20 16:51:01,539 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:51:01,541 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 5.0) internal successors, (15), 3 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 15 [2022-02-20 16:51:01,541 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:51:01,541 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 5.0) internal successors, (15), 3 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:51:01,556 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:51:01,556 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 16:51:01,557 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 16:51:01,558 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 16:51:01,558 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 16:51:01,558 INFO L87 Difference]: Start difference. First operand 21 states and 29 transitions. Second operand has 3 states, 3 states have (on average 5.0) internal successors, (15), 3 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:51:01,942 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:51:01,942 INFO L93 Difference]: Finished difference Result 24 states and 32 transitions. [2022-02-20 16:51:01,943 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 16:51:01,943 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 5.0) internal successors, (15), 3 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 15 [2022-02-20 16:51:01,943 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:51:01,943 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 5.0) internal successors, (15), 3 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:51:01,944 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 32 transitions. [2022-02-20 16:51:01,944 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 5.0) internal successors, (15), 3 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:51:01,944 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 32 transitions. [2022-02-20 16:51:01,944 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 32 transitions. [2022-02-20 16:51:01,983 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:51:01,984 INFO L225 Difference]: With dead ends: 24 [2022-02-20 16:51:01,984 INFO L226 Difference]: Without dead ends: 22 [2022-02-20 16:51:01,984 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 13 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:51:01,985 INFO L933 BasicCegarLoop]: 28 mSDtfsCounter, 0 mSDsluCounter, 23 mSDsCounter, 0 mSdLazyCounter, 6 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 51 SdHoareTripleChecker+Invalid, 6 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 6 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 16:51:01,985 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 51 Invalid, 6 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 6 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 16:51:01,986 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 22 states. [2022-02-20 16:51:01,987 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 22 to 22. [2022-02-20 16:51:01,988 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:51:01,988 INFO L82 GeneralOperation]: Start isEquivalent. First operand 22 states. Second operand has 22 states, 21 states have (on average 1.4285714285714286) internal successors, (30), 21 states have internal predecessors, (30), 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:51:01,988 INFO L74 IsIncluded]: Start isIncluded. First operand 22 states. Second operand has 22 states, 21 states have (on average 1.4285714285714286) internal successors, (30), 21 states have internal predecessors, (30), 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:51:01,989 INFO L87 Difference]: Start difference. First operand 22 states. Second operand has 22 states, 21 states have (on average 1.4285714285714286) internal successors, (30), 21 states have internal predecessors, (30), 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:51:01,989 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:51:01,989 INFO L93 Difference]: Finished difference Result 22 states and 30 transitions. [2022-02-20 16:51:01,990 INFO L276 IsEmpty]: Start isEmpty. Operand 22 states and 30 transitions. [2022-02-20 16:51:01,990 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:51:01,990 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:51:01,990 INFO L74 IsIncluded]: Start isIncluded. First operand has 22 states, 21 states have (on average 1.4285714285714286) internal successors, (30), 21 states have internal predecessors, (30), 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 22 states. [2022-02-20 16:51:01,990 INFO L87 Difference]: Start difference. First operand has 22 states, 21 states have (on average 1.4285714285714286) internal successors, (30), 21 states have internal predecessors, (30), 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 22 states. [2022-02-20 16:51:01,991 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:51:01,991 INFO L93 Difference]: Finished difference Result 22 states and 30 transitions. [2022-02-20 16:51:01,991 INFO L276 IsEmpty]: Start isEmpty. Operand 22 states and 30 transitions. [2022-02-20 16:51:01,991 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:51:01,991 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:51:01,991 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:51:01,991 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:51:01,992 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 21 states have (on average 1.4285714285714286) internal successors, (30), 21 states have internal predecessors, (30), 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:51:01,992 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 30 transitions. [2022-02-20 16:51:01,992 INFO L78 Accepts]: Start accepts. Automaton has 22 states and 30 transitions. Word has length 15 [2022-02-20 16:51:01,992 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:51:01,992 INFO L470 AbstractCegarLoop]: Abstraction has 22 states and 30 transitions. [2022-02-20 16:51:01,993 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 5.0) internal successors, (15), 3 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:51:01,993 INFO L276 IsEmpty]: Start isEmpty. Operand 22 states and 30 transitions. [2022-02-20 16:51:01,993 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2022-02-20 16:51:01,993 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:51:01,993 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:51:02,004 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:51:02,201 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:51:02,202 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:51:02,202 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:51:02,202 INFO L85 PathProgramCache]: Analyzing trace with hash -1397937026, now seen corresponding path program 1 times [2022-02-20 16:51:02,203 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:51:02,203 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1503468875] [2022-02-20 16:51:02,203 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:51:02,203 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:51:02,203 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:51:02,204 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:51:02,206 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:51:02,291 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:51:02,295 INFO L263 TraceCheckSpWp]: Trace formula consists of 96 conjuncts, 24 conjunts are in the unsatisfiable core [2022-02-20 16:51:02,312 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:51:02,314 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:51:02,353 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:51:02,431 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:51:02,436 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:51:02,438 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 21 treesize of output 25 [2022-02-20 16:51:02,445 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:51:02,448 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 31 treesize of output 17 [2022-02-20 16:51:02,454 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:51:02,455 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 34 treesize of output 28 [2022-02-20 16:51:02,462 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 14 treesize of output 13 [2022-02-20 16:51:02,469 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 10 treesize of output 9 [2022-02-20 16:51:02,484 INFO L356 Elim1Store]: treesize reduction 4, result has 71.4 percent of original size [2022-02-20 16:51:02,484 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 17 treesize of output 17 [2022-02-20 16:51:02,789 INFO L356 Elim1Store]: treesize reduction 35, result has 7.9 percent of original size [2022-02-20 16:51:02,789 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 4 new quantified variables, introduced 3 case distinctions, treesize of input 122 treesize of output 62 [2022-02-20 16:51:02,822 INFO L356 Elim1Store]: treesize reduction 5, result has 37.5 percent of original size [2022-02-20 16:51:02,822 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 4 new quantified variables, introduced 1 case distinctions, treesize of input 50 treesize of output 26 [2022-02-20 16:51:02,874 INFO L290 TraceCheckUtils]: 0: Hoare triple {346#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(17bv32, 2bv32); {346#true} is VALID [2022-02-20 16:51:02,876 INFO L290 TraceCheckUtils]: 1: Hoare triple {346#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~nondet2#1, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~mem4#1.base, main_#t~mem4#1.offset, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~mem8#1.base, main_#t~mem8#1.offset, main_#t~mem9#1.base, main_#t~mem9#1.offset, main_#t~nondet10#1, main_#t~malloc11#1.base, main_#t~malloc11#1.offset, main_#t~mem12#1.base, main_#t~mem12#1.offset, main_#t~nondet13#1, main_#t~nondet6#1, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~short16#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~short19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~short21#1, main_#t~mem22#1.base, main_#t~mem22#1.offset, main_#t~mem23#1.base, main_#t~mem23#1.offset, main_#t~mem24#1, main_#t~mem25#1.base, main_#t~mem25#1.offset, main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset;call main_#t~malloc1#1.base, main_#t~malloc1#1.offset := #Ultimate.allocOnHeap(16bv32);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~$Pointer$(0bv32, 0bv32, main_~head~0#1.base, ~bvadd32(4bv32, main_~head~0#1.offset), 4bv32); {354#(= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 16:51:02,881 INFO L290 TraceCheckUtils]: 2: Hoare triple {354#(= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) (_ bv1 1))} assume 0bv32 != main_#t~nondet2#1;havoc main_#t~nondet2#1;call write~intINTTYPE4(2bv32, main_~head~0#1.base, ~bvadd32(12bv32, main_~head~0#1.offset), 4bv32);call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(16bv32);call write~$Pointer$(main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_~head~0#1.base, ~bvadd32(8bv32, main_~head~0#1.offset), 4bv32);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_~head~0#1.base, ~bvadd32(8bv32, main_~head~0#1.offset), 4bv32);call write~$Pointer$(0bv32, 0bv32, main_#t~mem4#1.base, main_#t~mem4#1.offset, 4bv32);havoc main_#t~mem4#1.base, main_#t~mem4#1.offset; {358#(and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) (bvadd (_ bv8 32) |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|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~head~0#1.offset|))) (_ bv0 32)) (_ bv0 32)) (not (= |ULTIMATE.start_main_~head~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~head~0#1.offset|)))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~head~0#1.offset|)) (_ bv0 32)))} is VALID [2022-02-20 16:51:02,882 INFO L290 TraceCheckUtils]: 3: Hoare triple {358#(and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) (bvadd (_ bv8 32) |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|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~head~0#1.offset|))) (_ bv0 32)) (_ bv0 32)) (not (= |ULTIMATE.start_main_~head~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~head~0#1.offset|)))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) (bvadd (_ bv8 32) |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; {358#(and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) (bvadd (_ bv8 32) |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|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~head~0#1.offset|))) (_ bv0 32)) (_ bv0 32)) (not (= |ULTIMATE.start_main_~head~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~head~0#1.offset|)))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~head~0#1.offset|)) (_ bv0 32)))} is VALID [2022-02-20 16:51:02,884 INFO L290 TraceCheckUtils]: 4: Hoare triple {358#(and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) (bvadd (_ bv8 32) |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|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~head~0#1.offset|))) (_ bv0 32)) (_ bv0 32)) (not (= |ULTIMATE.start_main_~head~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~head~0#1.offset|)))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~head~0#1.offset|)) (_ bv0 32)))} assume !(0bv32 != main_#t~nondet6#1);havoc main_#t~nondet6#1; {358#(and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) (bvadd (_ bv8 32) |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|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~head~0#1.offset|))) (_ bv0 32)) (_ bv0 32)) (not (= |ULTIMATE.start_main_~head~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~head~0#1.offset|)))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~head~0#1.offset|)) (_ bv0 32)))} is VALID [2022-02-20 16:51:02,885 INFO L290 TraceCheckUtils]: 5: Hoare triple {358#(and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) (bvadd (_ bv8 32) |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|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~head~0#1.offset|))) (_ bv0 32)) (_ bv0 32)) (not (= |ULTIMATE.start_main_~head~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~head~0#1.offset|)))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) (bvadd (_ bv8 32) |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; {368#(and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~x~0#1.offset|))) (_ bv0 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~x~0#1.offset|)) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~x~0#1.offset|))) (_ bv0 32))) (not (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~x~0#1.offset|)))))} is VALID [2022-02-20 16:51:02,887 INFO L290 TraceCheckUtils]: 6: Hoare triple {368#(and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~x~0#1.offset|))) (_ bv0 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~x~0#1.offset|)) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~x~0#1.offset|))) (_ bv0 32))) (not (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~x~0#1.offset|)))))} assume !!(main_~x~0#1.base != 0bv32 || main_~x~0#1.offset != 0bv32); {368#(and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~x~0#1.offset|))) (_ bv0 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~x~0#1.offset|)) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~x~0#1.offset|))) (_ bv0 32))) (not (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~x~0#1.offset|)))))} is VALID [2022-02-20 16:51:02,895 INFO L290 TraceCheckUtils]: 7: Hoare triple {368#(and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~x~0#1.offset|))) (_ bv0 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~x~0#1.offset|)) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~x~0#1.offset|))) (_ bv0 32))) (not (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~x~0#1.offset|)))))} call main_#t~mem14#1 := read~intINTTYPE4(main_~x~0#1.base, ~bvadd32(12bv32, main_~x~0#1.offset), 4bv32);main_#t~short16#1 := 2bv32 == main_#t~mem14#1; {368#(and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~x~0#1.offset|))) (_ bv0 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~x~0#1.offset|)) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~x~0#1.offset|))) (_ bv0 32))) (not (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~x~0#1.offset|)))))} is VALID [2022-02-20 16:51:02,897 INFO L290 TraceCheckUtils]: 8: Hoare triple {368#(and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~x~0#1.offset|))) (_ bv0 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~x~0#1.offset|)) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~x~0#1.offset|))) (_ bv0 32))) (not (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~x~0#1.offset|)))))} assume main_#t~short16#1;call main_#t~mem15#1.base, main_#t~mem15#1.offset := read~$Pointer$(main_~x~0#1.base, ~bvadd32(8bv32, main_~x~0#1.offset), 4bv32);main_#t~short16#1 := main_#t~mem15#1.base != main_~x~0#1.base || main_#t~mem15#1.offset != main_~x~0#1.offset; {368#(and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~x~0#1.offset|))) (_ bv0 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~x~0#1.offset|)) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~x~0#1.offset|))) (_ bv0 32))) (not (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~x~0#1.offset|)))))} is VALID [2022-02-20 16:51:02,898 INFO L290 TraceCheckUtils]: 9: Hoare triple {368#(and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~x~0#1.offset|))) (_ bv0 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~x~0#1.offset|)) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~x~0#1.offset|))) (_ bv0 32))) (not (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~x~0#1.offset|)))))} main_#t~short19#1 := main_#t~short16#1; {368#(and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~x~0#1.offset|))) (_ bv0 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~x~0#1.offset|)) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~x~0#1.offset|))) (_ bv0 32))) (not (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~x~0#1.offset|)))))} is VALID [2022-02-20 16:51:02,899 INFO L290 TraceCheckUtils]: 10: Hoare triple {368#(and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~x~0#1.offset|))) (_ bv0 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~x~0#1.offset|)) (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~x~0#1.offset|))) (_ bv0 32))) (not (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~x~0#1.offset|)))))} assume main_#t~short19#1;call main_#t~mem17#1.base, main_#t~mem17#1.offset := read~$Pointer$(main_~x~0#1.base, ~bvadd32(8bv32, main_~x~0#1.offset), 4bv32);call main_#t~mem18#1.base, main_#t~mem18#1.offset := read~$Pointer$(main_#t~mem17#1.base, main_#t~mem17#1.offset, 4bv32);main_#t~short19#1 := main_#t~mem18#1.base == 0bv32 && main_#t~mem18#1.offset == 0bv32; {384#|ULTIMATE.start_main_#t~short19#1|} is VALID [2022-02-20 16:51:02,900 INFO L290 TraceCheckUtils]: 11: Hoare triple {384#|ULTIMATE.start_main_#t~short19#1|} main_#t~short21#1 := main_#t~short19#1; {388#|ULTIMATE.start_main_#t~short21#1|} is VALID [2022-02-20 16:51:02,900 INFO L290 TraceCheckUtils]: 12: Hoare triple {388#|ULTIMATE.start_main_#t~short21#1|} assume !main_#t~short21#1;call main_#t~mem20#1.base, main_#t~mem20#1.offset := read~$Pointer$(main_~x~0#1.base, ~bvadd32(8bv32, main_~x~0#1.offset), 4bv32);main_#t~short21#1 := main_#t~mem20#1.base == main_~x~0#1.base && main_#t~mem20#1.offset == main_~x~0#1.offset; {347#false} is VALID [2022-02-20 16:51:02,900 INFO L290 TraceCheckUtils]: 13: Hoare triple {347#false} assume !main_#t~short21#1;havoc main_#t~mem14#1;havoc main_#t~mem15#1.base, main_#t~mem15#1.offset;havoc main_#t~short16#1;havoc main_#t~mem17#1.base, main_#t~mem17#1.offset;havoc main_#t~mem18#1.base, main_#t~mem18#1.offset;havoc main_#t~short19#1;havoc main_#t~mem20#1.base, main_#t~mem20#1.offset;havoc main_#t~short21#1; {347#false} is VALID [2022-02-20 16:51:02,901 INFO L290 TraceCheckUtils]: 14: Hoare triple {347#false} assume !false; {347#false} is VALID [2022-02-20 16:51:02,901 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:51:02,901 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 16:51:02,902 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 16:51:02,902 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1503468875] [2022-02-20 16:51:02,902 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1503468875] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:51:02,903 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:51:02,903 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-02-20 16:51:02,903 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1121880356] [2022-02-20 16:51:02,903 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:51:02,904 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.142857142857143) internal successors, (15), 7 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 15 [2022-02-20 16:51:02,904 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:51:02,904 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 2.142857142857143) internal successors, (15), 7 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:51:02,933 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:51:02,933 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-02-20 16:51:02,934 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 16:51:02,934 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-02-20 16:51:02,934 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2022-02-20 16:51:02,935 INFO L87 Difference]: Start difference. First operand 22 states and 30 transitions. Second operand has 7 states, 7 states have (on average 2.142857142857143) internal successors, (15), 7 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:51:05,310 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:51:05,310 INFO L93 Difference]: Finished difference Result 67 states and 86 transitions. [2022-02-20 16:51:05,310 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-02-20 16:51:05,310 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.142857142857143) internal successors, (15), 7 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 15 [2022-02-20 16:51:05,311 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:51:05,311 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.142857142857143) internal successors, (15), 7 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:51:05,312 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 85 transitions. [2022-02-20 16:51:05,312 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.142857142857143) internal successors, (15), 7 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:51:05,313 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 85 transitions. [2022-02-20 16:51:05,313 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 85 transitions. [2022-02-20 16:51:05,421 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:51:05,423 INFO L225 Difference]: With dead ends: 67 [2022-02-20 16:51:05,423 INFO L226 Difference]: Without dead ends: 54 [2022-02-20 16:51:05,423 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 21 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=63, Invalid=119, Unknown=0, NotChecked=0, Total=182 [2022-02-20 16:51:05,424 INFO L933 BasicCegarLoop]: 13 mSDtfsCounter, 89 mSDsluCounter, 55 mSDsCounter, 0 mSdLazyCounter, 91 mSolverCounterSat, 19 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 89 SdHoareTripleChecker+Valid, 68 SdHoareTripleChecker+Invalid, 110 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 19 IncrementalHoareTripleChecker+Valid, 91 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-02-20 16:51:05,424 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [89 Valid, 68 Invalid, 110 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [19 Valid, 91 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-02-20 16:51:05,424 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 54 states. [2022-02-20 16:51:05,428 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 54 to 32. [2022-02-20 16:51:05,428 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:51:05,428 INFO L82 GeneralOperation]: Start isEquivalent. First operand 54 states. Second operand has 32 states, 31 states have (on average 1.3870967741935485) internal successors, (43), 31 states have internal predecessors, (43), 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:51:05,428 INFO L74 IsIncluded]: Start isIncluded. First operand 54 states. Second operand has 32 states, 31 states have (on average 1.3870967741935485) internal successors, (43), 31 states have internal predecessors, (43), 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:51:05,429 INFO L87 Difference]: Start difference. First operand 54 states. Second operand has 32 states, 31 states have (on average 1.3870967741935485) internal successors, (43), 31 states have internal predecessors, (43), 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:51:05,430 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:51:05,430 INFO L93 Difference]: Finished difference Result 54 states and 69 transitions. [2022-02-20 16:51:05,430 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 69 transitions. [2022-02-20 16:51:05,431 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:51:05,431 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:51:05,431 INFO L74 IsIncluded]: Start isIncluded. First operand has 32 states, 31 states have (on average 1.3870967741935485) internal successors, (43), 31 states have internal predecessors, (43), 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 54 states. [2022-02-20 16:51:05,439 INFO L87 Difference]: Start difference. First operand has 32 states, 31 states have (on average 1.3870967741935485) internal successors, (43), 31 states have internal predecessors, (43), 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 54 states. [2022-02-20 16:51:05,441 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:51:05,441 INFO L93 Difference]: Finished difference Result 54 states and 69 transitions. [2022-02-20 16:51:05,441 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 69 transitions. [2022-02-20 16:51:05,441 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:51:05,442 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:51:05,442 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:51:05,442 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:51:05,442 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 31 states have (on average 1.3870967741935485) internal successors, (43), 31 states have internal predecessors, (43), 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:51:05,443 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 43 transitions. [2022-02-20 16:51:05,443 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 43 transitions. Word has length 15 [2022-02-20 16:51:05,443 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:51:05,443 INFO L470 AbstractCegarLoop]: Abstraction has 32 states and 43 transitions. [2022-02-20 16:51:05,443 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 2.142857142857143) internal successors, (15), 7 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:51:05,443 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 43 transitions. [2022-02-20 16:51:05,443 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2022-02-20 16:51:05,443 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:51:05,443 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:51:05,452 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:51:05,648 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:51:05,649 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:51:05,650 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:51:05,650 INFO L85 PathProgramCache]: Analyzing trace with hash -1396089984, now seen corresponding path program 1 times [2022-02-20 16:51:05,650 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:51:05,650 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1144809748] [2022-02-20 16:51:05,650 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:51:05,650 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:51:05,650 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:51:05,651 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:51:05,652 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:51:05,711 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:51:05,714 INFO L263 TraceCheckSpWp]: Trace formula consists of 91 conjuncts, 11 conjunts are in the unsatisfiable core [2022-02-20 16:51:05,729 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:51:05,730 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:51:06,017 INFO L290 TraceCheckUtils]: 0: Hoare triple {634#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(17bv32, 2bv32); {634#true} is VALID [2022-02-20 16:51:06,018 INFO L290 TraceCheckUtils]: 1: Hoare triple {634#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~nondet2#1, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~mem4#1.base, main_#t~mem4#1.offset, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~mem8#1.base, main_#t~mem8#1.offset, main_#t~mem9#1.base, main_#t~mem9#1.offset, main_#t~nondet10#1, main_#t~malloc11#1.base, main_#t~malloc11#1.offset, main_#t~mem12#1.base, main_#t~mem12#1.offset, main_#t~nondet13#1, main_#t~nondet6#1, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~short16#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~short19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~short21#1, main_#t~mem22#1.base, main_#t~mem22#1.offset, main_#t~mem23#1.base, main_#t~mem23#1.offset, main_#t~mem24#1, main_#t~mem25#1.base, main_#t~mem25#1.offset, main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset;call main_#t~malloc1#1.base, main_#t~malloc1#1.offset := #Ultimate.allocOnHeap(16bv32);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~$Pointer$(0bv32, 0bv32, main_~head~0#1.base, ~bvadd32(4bv32, main_~head~0#1.offset), 4bv32); {642#(= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|)} is VALID [2022-02-20 16:51:06,019 INFO L290 TraceCheckUtils]: 2: Hoare triple {642#(= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|)} assume 0bv32 != main_#t~nondet2#1;havoc main_#t~nondet2#1;call write~intINTTYPE4(2bv32, main_~head~0#1.base, ~bvadd32(12bv32, main_~head~0#1.offset), 4bv32);call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(16bv32);call write~$Pointer$(main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_~head~0#1.base, ~bvadd32(8bv32, main_~head~0#1.offset), 4bv32);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_~head~0#1.base, ~bvadd32(8bv32, main_~head~0#1.offset), 4bv32);call write~$Pointer$(0bv32, 0bv32, main_#t~mem4#1.base, main_#t~mem4#1.offset, 4bv32);havoc main_#t~mem4#1.base, main_#t~mem4#1.offset; {642#(= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|)} is VALID [2022-02-20 16:51:06,019 INFO L290 TraceCheckUtils]: 3: Hoare triple {642#(= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|)} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {642#(= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|)} is VALID [2022-02-20 16:51:06,020 INFO L290 TraceCheckUtils]: 4: Hoare triple {642#(= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|)} assume !(0bv32 != main_#t~nondet6#1);havoc main_#t~nondet6#1; {642#(= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|)} is VALID [2022-02-20 16:51:06,023 INFO L290 TraceCheckUtils]: 5: Hoare triple {642#(= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|)} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {655#(= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32))} is VALID [2022-02-20 16:51:06,024 INFO L290 TraceCheckUtils]: 6: Hoare triple {655#(= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32))} assume !!(main_~x~0#1.base != 0bv32 || main_~x~0#1.offset != 0bv32); {655#(= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32))} is VALID [2022-02-20 16:51:06,024 INFO L290 TraceCheckUtils]: 7: Hoare triple {655#(= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32))} call main_#t~mem14#1 := read~intINTTYPE4(main_~x~0#1.base, ~bvadd32(12bv32, main_~x~0#1.offset), 4bv32);main_#t~short16#1 := 2bv32 == main_#t~mem14#1; {655#(= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32))} is VALID [2022-02-20 16:51:06,025 INFO L290 TraceCheckUtils]: 8: Hoare triple {655#(= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32))} assume main_#t~short16#1;call main_#t~mem15#1.base, main_#t~mem15#1.offset := read~$Pointer$(main_~x~0#1.base, ~bvadd32(8bv32, main_~x~0#1.offset), 4bv32);main_#t~short16#1 := main_#t~mem15#1.base != main_~x~0#1.base || main_#t~mem15#1.offset != main_~x~0#1.offset; {665#(and (or (and |ULTIMATE.start_main_#t~short16#1| (or (not (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~x~0#1.offset|)) |ULTIMATE.start_main_~x~0#1.offset|)) (not (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~x~0#1.offset|)))))) (and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~x~0#1.offset|)) |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~x~0#1.offset|))) (not |ULTIMATE.start_main_#t~short16#1|))) (= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32)))} is VALID [2022-02-20 16:51:06,026 INFO L290 TraceCheckUtils]: 9: Hoare triple {665#(and (or (and |ULTIMATE.start_main_#t~short16#1| (or (not (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~x~0#1.offset|)) |ULTIMATE.start_main_~x~0#1.offset|)) (not (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~x~0#1.offset|)))))) (and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~x~0#1.offset|)) |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~x~0#1.offset|))) (not |ULTIMATE.start_main_#t~short16#1|))) (= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32)))} main_#t~short19#1 := main_#t~short16#1; {669#(and (or (and |ULTIMATE.start_main_#t~short19#1| (or (not (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~x~0#1.offset|)) |ULTIMATE.start_main_~x~0#1.offset|)) (not (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~x~0#1.offset|)))))) (and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~x~0#1.offset|)) |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~x~0#1.offset|))) (not |ULTIMATE.start_main_#t~short19#1|))) (= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32)))} is VALID [2022-02-20 16:51:06,027 INFO L290 TraceCheckUtils]: 10: Hoare triple {669#(and (or (and |ULTIMATE.start_main_#t~short19#1| (or (not (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~x~0#1.offset|)) |ULTIMATE.start_main_~x~0#1.offset|)) (not (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~x~0#1.offset|)))))) (and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~x~0#1.offset|)) |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~x~0#1.offset|))) (not |ULTIMATE.start_main_#t~short19#1|))) (= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32)))} assume !main_#t~short19#1; {673#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~x~0#1.offset|)) |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~x~0#1.offset|))) (= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32)))} is VALID [2022-02-20 16:51:06,027 INFO L290 TraceCheckUtils]: 11: Hoare triple {673#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~x~0#1.offset|)) |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~x~0#1.offset|))) (= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32)))} main_#t~short21#1 := main_#t~short19#1; {673#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~x~0#1.offset|)) |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~x~0#1.offset|))) (= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32)))} is VALID [2022-02-20 16:51:06,028 INFO L290 TraceCheckUtils]: 12: Hoare triple {673#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~x~0#1.offset|)) |ULTIMATE.start_main_~x~0#1.offset|) (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~x~0#1.offset|))) (= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32)))} assume !main_#t~short21#1;call main_#t~mem20#1.base, main_#t~mem20#1.offset := read~$Pointer$(main_~x~0#1.base, ~bvadd32(8bv32, main_~x~0#1.offset), 4bv32);main_#t~short21#1 := main_#t~mem20#1.base == main_~x~0#1.base && main_#t~mem20#1.offset == main_~x~0#1.offset; {680#|ULTIMATE.start_main_#t~short21#1|} is VALID [2022-02-20 16:51:06,029 INFO L290 TraceCheckUtils]: 13: Hoare triple {680#|ULTIMATE.start_main_#t~short21#1|} assume !main_#t~short21#1;havoc main_#t~mem14#1;havoc main_#t~mem15#1.base, main_#t~mem15#1.offset;havoc main_#t~short16#1;havoc main_#t~mem17#1.base, main_#t~mem17#1.offset;havoc main_#t~mem18#1.base, main_#t~mem18#1.offset;havoc main_#t~short19#1;havoc main_#t~mem20#1.base, main_#t~mem20#1.offset;havoc main_#t~short21#1; {635#false} is VALID [2022-02-20 16:51:06,030 INFO L290 TraceCheckUtils]: 14: Hoare triple {635#false} assume !false; {635#false} is VALID [2022-02-20 16:51:06,030 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:51:06,030 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 16:51:06,030 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 16:51:06,030 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1144809748] [2022-02-20 16:51:06,031 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1144809748] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:51:06,031 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:51:06,031 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-02-20 16:51:06,031 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [366844467] [2022-02-20 16:51:06,032 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:51:06,032 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 1.875) internal successors, (15), 8 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 15 [2022-02-20 16:51:06,032 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:51:06,032 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 1.875) internal successors, (15), 8 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:51:06,047 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:51:06,047 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-02-20 16:51:06,047 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 16:51:06,048 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-02-20 16:51:06,049 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2022-02-20 16:51:06,049 INFO L87 Difference]: Start difference. First operand 32 states and 43 transitions. Second operand has 8 states, 8 states have (on average 1.875) internal successors, (15), 8 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:51:08,402 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:51:08,403 INFO L93 Difference]: Finished difference Result 65 states and 85 transitions. [2022-02-20 16:51:08,403 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-02-20 16:51:08,403 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 1.875) internal successors, (15), 8 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 15 [2022-02-20 16:51:08,403 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:51:08,403 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 1.875) internal successors, (15), 8 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:51:08,404 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 66 transitions. [2022-02-20 16:51:08,404 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 1.875) internal successors, (15), 8 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:51:08,405 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 66 transitions. [2022-02-20 16:51:08,406 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 66 transitions. [2022-02-20 16:51:08,489 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:51:08,498 INFO L225 Difference]: With dead ends: 65 [2022-02-20 16:51:08,498 INFO L226 Difference]: Without dead ends: 63 [2022-02-20 16:51:08,498 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 23 GetRequests, 8 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 27 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=88, Invalid=184, Unknown=0, NotChecked=0, Total=272 [2022-02-20 16:51:08,500 INFO L933 BasicCegarLoop]: 15 mSDtfsCounter, 74 mSDsluCounter, 49 mSDsCounter, 0 mSdLazyCounter, 122 mSolverCounterSat, 19 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 74 SdHoareTripleChecker+Valid, 64 SdHoareTripleChecker+Invalid, 141 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 19 IncrementalHoareTripleChecker+Valid, 122 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-02-20 16:51:08,501 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [74 Valid, 64 Invalid, 141 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [19 Valid, 122 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-02-20 16:51:08,502 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 63 states. [2022-02-20 16:51:08,510 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 63 to 41. [2022-02-20 16:51:08,510 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:51:08,510 INFO L82 GeneralOperation]: Start isEquivalent. First operand 63 states. Second operand has 41 states, 40 states have (on average 1.4) internal successors, (56), 40 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:51:08,510 INFO L74 IsIncluded]: Start isIncluded. First operand 63 states. Second operand has 41 states, 40 states have (on average 1.4) internal successors, (56), 40 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:51:08,510 INFO L87 Difference]: Start difference. First operand 63 states. Second operand has 41 states, 40 states have (on average 1.4) internal successors, (56), 40 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:51:08,512 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:51:08,512 INFO L93 Difference]: Finished difference Result 63 states and 83 transitions. [2022-02-20 16:51:08,512 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 83 transitions. [2022-02-20 16:51:08,513 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:51:08,513 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:51:08,513 INFO L74 IsIncluded]: Start isIncluded. First operand has 41 states, 40 states have (on average 1.4) internal successors, (56), 40 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 63 states. [2022-02-20 16:51:08,513 INFO L87 Difference]: Start difference. First operand has 41 states, 40 states have (on average 1.4) internal successors, (56), 40 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 63 states. [2022-02-20 16:51:08,515 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:51:08,515 INFO L93 Difference]: Finished difference Result 63 states and 83 transitions. [2022-02-20 16:51:08,515 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 83 transitions. [2022-02-20 16:51:08,515 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:51:08,515 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:51:08,515 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:51:08,515 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:51:08,516 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 40 states have (on average 1.4) internal successors, (56), 40 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:51:08,516 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 56 transitions. [2022-02-20 16:51:08,517 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 56 transitions. Word has length 15 [2022-02-20 16:51:08,517 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:51:08,517 INFO L470 AbstractCegarLoop]: Abstraction has 41 states and 56 transitions. [2022-02-20 16:51:08,517 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 1.875) internal successors, (15), 8 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:51:08,517 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 56 transitions. [2022-02-20 16:51:08,517 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2022-02-20 16:51:08,517 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:51:08,517 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:51:08,529 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:51:08,718 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:51:08,718 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:51:08,719 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:51:08,719 INFO L85 PathProgramCache]: Analyzing trace with hash 378917378, now seen corresponding path program 1 times [2022-02-20 16:51:08,719 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:51:08,719 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1156818190] [2022-02-20 16:51:08,719 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:51:08,719 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:51:08,719 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:51:08,720 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:51:08,721 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:51:08,800 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:51:08,803 INFO L263 TraceCheckSpWp]: Trace formula consists of 88 conjuncts, 12 conjunts are in the unsatisfiable core [2022-02-20 16:51:08,812 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:51:08,813 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:51:08,824 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:51:08,863 INFO L356 Elim1Store]: treesize reduction 27, result has 25.0 percent of original size [2022-02-20 16:51:08,863 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 21 treesize of output 25 [2022-02-20 16:51:08,870 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:51:08,871 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 16 treesize of output 18 [2022-02-20 16:51:08,881 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-02-20 16:51:08,881 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 11 treesize of output 11 [2022-02-20 16:51:08,951 INFO L290 TraceCheckUtils]: 0: Hoare triple {953#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(17bv32, 2bv32); {953#true} is VALID [2022-02-20 16:51:08,952 INFO L290 TraceCheckUtils]: 1: Hoare triple {953#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~nondet2#1, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~mem4#1.base, main_#t~mem4#1.offset, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~mem8#1.base, main_#t~mem8#1.offset, main_#t~mem9#1.base, main_#t~mem9#1.offset, main_#t~nondet10#1, main_#t~malloc11#1.base, main_#t~malloc11#1.offset, main_#t~mem12#1.base, main_#t~mem12#1.offset, main_#t~nondet13#1, main_#t~nondet6#1, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~short16#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~short19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~short21#1, main_#t~mem22#1.base, main_#t~mem22#1.offset, main_#t~mem23#1.base, main_#t~mem23#1.offset, main_#t~mem24#1, main_#t~mem25#1.base, main_#t~mem25#1.offset, main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset;call main_#t~malloc1#1.base, main_#t~malloc1#1.offset := #Ultimate.allocOnHeap(16bv32);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~$Pointer$(0bv32, 0bv32, main_~head~0#1.base, ~bvadd32(4bv32, main_~head~0#1.offset), 4bv32); {961#(= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 16:51:08,955 INFO L290 TraceCheckUtils]: 2: Hoare triple {961#(= (select |#valid| |ULTIMATE.start_main_~head~0#1.base|) (_ bv1 1))} assume 0bv32 != main_#t~nondet2#1;havoc main_#t~nondet2#1;call write~intINTTYPE4(2bv32, main_~head~0#1.base, ~bvadd32(12bv32, main_~head~0#1.offset), 4bv32);call main_#t~malloc3#1.base, main_#t~malloc3#1.offset := #Ultimate.allocOnHeap(16bv32);call write~$Pointer$(main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_~head~0#1.base, ~bvadd32(8bv32, main_~head~0#1.offset), 4bv32);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_~head~0#1.base, ~bvadd32(8bv32, main_~head~0#1.offset), 4bv32);call write~$Pointer$(0bv32, 0bv32, main_#t~mem4#1.base, main_#t~mem4#1.offset, 4bv32);havoc main_#t~mem4#1.base, main_#t~mem4#1.offset; {965#(= (_ bv2 32) (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (bvadd (_ bv12 32) |ULTIMATE.start_main_~head~0#1.offset|)))} is VALID [2022-02-20 16:51:08,956 INFO L290 TraceCheckUtils]: 3: Hoare triple {965#(= (_ bv2 32) (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (bvadd (_ bv12 32) |ULTIMATE.start_main_~head~0#1.offset|)))} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {965#(= (_ bv2 32) (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (bvadd (_ bv12 32) |ULTIMATE.start_main_~head~0#1.offset|)))} is VALID [2022-02-20 16:51:08,956 INFO L290 TraceCheckUtils]: 4: Hoare triple {965#(= (_ bv2 32) (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (bvadd (_ bv12 32) |ULTIMATE.start_main_~head~0#1.offset|)))} assume !(0bv32 != main_#t~nondet6#1);havoc main_#t~nondet6#1; {965#(= (_ bv2 32) (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (bvadd (_ bv12 32) |ULTIMATE.start_main_~head~0#1.offset|)))} is VALID [2022-02-20 16:51:08,956 INFO L290 TraceCheckUtils]: 5: Hoare triple {965#(= (_ bv2 32) (select (select |#memory_int| |ULTIMATE.start_main_~head~0#1.base|) (bvadd (_ bv12 32) |ULTIMATE.start_main_~head~0#1.offset|)))} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {975#(= (_ bv2 32) (select (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) (bvadd |ULTIMATE.start_main_~x~0#1.offset| (_ bv12 32))))} is VALID [2022-02-20 16:51:08,957 INFO L290 TraceCheckUtils]: 6: Hoare triple {975#(= (_ bv2 32) (select (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) (bvadd |ULTIMATE.start_main_~x~0#1.offset| (_ bv12 32))))} assume !!(main_~x~0#1.base != 0bv32 || main_~x~0#1.offset != 0bv32); {975#(= (_ bv2 32) (select (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) (bvadd |ULTIMATE.start_main_~x~0#1.offset| (_ bv12 32))))} is VALID [2022-02-20 16:51:08,957 INFO L290 TraceCheckUtils]: 7: Hoare triple {975#(= (_ bv2 32) (select (select |#memory_int| |ULTIMATE.start_main_~x~0#1.base|) (bvadd |ULTIMATE.start_main_~x~0#1.offset| (_ bv12 32))))} call main_#t~mem14#1 := read~intINTTYPE4(main_~x~0#1.base, ~bvadd32(12bv32, main_~x~0#1.offset), 4bv32);main_#t~short16#1 := 2bv32 == main_#t~mem14#1; {982#|ULTIMATE.start_main_#t~short16#1|} is VALID [2022-02-20 16:51:08,958 INFO L290 TraceCheckUtils]: 8: Hoare triple {982#|ULTIMATE.start_main_#t~short16#1|} assume !main_#t~short16#1; {954#false} is VALID [2022-02-20 16:51:08,958 INFO L290 TraceCheckUtils]: 9: Hoare triple {954#false} main_#t~short19#1 := main_#t~short16#1; {954#false} is VALID [2022-02-20 16:51:08,958 INFO L290 TraceCheckUtils]: 10: Hoare triple {954#false} assume !main_#t~short19#1; {954#false} is VALID [2022-02-20 16:51:08,958 INFO L290 TraceCheckUtils]: 11: Hoare triple {954#false} main_#t~short21#1 := main_#t~short19#1; {954#false} is VALID [2022-02-20 16:51:08,958 INFO L290 TraceCheckUtils]: 12: Hoare triple {954#false} assume !main_#t~short21#1;call main_#t~mem20#1.base, main_#t~mem20#1.offset := read~$Pointer$(main_~x~0#1.base, ~bvadd32(8bv32, main_~x~0#1.offset), 4bv32);main_#t~short21#1 := main_#t~mem20#1.base == main_~x~0#1.base && main_#t~mem20#1.offset == main_~x~0#1.offset; {954#false} is VALID [2022-02-20 16:51:08,958 INFO L290 TraceCheckUtils]: 13: Hoare triple {954#false} assume !main_#t~short21#1;havoc main_#t~mem14#1;havoc main_#t~mem15#1.base, main_#t~mem15#1.offset;havoc main_#t~short16#1;havoc main_#t~mem17#1.base, main_#t~mem17#1.offset;havoc main_#t~mem18#1.base, main_#t~mem18#1.offset;havoc main_#t~short19#1;havoc main_#t~mem20#1.base, main_#t~mem20#1.offset;havoc main_#t~short21#1; {954#false} is VALID [2022-02-20 16:51:08,958 INFO L290 TraceCheckUtils]: 14: Hoare triple {954#false} assume !false; {954#false} is VALID [2022-02-20 16:51:08,958 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:51:08,958 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 16:51:08,958 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 16:51:08,959 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1156818190] [2022-02-20 16:51:08,959 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1156818190] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:51:08,959 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:51:08,959 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-02-20 16:51:08,959 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [936359957] [2022-02-20 16:51:08,959 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:51:08,959 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 15 [2022-02-20 16:51:08,959 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:51:08,959 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:51:08,976 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:51:08,976 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 16:51:08,977 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 16:51:08,977 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 16:51:08,977 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-02-20 16:51:08,977 INFO L87 Difference]: Start difference. First operand 41 states and 56 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:51:10,361 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:51:10,361 INFO L93 Difference]: Finished difference Result 74 states and 96 transitions. [2022-02-20 16:51:10,361 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 16:51:10,361 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 15 [2022-02-20 16:51:10,361 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:51:10,362 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:51:10,362 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 76 transitions. [2022-02-20 16:51:10,363 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:51:10,363 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 76 transitions. [2022-02-20 16:51:10,364 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 76 transitions. [2022-02-20 16:51:10,441 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:51:10,442 INFO L225 Difference]: With dead ends: 74 [2022-02-20 16:51:10,442 INFO L226 Difference]: Without dead ends: 57 [2022-02-20 16:51:10,443 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 10 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=27, Invalid=45, Unknown=0, NotChecked=0, Total=72 [2022-02-20 16:51:10,443 INFO L933 BasicCegarLoop]: 19 mSDtfsCounter, 71 mSDsluCounter, 50 mSDsCounter, 0 mSdLazyCounter, 68 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 71 SdHoareTripleChecker+Valid, 69 SdHoareTripleChecker+Invalid, 80 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 68 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-02-20 16:51:10,444 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [71 Valid, 69 Invalid, 80 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 68 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-02-20 16:51:10,444 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 57 states. [2022-02-20 16:51:10,447 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 57 to 39. [2022-02-20 16:51:10,447 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:51:10,447 INFO L82 GeneralOperation]: Start isEquivalent. First operand 57 states. Second operand has 39 states, 38 states have (on average 1.368421052631579) internal successors, (52), 38 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:51:10,447 INFO L74 IsIncluded]: Start isIncluded. First operand 57 states. Second operand has 39 states, 38 states have (on average 1.368421052631579) internal successors, (52), 38 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:51:10,447 INFO L87 Difference]: Start difference. First operand 57 states. Second operand has 39 states, 38 states have (on average 1.368421052631579) internal successors, (52), 38 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:51:10,448 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:51:10,448 INFO L93 Difference]: Finished difference Result 57 states and 74 transitions. [2022-02-20 16:51:10,448 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 74 transitions. [2022-02-20 16:51:10,449 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:51:10,449 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:51:10,449 INFO L74 IsIncluded]: Start isIncluded. First operand has 39 states, 38 states have (on average 1.368421052631579) internal successors, (52), 38 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 57 states. [2022-02-20 16:51:10,449 INFO L87 Difference]: Start difference. First operand has 39 states, 38 states have (on average 1.368421052631579) internal successors, (52), 38 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 57 states. [2022-02-20 16:51:10,450 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:51:10,450 INFO L93 Difference]: Finished difference Result 57 states and 74 transitions. [2022-02-20 16:51:10,450 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 74 transitions. [2022-02-20 16:51:10,450 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:51:10,450 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:51:10,451 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:51:10,451 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:51:10,451 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 39 states, 38 states have (on average 1.368421052631579) internal successors, (52), 38 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:51:10,452 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 52 transitions. [2022-02-20 16:51:10,452 INFO L78 Accepts]: Start accepts. Automaton has 39 states and 52 transitions. Word has length 15 [2022-02-20 16:51:10,452 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:51:10,452 INFO L470 AbstractCegarLoop]: Abstraction has 39 states and 52 transitions. [2022-02-20 16:51:10,452 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:51:10,452 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 52 transitions. [2022-02-20 16:51:10,453 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2022-02-20 16:51:10,453 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:51:10,453 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:51:10,461 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (6)] Ended with exit code 0 [2022-02-20 16:51:10,660 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:51:10,661 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:51:10,661 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:51:10,661 INFO L85 PathProgramCache]: Analyzing trace with hash -513797694, now seen corresponding path program 1 times [2022-02-20 16:51:10,661 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:51:10,661 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [805523093] [2022-02-20 16:51:10,661 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:51:10,662 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:51:10,662 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:51:10,662 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:51:10,664 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:51:10,719 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:51:10,721 INFO L263 TraceCheckSpWp]: Trace formula consists of 79 conjuncts, 14 conjunts are in the unsatisfiable core [2022-02-20 16:51:10,730 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:51:10,731 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:51:10,753 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:51:10,758 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:51:10,892 INFO L290 TraceCheckUtils]: 0: Hoare triple {1256#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(17bv32, 2bv32); {1256#true} is VALID [2022-02-20 16:51:10,892 INFO L290 TraceCheckUtils]: 1: Hoare triple {1256#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~nondet2#1, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~mem4#1.base, main_#t~mem4#1.offset, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~mem8#1.base, main_#t~mem8#1.offset, main_#t~mem9#1.base, main_#t~mem9#1.offset, main_#t~nondet10#1, main_#t~malloc11#1.base, main_#t~malloc11#1.offset, main_#t~mem12#1.base, main_#t~mem12#1.offset, main_#t~nondet13#1, main_#t~nondet6#1, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~short16#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~short19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~short21#1, main_#t~mem22#1.base, main_#t~mem22#1.offset, main_#t~mem23#1.base, main_#t~mem23#1.offset, main_#t~mem24#1, main_#t~mem25#1.base, main_#t~mem25#1.offset, main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset;call main_#t~malloc1#1.base, main_#t~malloc1#1.offset := #Ultimate.allocOnHeap(16bv32);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~$Pointer$(0bv32, 0bv32, main_~head~0#1.base, ~bvadd32(4bv32, main_~head~0#1.offset), 4bv32); {1264#(= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|)} is VALID [2022-02-20 16:51:10,893 INFO L290 TraceCheckUtils]: 2: Hoare triple {1264#(= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|)} assume !(0bv32 != main_#t~nondet2#1);havoc main_#t~nondet2#1; {1264#(= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|)} is VALID [2022-02-20 16:51:10,895 INFO L290 TraceCheckUtils]: 3: Hoare triple {1264#(= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|)} assume 0bv32 != main_#t~nondet5#1;havoc main_#t~nondet5#1;call write~intINTTYPE4(1bv32, main_~head~0#1.base, ~bvadd32(12bv32, main_~head~0#1.offset), 4bv32);call write~$Pointer$(main_~head~0#1.base, main_~head~0#1.offset, main_~head~0#1.base, ~bvadd32(8bv32, main_~head~0#1.offset), 4bv32); {1271#(and (= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~head~0#1.offset|)) |ULTIMATE.start_main_~head~0#1.offset|) (= |ULTIMATE.start_main_~head~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~head~0#1.offset|))))} is VALID [2022-02-20 16:51:10,895 INFO L290 TraceCheckUtils]: 4: Hoare triple {1271#(and (= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~head~0#1.offset|)) |ULTIMATE.start_main_~head~0#1.offset|) (= |ULTIMATE.start_main_~head~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~head~0#1.offset|))))} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1271#(and (= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~head~0#1.offset|)) |ULTIMATE.start_main_~head~0#1.offset|) (= |ULTIMATE.start_main_~head~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~head~0#1.offset|))))} is VALID [2022-02-20 16:51:10,896 INFO L290 TraceCheckUtils]: 5: Hoare triple {1271#(and (= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~head~0#1.offset|)) |ULTIMATE.start_main_~head~0#1.offset|) (= |ULTIMATE.start_main_~head~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~head~0#1.offset|))))} assume !(0bv32 != main_#t~nondet6#1);havoc main_#t~nondet6#1; {1271#(and (= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~head~0#1.offset|)) |ULTIMATE.start_main_~head~0#1.offset|) (= |ULTIMATE.start_main_~head~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~head~0#1.offset|))))} is VALID [2022-02-20 16:51:10,897 INFO L290 TraceCheckUtils]: 6: Hoare triple {1271#(and (= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~head~0#1.offset|)) |ULTIMATE.start_main_~head~0#1.offset|) (= |ULTIMATE.start_main_~head~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~head~0#1.offset|))))} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1281#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (_ bv8 32)) (_ bv0 32)) (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (_ bv8 32))) (= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32)))} is VALID [2022-02-20 16:51:10,897 INFO L290 TraceCheckUtils]: 7: Hoare triple {1281#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (_ bv8 32)) (_ bv0 32)) (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (_ bv8 32))) (= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32)))} assume !!(main_~x~0#1.base != 0bv32 || main_~x~0#1.offset != 0bv32); {1281#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (_ bv8 32)) (_ bv0 32)) (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (_ bv8 32))) (= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32)))} is VALID [2022-02-20 16:51:10,898 INFO L290 TraceCheckUtils]: 8: Hoare triple {1281#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (_ bv8 32)) (_ bv0 32)) (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (_ bv8 32))) (= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32)))} call main_#t~mem14#1 := read~intINTTYPE4(main_~x~0#1.base, ~bvadd32(12bv32, main_~x~0#1.offset), 4bv32);main_#t~short16#1 := 2bv32 == main_#t~mem14#1; {1281#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (_ bv8 32)) (_ bv0 32)) (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (_ bv8 32))) (= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32)))} is VALID [2022-02-20 16:51:10,898 INFO L290 TraceCheckUtils]: 9: Hoare triple {1281#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (_ bv8 32)) (_ bv0 32)) (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (_ bv8 32))) (= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32)))} assume main_#t~short16#1;call main_#t~mem15#1.base, main_#t~mem15#1.offset := read~$Pointer$(main_~x~0#1.base, ~bvadd32(8bv32, main_~x~0#1.offset), 4bv32);main_#t~short16#1 := main_#t~mem15#1.base != main_~x~0#1.base || main_#t~mem15#1.offset != main_~x~0#1.offset; {1291#(not |ULTIMATE.start_main_#t~short16#1|)} is VALID [2022-02-20 16:51:10,899 INFO L290 TraceCheckUtils]: 10: Hoare triple {1291#(not |ULTIMATE.start_main_#t~short16#1|)} main_#t~short19#1 := main_#t~short16#1; {1295#(not |ULTIMATE.start_main_#t~short19#1|)} is VALID [2022-02-20 16:51:10,899 INFO L290 TraceCheckUtils]: 11: Hoare triple {1295#(not |ULTIMATE.start_main_#t~short19#1|)} assume main_#t~short19#1;call main_#t~mem17#1.base, main_#t~mem17#1.offset := read~$Pointer$(main_~x~0#1.base, ~bvadd32(8bv32, main_~x~0#1.offset), 4bv32);call main_#t~mem18#1.base, main_#t~mem18#1.offset := read~$Pointer$(main_#t~mem17#1.base, main_#t~mem17#1.offset, 4bv32);main_#t~short19#1 := main_#t~mem18#1.base == 0bv32 && main_#t~mem18#1.offset == 0bv32; {1257#false} is VALID [2022-02-20 16:51:10,899 INFO L290 TraceCheckUtils]: 12: Hoare triple {1257#false} main_#t~short21#1 := main_#t~short19#1; {1257#false} is VALID [2022-02-20 16:51:10,900 INFO L290 TraceCheckUtils]: 13: Hoare triple {1257#false} assume !main_#t~short21#1;call main_#t~mem20#1.base, main_#t~mem20#1.offset := read~$Pointer$(main_~x~0#1.base, ~bvadd32(8bv32, main_~x~0#1.offset), 4bv32);main_#t~short21#1 := main_#t~mem20#1.base == main_~x~0#1.base && main_#t~mem20#1.offset == main_~x~0#1.offset; {1257#false} is VALID [2022-02-20 16:51:10,900 INFO L290 TraceCheckUtils]: 14: Hoare triple {1257#false} assume !main_#t~short21#1;havoc main_#t~mem14#1;havoc main_#t~mem15#1.base, main_#t~mem15#1.offset;havoc main_#t~short16#1;havoc main_#t~mem17#1.base, main_#t~mem17#1.offset;havoc main_#t~mem18#1.base, main_#t~mem18#1.offset;havoc main_#t~short19#1;havoc main_#t~mem20#1.base, main_#t~mem20#1.offset;havoc main_#t~short21#1; {1257#false} is VALID [2022-02-20 16:51:10,900 INFO L290 TraceCheckUtils]: 15: Hoare triple {1257#false} assume !false; {1257#false} is VALID [2022-02-20 16:51:10,900 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:51:10,900 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 16:51:10,901 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 16:51:10,901 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [805523093] [2022-02-20 16:51:10,901 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [805523093] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:51:10,901 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:51:10,901 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-02-20 16:51:10,901 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1678061048] [2022-02-20 16:51:10,902 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:51:10,902 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 7 states have internal predecessors, (16), 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 16 [2022-02-20 16:51:10,902 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:51:10,902 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 7 states have internal predecessors, (16), 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:51:10,919 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 16 edges. 16 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:51:10,920 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-02-20 16:51:10,920 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 16:51:10,920 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-02-20 16:51:10,920 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=12, Invalid=30, Unknown=0, NotChecked=0, Total=42 [2022-02-20 16:51:10,921 INFO L87 Difference]: Start difference. First operand 39 states and 52 transitions. Second operand has 7 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 7 states have internal predecessors, (16), 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:51:13,260 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:51:13,260 INFO L93 Difference]: Finished difference Result 106 states and 143 transitions. [2022-02-20 16:51:13,260 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-02-20 16:51:13,260 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 7 states have internal predecessors, (16), 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 16 [2022-02-20 16:51:13,260 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:51:13,261 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 7 states have internal predecessors, (16), 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:51:13,262 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 108 transitions. [2022-02-20 16:51:13,262 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 7 states have internal predecessors, (16), 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:51:13,263 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 108 transitions. [2022-02-20 16:51:13,263 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 108 transitions. [2022-02-20 16:51:13,371 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 108 edges. 108 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:51:13,372 INFO L225 Difference]: With dead ends: 106 [2022-02-20 16:51:13,372 INFO L226 Difference]: Without dead ends: 93 [2022-02-20 16:51:13,372 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 24 GetRequests, 10 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 28 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=79, Invalid=161, Unknown=0, NotChecked=0, Total=240 [2022-02-20 16:51:13,373 INFO L933 BasicCegarLoop]: 31 mSDtfsCounter, 84 mSDsluCounter, 100 mSDsCounter, 0 mSdLazyCounter, 134 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 84 SdHoareTripleChecker+Valid, 131 SdHoareTripleChecker+Invalid, 142 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 134 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-02-20 16:51:13,373 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [84 Valid, 131 Invalid, 142 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 134 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-02-20 16:51:13,373 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 93 states. [2022-02-20 16:51:13,377 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 93 to 48. [2022-02-20 16:51:13,377 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:51:13,377 INFO L82 GeneralOperation]: Start isEquivalent. First operand 93 states. Second operand has 48 states, 47 states have (on average 1.3404255319148937) internal successors, (63), 47 states have internal predecessors, (63), 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:51:13,377 INFO L74 IsIncluded]: Start isIncluded. First operand 93 states. Second operand has 48 states, 47 states have (on average 1.3404255319148937) internal successors, (63), 47 states have internal predecessors, (63), 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:51:13,377 INFO L87 Difference]: Start difference. First operand 93 states. Second operand has 48 states, 47 states have (on average 1.3404255319148937) internal successors, (63), 47 states have internal predecessors, (63), 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:51:13,379 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:51:13,380 INFO L93 Difference]: Finished difference Result 93 states and 123 transitions. [2022-02-20 16:51:13,380 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 123 transitions. [2022-02-20 16:51:13,380 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:51:13,380 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:51:13,380 INFO L74 IsIncluded]: Start isIncluded. First operand has 48 states, 47 states have (on average 1.3404255319148937) internal successors, (63), 47 states have internal predecessors, (63), 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 93 states. [2022-02-20 16:51:13,381 INFO L87 Difference]: Start difference. First operand has 48 states, 47 states have (on average 1.3404255319148937) internal successors, (63), 47 states have internal predecessors, (63), 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 93 states. [2022-02-20 16:51:13,383 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:51:13,383 INFO L93 Difference]: Finished difference Result 93 states and 123 transitions. [2022-02-20 16:51:13,383 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 123 transitions. [2022-02-20 16:51:13,383 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:51:13,383 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:51:13,383 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:51:13,383 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:51:13,384 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 48 states, 47 states have (on average 1.3404255319148937) internal successors, (63), 47 states have internal predecessors, (63), 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:51:13,385 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 63 transitions. [2022-02-20 16:51:13,385 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 63 transitions. Word has length 16 [2022-02-20 16:51:13,385 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:51:13,385 INFO L470 AbstractCegarLoop]: Abstraction has 48 states and 63 transitions. [2022-02-20 16:51:13,385 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 7 states have internal predecessors, (16), 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:51:13,385 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 63 transitions. [2022-02-20 16:51:13,385 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2022-02-20 16:51:13,386 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:51:13,386 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:51:13,407 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (7)] Ended with exit code 0 [2022-02-20 16:51:13,593 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:51:13,593 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:51:13,593 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:51:13,594 INFO L85 PathProgramCache]: Analyzing trace with hash 1263056710, now seen corresponding path program 1 times [2022-02-20 16:51:13,594 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:51:13,594 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1470578521] [2022-02-20 16:51:13,594 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:51:13,594 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:51:13,594 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:51:13,595 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:51:13,596 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:51:13,647 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:51:13,649 INFO L263 TraceCheckSpWp]: Trace formula consists of 71 conjuncts, 13 conjunts are in the unsatisfiable core [2022-02-20 16:51:13,660 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:51:13,661 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:51:13,686 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:51:13,691 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:51:13,854 INFO L290 TraceCheckUtils]: 0: Hoare triple {1694#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(17bv32, 2bv32); {1694#true} is VALID [2022-02-20 16:51:13,855 INFO L290 TraceCheckUtils]: 1: Hoare triple {1694#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~nondet2#1, main_#t~malloc3#1.base, main_#t~malloc3#1.offset, main_#t~mem4#1.base, main_#t~mem4#1.offset, main_#t~nondet5#1, main_#t~malloc7#1.base, main_#t~malloc7#1.offset, main_#t~mem8#1.base, main_#t~mem8#1.offset, main_#t~mem9#1.base, main_#t~mem9#1.offset, main_#t~nondet10#1, main_#t~malloc11#1.base, main_#t~malloc11#1.offset, main_#t~mem12#1.base, main_#t~mem12#1.offset, main_#t~nondet13#1, main_#t~nondet6#1, main_#t~mem14#1, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~short16#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~short19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~short21#1, main_#t~mem22#1.base, main_#t~mem22#1.offset, main_#t~mem23#1.base, main_#t~mem23#1.offset, main_#t~mem24#1, main_#t~mem25#1.base, main_#t~mem25#1.offset, main_~head~0#1.base, main_~head~0#1.offset, main_~x~0#1.base, main_~x~0#1.offset;call main_#t~malloc1#1.base, main_#t~malloc1#1.offset := #Ultimate.allocOnHeap(16bv32);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~$Pointer$(0bv32, 0bv32, main_~head~0#1.base, ~bvadd32(4bv32, main_~head~0#1.offset), 4bv32); {1702#(= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|)} is VALID [2022-02-20 16:51:13,863 INFO L290 TraceCheckUtils]: 2: Hoare triple {1702#(= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|)} assume !(0bv32 != main_#t~nondet2#1);havoc main_#t~nondet2#1; {1702#(= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|)} is VALID [2022-02-20 16:51:13,865 INFO L290 TraceCheckUtils]: 3: Hoare triple {1702#(= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|)} assume 0bv32 != main_#t~nondet5#1;havoc main_#t~nondet5#1;call write~intINTTYPE4(1bv32, main_~head~0#1.base, ~bvadd32(12bv32, main_~head~0#1.offset), 4bv32);call write~$Pointer$(main_~head~0#1.base, main_~head~0#1.offset, main_~head~0#1.base, ~bvadd32(8bv32, main_~head~0#1.offset), 4bv32); {1709#(and (= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~head~0#1.offset|)) |ULTIMATE.start_main_~head~0#1.offset|) (= |ULTIMATE.start_main_~head~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~head~0#1.offset|))))} is VALID [2022-02-20 16:51:13,866 INFO L290 TraceCheckUtils]: 4: Hoare triple {1709#(and (= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~head~0#1.offset|)) |ULTIMATE.start_main_~head~0#1.offset|) (= |ULTIMATE.start_main_~head~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~head~0#1.offset|))))} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1709#(and (= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~head~0#1.offset|)) |ULTIMATE.start_main_~head~0#1.offset|) (= |ULTIMATE.start_main_~head~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~head~0#1.offset|))))} is VALID [2022-02-20 16:51:13,866 INFO L290 TraceCheckUtils]: 5: Hoare triple {1709#(and (= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~head~0#1.offset|)) |ULTIMATE.start_main_~head~0#1.offset|) (= |ULTIMATE.start_main_~head~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~head~0#1.offset|))))} assume !(0bv32 != main_#t~nondet6#1);havoc main_#t~nondet6#1; {1709#(and (= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~head~0#1.offset|)) |ULTIMATE.start_main_~head~0#1.offset|) (= |ULTIMATE.start_main_~head~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~head~0#1.offset|))))} is VALID [2022-02-20 16:51:13,867 INFO L290 TraceCheckUtils]: 6: Hoare triple {1709#(and (= (_ bv0 32) |ULTIMATE.start_main_~head~0#1.offset|) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~head~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~head~0#1.offset|)) |ULTIMATE.start_main_~head~0#1.offset|) (= |ULTIMATE.start_main_~head~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~head~0#1.base|) (bvadd (_ bv8 32) |ULTIMATE.start_main_~head~0#1.offset|))))} main_~x~0#1.base, main_~x~0#1.offset := main_~head~0#1.base, main_~head~0#1.offset; {1719#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (_ bv8 32)) (_ bv0 32)) (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (_ bv8 32))) (= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32)))} is VALID [2022-02-20 16:51:13,867 INFO L290 TraceCheckUtils]: 7: Hoare triple {1719#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (_ bv8 32)) (_ bv0 32)) (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (_ bv8 32))) (= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32)))} assume !!(main_~x~0#1.base != 0bv32 || main_~x~0#1.offset != 0bv32); {1719#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (_ bv8 32)) (_ bv0 32)) (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (_ bv8 32))) (= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32)))} is VALID [2022-02-20 16:51:13,868 INFO L290 TraceCheckUtils]: 8: Hoare triple {1719#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (_ bv8 32)) (_ bv0 32)) (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (_ bv8 32))) (= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32)))} call main_#t~mem14#1 := read~intINTTYPE4(main_~x~0#1.base, ~bvadd32(12bv32, main_~x~0#1.offset), 4bv32);main_#t~short16#1 := 2bv32 == main_#t~mem14#1; {1719#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (_ bv8 32)) (_ bv0 32)) (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (_ bv8 32))) (= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32)))} is VALID [2022-02-20 16:51:13,868 INFO L290 TraceCheckUtils]: 9: Hoare triple {1719#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (_ bv8 32)) (_ bv0 32)) (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (_ bv8 32))) (= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32)))} assume !main_#t~short16#1; {1719#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (_ bv8 32)) (_ bv0 32)) (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (_ bv8 32))) (= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32)))} is VALID [2022-02-20 16:51:13,869 INFO L290 TraceCheckUtils]: 10: Hoare triple {1719#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (_ bv8 32)) (_ bv0 32)) (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (_ bv8 32))) (= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32)))} main_#t~short19#1 := main_#t~short16#1; {1719#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (_ bv8 32)) (_ bv0 32)) (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (_ bv8 32))) (= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32)))} is VALID [2022-02-20 16:51:13,869 INFO L290 TraceCheckUtils]: 11: Hoare triple {1719#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (_ bv8 32)) (_ bv0 32)) (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (_ bv8 32))) (= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32)))} assume !main_#t~short19#1; {1719#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (_ bv8 32)) (_ bv0 32)) (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (_ bv8 32))) (= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32)))} is VALID [2022-02-20 16:51:13,870 INFO L290 TraceCheckUtils]: 12: Hoare triple {1719#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (_ bv8 32)) (_ bv0 32)) (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (_ bv8 32))) (= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32)))} main_#t~short21#1 := main_#t~short19#1; {1719#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (_ bv8 32)) (_ bv0 32)) (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (_ bv8 32))) (= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32)))} is VALID [2022-02-20 16:51:13,870 INFO L290 TraceCheckUtils]: 13: Hoare triple {1719#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~x~0#1.base|) (_ bv8 32)) (_ bv0 32)) (= |ULTIMATE.start_main_~x~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~x~0#1.base|) (_ bv8 32))) (= |ULTIMATE.start_main_~x~0#1.offset| (_ bv0 32)))} assume !main_#t~short21#1;call main_#t~mem20#1.base, main_#t~mem20#1.offset := read~$Pointer$(main_~x~0#1.base, ~bvadd32(8bv32, main_~x~0#1.offset), 4bv32);main_#t~short21#1 := main_#t~mem20#1.base == main_~x~0#1.base && main_#t~mem20#1.offset == main_~x~0#1.offset; {1741#|ULTIMATE.start_main_#t~short21#1|} is VALID [2022-02-20 16:51:13,870 INFO L290 TraceCheckUtils]: 14: Hoare triple {1741#|ULTIMATE.start_main_#t~short21#1|} assume !main_#t~short21#1;havoc main_#t~mem14#1;havoc main_#t~mem15#1.base, main_#t~mem15#1.offset;havoc main_#t~short16#1;havoc main_#t~mem17#1.base, main_#t~mem17#1.offset;havoc main_#t~mem18#1.base, main_#t~mem18#1.offset;havoc main_#t~short19#1;havoc main_#t~mem20#1.base, main_#t~mem20#1.offset;havoc main_#t~short21#1; {1695#false} is VALID [2022-02-20 16:51:13,873 INFO L290 TraceCheckUtils]: 15: Hoare triple {1695#false} assume !false; {1695#false} is VALID [2022-02-20 16:51:13,873 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:51:13,873 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 16:51:13,873 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 16:51:13,873 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1470578521] [2022-02-20 16:51:13,873 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1470578521] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:51:13,873 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:51:13,874 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-02-20 16:51:13,874 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2051400757] [2022-02-20 16:51:13,875 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:51:13,879 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 6 states have internal predecessors, (16), 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 16 [2022-02-20 16:51:13,880 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:51:13,880 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 6 states have internal predecessors, (16), 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:51:13,898 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 16 edges. 16 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:51:13,898 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 16:51:13,898 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 16:51:13,899 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 16:51:13,899 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=20, Unknown=0, NotChecked=0, Total=30 [2022-02-20 16:51:13,899 INFO L87 Difference]: Start difference. First operand 48 states and 63 transitions. Second operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 6 states have internal predecessors, (16), 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:51:15,928 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:51:15,928 INFO L93 Difference]: Finished difference Result 78 states and 100 transitions. [2022-02-20 16:51:15,928 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-02-20 16:51:15,928 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 6 states have internal predecessors, (16), 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 16 [2022-02-20 16:51:15,928 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:51:15,928 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 6 states have internal predecessors, (16), 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:51:15,929 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 68 transitions. [2022-02-20 16:51:15,929 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 6 states have internal predecessors, (16), 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:51:15,930 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 68 transitions. [2022-02-20 16:51:15,930 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 68 transitions. [2022-02-20 16:51:16,023 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:51:16,025 INFO L225 Difference]: With dead ends: 78 [2022-02-20 16:51:16,025 INFO L226 Difference]: Without dead ends: 76 [2022-02-20 16:51:16,025 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 11 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=34, Invalid=56, Unknown=0, NotChecked=0, Total=90 [2022-02-20 16:51:16,026 INFO L933 BasicCegarLoop]: 32 mSDtfsCounter, 56 mSDsluCounter, 60 mSDsCounter, 0 mSdLazyCounter, 88 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 56 SdHoareTripleChecker+Valid, 92 SdHoareTripleChecker+Invalid, 98 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 88 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-02-20 16:51:16,026 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [56 Valid, 92 Invalid, 98 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 88 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-02-20 16:51:16,026 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 76 states. [2022-02-20 16:51:16,030 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 76 to 48. [2022-02-20 16:51:16,031 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:51:16,032 INFO L82 GeneralOperation]: Start isEquivalent. First operand 76 states. Second operand has 48 states, 47 states have (on average 1.3404255319148937) internal successors, (63), 47 states have internal predecessors, (63), 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:51:16,032 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand has 48 states, 47 states have (on average 1.3404255319148937) internal successors, (63), 47 states have internal predecessors, (63), 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:51:16,033 INFO L87 Difference]: Start difference. First operand 76 states. Second operand has 48 states, 47 states have (on average 1.3404255319148937) internal successors, (63), 47 states have internal predecessors, (63), 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:51:16,035 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:51:16,035 INFO L93 Difference]: Finished difference Result 76 states and 98 transitions. [2022-02-20 16:51:16,035 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 98 transitions. [2022-02-20 16:51:16,035 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:51:16,036 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:51:16,036 INFO L74 IsIncluded]: Start isIncluded. First operand has 48 states, 47 states have (on average 1.3404255319148937) internal successors, (63), 47 states have internal predecessors, (63), 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 76 states. [2022-02-20 16:51:16,036 INFO L87 Difference]: Start difference. First operand has 48 states, 47 states have (on average 1.3404255319148937) internal successors, (63), 47 states have internal predecessors, (63), 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 76 states. [2022-02-20 16:51:16,039 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:51:16,039 INFO L93 Difference]: Finished difference Result 76 states and 98 transitions. [2022-02-20 16:51:16,039 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 98 transitions. [2022-02-20 16:51:16,040 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:51:16,040 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:51:16,040 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:51:16,040 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:51:16,040 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 48 states, 47 states have (on average 1.3404255319148937) internal successors, (63), 47 states have internal predecessors, (63), 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:51:16,042 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 63 transitions. [2022-02-20 16:51:16,042 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 63 transitions. Word has length 16 [2022-02-20 16:51:16,043 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:51:16,043 INFO L470 AbstractCegarLoop]: Abstraction has 48 states and 63 transitions. [2022-02-20 16:51:16,043 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 6 states have internal predecessors, (16), 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:51:16,043 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 63 transitions. [2022-02-20 16:51:16,043 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-02-20 16:51:16,044 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:51:16,044 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:51:16,066 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:51:16,254 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:51:16,256 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:51:16,256 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:51:16,256 INFO L85 PathProgramCache]: Analyzing trace with hash -871782213, now seen corresponding path program 1 times [2022-02-20 16:51:16,257 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 16:51:16,257 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1111601134] [2022-02-20 16:51:16,257 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:51:16,257 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 16:51:16,257 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 16:51:16,258 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:51:16,259 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:51:16,448 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:51:16,457 INFO L263 TraceCheckSpWp]: Trace formula consists of 192 conjuncts, 79 conjunts are in the unsatisfiable core [2022-02-20 16:51:16,475 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:51:16,478 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:51:16,489 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:51:16,524 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:51:16,528 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 31 treesize of output 17 [2022-02-20 16:51:16,561 INFO L356 Elim1Store]: treesize reduction 27, result has 41.3 percent of original size [2022-02-20 16:51:16,562 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 29 treesize of output 36 [2022-02-20 16:51:16,571 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 43 treesize of output 23 [2022-02-20 16:51:16,731 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:51:16,733 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:51:16,735 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:51:16,736 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 4 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 53 treesize of output 49 [2022-02-20 16:51:16,743 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:51:16,753 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:51:16,755 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:51:16,756 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:51:16,767 INFO L356 Elim1Store]: treesize reduction 17, result has 29.2 percent of original size [2022-02-20 16:51:16,768 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 4 new quantified variables, introduced 2 case distinctions, treesize of input 81 treesize of output 62 [2022-02-20 16:51:16,783 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:51:16,784 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:51:16,786 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 44 [2022-02-20 16:51:16,794 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:51:16,811 INFO L356 Elim1Store]: treesize reduction 31, result has 13.9 percent of original size [2022-02-20 16:51:16,812 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 4 new quantified variables, introduced 3 case distinctions, treesize of input 68 treesize of output 66 [2022-02-20 16:51:16,864 INFO L356 Elim1Store]: treesize reduction 48, result has 43.5 percent of original size [2022-02-20 16:51:16,865 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 4 case distinctions, treesize of input 31 treesize of output 54 [2022-02-20 16:51:16,888 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 5 treesize of output 3 [2022-02-20 16:51:16,896 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 5 treesize of output 3 [2022-02-20 16:51:17,041 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:51:17,042 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 16:51:17,042 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1111601134] [2022-02-20 16:51:17,042 WARN L325 FreeRefinementEngine]: Global settings require throwing the following exception [2022-02-20 16:51:17,055 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:51:17,252 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:51:17,253 FATAL L? ?]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction has thrown an exception: java.lang.AssertionError: var is still there: |v_#memory_$Pointer$.base_55| at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.arrays.Elim1Store.elim1(Elim1Store.java:285) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.arrays.ElimStorePlain.applyComplexEliminationRules(ElimStorePlain.java:427) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.DualJunctionSaa.tryToEliminate(DualJunctionSaa.java:184) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.DualJunctionSaa.tryToEliminateOne3(DualJunctionSaa.java:166) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.DualJunctionSaa.tryToEliminateOne2(DualJunctionSaa.java:154) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.DualJunctionSaa.tryToEliminateOne1(DualJunctionSaa.java:142) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.DualJunctionSaa.tryToEliminateOne0(DualJunctionSaa.java:126) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.DualJunctionSaa.tryToEliminateOne(DualJunctionSaa.java:110) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.DualJunctionSaa.tryExhaustivelyToEliminate(DualJunctionSaa.java:95) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.DualJunctionSaa.tryToEliminate(DualJunctionSaa.java:90) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.tryToEliminateOne(QuantifierPusher.java:904) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.applyNewEliminationTechniquesExhaustively(QuantifierPusher.java:865) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.applyDualJunctionEliminationTechniques(QuantifierPusher.java:783) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.tryToPushOverDualFiniteConnective2(QuantifierPusher.java:425) 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$ApplicationTermTask.doStep(TermContextTransformationEngine.java:169) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.TermContextTransformationEngine.transform(TermContextTransformationEngine.java:77) 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.computeStrongestPostconditionSequence(IterativePredicateTransformer.java:199) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.TraceCheckSpWp.computeInterpolantsUsingUnsatCore(TraceCheckSpWp.java:299) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.TraceCheckSpWp.computeInterpolants(TraceCheckSpWp.java:185) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.TraceCheckSpWp.(TraceCheckSpWp.java:163) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleSpWp.construct(IpTcStrategyModuleSpWp.java:108) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleSpWp.construct(IpTcStrategyModuleSpWp.java:1) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleBase.getOrConstruct(IpTcStrategyModuleBase.java:100) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleBase.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:51:17,257 INFO L158 Benchmark]: Toolchain (without parser) took 18008.47ms. Allocated memory was 58.7MB in the beginning and 94.4MB in the end (delta: 35.7MB). Free memory was 35.6MB in the beginning and 34.8MB in the end (delta: 854.5kB). Peak memory consumption was 37.5MB. Max. memory is 16.1GB. [2022-02-20 16:51:17,257 INFO L158 Benchmark]: CDTParser took 0.26ms. Allocated memory is still 58.7MB. Free memory was 39.7MB in the beginning and 39.6MB in the end (delta: 46.9kB). There was no memory consumed. Max. memory is 16.1GB. [2022-02-20 16:51:17,258 INFO L158 Benchmark]: CACSL2BoogieTranslator took 338.17ms. Allocated memory is still 58.7MB. Free memory was 35.5MB in the beginning and 33.6MB in the end (delta: 1.9MB). Peak memory consumption was 12.6MB. Max. memory is 16.1GB. [2022-02-20 16:51:17,258 INFO L158 Benchmark]: Boogie Procedure Inliner took 44.64ms. Allocated memory is still 58.7MB. Free memory was 33.4MB in the beginning and 31.0MB in the end (delta: 2.4MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2022-02-20 16:51:17,258 INFO L158 Benchmark]: Boogie Preprocessor took 43.21ms. Allocated memory is still 58.7MB. Free memory was 30.8MB in the beginning and 28.4MB in the end (delta: 2.4MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2022-02-20 16:51:17,258 INFO L158 Benchmark]: RCFGBuilder took 707.44ms. Allocated memory was 58.7MB in the beginning and 77.6MB in the end (delta: 18.9MB). Free memory was 28.4MB in the beginning and 39.7MB in the end (delta: -11.3MB). Peak memory consumption was 7.0MB. Max. memory is 16.1GB. [2022-02-20 16:51:17,259 INFO L158 Benchmark]: TraceAbstraction took 16863.97ms. Allocated memory was 77.6MB in the beginning and 94.4MB in the end (delta: 16.8MB). Free memory was 39.1MB in the beginning and 34.8MB in the end (delta: 4.3MB). Peak memory consumption was 24.2MB. Max. memory is 16.1GB. [2022-02-20 16:51:17,261 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.26ms. Allocated memory is still 58.7MB. Free memory was 39.7MB in the beginning and 39.6MB in the end (delta: 46.9kB). There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 338.17ms. Allocated memory is still 58.7MB. Free memory was 35.5MB in the beginning and 33.6MB in the end (delta: 1.9MB). Peak memory consumption was 12.6MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 44.64ms. Allocated memory is still 58.7MB. Free memory was 33.4MB in the beginning and 31.0MB in the end (delta: 2.4MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * Boogie Preprocessor took 43.21ms. Allocated memory is still 58.7MB. Free memory was 30.8MB in the beginning and 28.4MB in the end (delta: 2.4MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * RCFGBuilder took 707.44ms. Allocated memory was 58.7MB in the beginning and 77.6MB in the end (delta: 18.9MB). Free memory was 28.4MB in the beginning and 39.7MB in the end (delta: -11.3MB). Peak memory consumption was 7.0MB. Max. memory is 16.1GB. * TraceAbstraction took 16863.97ms. Allocated memory was 77.6MB in the beginning and 94.4MB in the end (delta: 16.8MB). Free memory was 39.1MB in the beginning and 34.8MB in the end (delta: 4.3MB). Peak memory consumption was 24.2MB. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - ExceptionOrErrorResult: AssertionError: var is still there: |v_#memory_$Pointer$.base_55| de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: AssertionError: var is still there: |v_#memory_$Pointer$.base_55|: de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.arrays.Elim1Store.elim1(Elim1Store.java:285) RESULT: Ultimate could not prove your program: Toolchain returned no result. [2022-02-20 16:51:17,286 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forceful destruction successful, exit code 0 Received shutdown request... --- End real Ultimate output --- Execution finished normally Writing output log to file Ultimate.log Result: ERROR: ExceptionOrErrorResult: AssertionError: var is still there: |v_#memory_$Pointer$.base_55|