./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/ldv-regression/test27-2.c --full-output -ea --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 8bd4bc60 Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx12G -Xms1G -ea -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.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/ldv-regression/test27-2.c -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(__VERIFIER_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash dfe25ce750efb74d780ec4e5d4c6de923e91c57e ..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... Execution finished normally Writing output log to file Ultimate.log Writing human readable error path to file UltimateCounterExample.errorpath Result: FALSE --- Real Ultimate output --- This is Ultimate 0.1.25-8bd4bc6 [2020-07-28 17:58:54,949 INFO L177 SettingsManager]: Resetting all preferences to default values... [2020-07-28 17:58:54,952 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2020-07-28 17:58:54,971 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2020-07-28 17:58:54,971 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2020-07-28 17:58:54,974 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2020-07-28 17:58:54,976 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2020-07-28 17:58:54,984 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2020-07-28 17:58:54,989 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2020-07-28 17:58:54,990 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2020-07-28 17:58:54,994 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2020-07-28 17:58:54,995 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2020-07-28 17:58:54,996 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2020-07-28 17:58:54,997 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2020-07-28 17:58:55,000 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2020-07-28 17:58:55,001 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2020-07-28 17:58:55,002 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2020-07-28 17:58:55,003 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2020-07-28 17:58:55,005 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2020-07-28 17:58:55,007 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2020-07-28 17:58:55,008 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2020-07-28 17:58:55,009 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2020-07-28 17:58:55,010 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2020-07-28 17:58:55,011 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2020-07-28 17:58:55,014 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2020-07-28 17:58:55,014 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2020-07-28 17:58:55,014 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2020-07-28 17:58:55,015 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2020-07-28 17:58:55,016 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2020-07-28 17:58:55,017 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2020-07-28 17:58:55,017 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2020-07-28 17:58:55,018 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2020-07-28 17:58:55,019 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2020-07-28 17:58:55,020 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2020-07-28 17:58:55,021 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2020-07-28 17:58:55,021 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2020-07-28 17:58:55,022 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2020-07-28 17:58:55,022 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2020-07-28 17:58:55,022 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2020-07-28 17:58:55,023 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2020-07-28 17:58:55,024 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2020-07-28 17:58:55,025 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2020-07-28 17:58:55,039 INFO L113 SettingsManager]: Loading preferences was successful [2020-07-28 17:58:55,040 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2020-07-28 17:58:55,041 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2020-07-28 17:58:55,041 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2020-07-28 17:58:55,042 INFO L138 SettingsManager]: * Use SBE=true [2020-07-28 17:58:55,042 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2020-07-28 17:58:55,042 INFO L138 SettingsManager]: * sizeof long=4 [2020-07-28 17:58:55,042 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2020-07-28 17:58:55,042 INFO L138 SettingsManager]: * sizeof POINTER=4 [2020-07-28 17:58:55,043 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2020-07-28 17:58:55,043 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2020-07-28 17:58:55,043 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2020-07-28 17:58:55,043 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2020-07-28 17:58:55,044 INFO L138 SettingsManager]: * sizeof long double=12 [2020-07-28 17:58:55,044 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2020-07-28 17:58:55,044 INFO L138 SettingsManager]: * Use constant arrays=true [2020-07-28 17:58:55,044 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2020-07-28 17:58:55,044 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2020-07-28 17:58:55,045 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2020-07-28 17:58:55,045 INFO L138 SettingsManager]: * To the following directory=./dump/ [2020-07-28 17:58:55,045 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2020-07-28 17:58:55,045 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-28 17:58:55,046 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2020-07-28 17:58:55,046 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2020-07-28 17:58:55,046 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2020-07-28 17:58:55,046 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2020-07-28 17:58:55,046 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2020-07-28 17:58:55,047 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2020-07-28 17:58:55,047 INFO L138 SettingsManager]: * Trace refinement exception blacklist=NONE [2020-07-28 17:58:55,047 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode 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(__VERIFIER_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 -> dfe25ce750efb74d780ec4e5d4c6de923e91c57e [2020-07-28 17:58:55,362 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2020-07-28 17:58:55,375 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2020-07-28 17:58:55,379 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2020-07-28 17:58:55,381 INFO L271 PluginConnector]: Initializing CDTParser... [2020-07-28 17:58:55,381 INFO L275 PluginConnector]: CDTParser initialized [2020-07-28 17:58:55,382 INFO L429 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/ldv-regression/test27-2.c [2020-07-28 17:58:55,457 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f6687df3f/a375ef4ab13544ef9e535175601204c3/FLAGb8bffc2ce [2020-07-28 17:58:55,975 INFO L306 CDTParser]: Found 1 translation units. [2020-07-28 17:58:55,976 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/ldv-regression/test27-2.c [2020-07-28 17:58:55,986 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f6687df3f/a375ef4ab13544ef9e535175601204c3/FLAGb8bffc2ce [2020-07-28 17:58:56,327 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f6687df3f/a375ef4ab13544ef9e535175601204c3 [2020-07-28 17:58:56,331 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2020-07-28 17:58:56,334 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2020-07-28 17:58:56,335 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2020-07-28 17:58:56,335 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2020-07-28 17:58:56,338 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2020-07-28 17:58:56,340 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.07 05:58:56" (1/1) ... [2020-07-28 17:58:56,343 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@5aaca8af and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 05:58:56, skipping insertion in model container [2020-07-28 17:58:56,343 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.07 05:58:56" (1/1) ... [2020-07-28 17:58:56,351 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2020-07-28 17:58:56,376 INFO L178 MainTranslator]: Built tables and reachable declarations [2020-07-28 17:58:56,598 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-28 17:58:56,609 INFO L203 MainTranslator]: Completed pre-run [2020-07-28 17:58:56,692 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-28 17:58:56,709 INFO L208 MainTranslator]: Completed translation [2020-07-28 17:58:56,709 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 05:58:56 WrapperNode [2020-07-28 17:58:56,709 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2020-07-28 17:58:56,710 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2020-07-28 17:58:56,710 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2020-07-28 17:58:56,711 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2020-07-28 17:58:56,720 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 05:58:56" (1/1) ... [2020-07-28 17:58:56,730 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 05:58:56" (1/1) ... [2020-07-28 17:58:56,764 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2020-07-28 17:58:56,765 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2020-07-28 17:58:56,765 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2020-07-28 17:58:56,765 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2020-07-28 17:58:56,775 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 05:58:56" (1/1) ... [2020-07-28 17:58:56,775 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 05:58:56" (1/1) ... [2020-07-28 17:58:56,778 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 05:58:56" (1/1) ... [2020-07-28 17:58:56,778 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 05:58:56" (1/1) ... [2020-07-28 17:58:56,790 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 05:58:56" (1/1) ... [2020-07-28 17:58:56,795 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 05:58:56" (1/1) ... [2020-07-28 17:58:56,797 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 05:58:56" (1/1) ... [2020-07-28 17:58:56,800 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2020-07-28 17:58:56,801 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2020-07-28 17:58:56,801 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2020-07-28 17:58:56,801 INFO L275 PluginConnector]: RCFGBuilder initialized [2020-07-28 17:58:56,802 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 05:58:56" (1/1) ... No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-28 17:58:56,862 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2020-07-28 17:58:56,863 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2020-07-28 17:58:56,863 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2020-07-28 17:58:56,863 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2020-07-28 17:58:56,863 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2020-07-28 17:58:56,864 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2020-07-28 17:58:56,864 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2020-07-28 17:58:56,864 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2020-07-28 17:58:57,433 INFO L290 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2020-07-28 17:58:57,433 INFO L295 CfgBuilder]: Removed 8 assume(true) statements. [2020-07-28 17:58:57,437 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.07 05:58:57 BoogieIcfgContainer [2020-07-28 17:58:57,437 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2020-07-28 17:58:57,439 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2020-07-28 17:58:57,439 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2020-07-28 17:58:57,442 INFO L275 PluginConnector]: TraceAbstraction initialized [2020-07-28 17:58:57,442 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.07 05:58:56" (1/3) ... [2020-07-28 17:58:57,444 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3a54da46 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.07 05:58:57, skipping insertion in model container [2020-07-28 17:58:57,444 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 05:58:56" (2/3) ... [2020-07-28 17:58:57,444 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3a54da46 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.07 05:58:57, skipping insertion in model container [2020-07-28 17:58:57,444 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.07 05:58:57" (3/3) ... [2020-07-28 17:58:57,446 INFO L109 eAbstractionObserver]: Analyzing ICFG test27-2.c [2020-07-28 17:58:57,457 INFO L157 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2020-07-28 17:58:57,466 INFO L169 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2020-07-28 17:58:57,480 INFO L251 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2020-07-28 17:58:57,505 INFO L375 AbstractCegarLoop]: Interprodecural is true [2020-07-28 17:58:57,505 INFO L376 AbstractCegarLoop]: Hoare is true [2020-07-28 17:58:57,505 INFO L377 AbstractCegarLoop]: Compute interpolants for FPandBP [2020-07-28 17:58:57,505 INFO L378 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2020-07-28 17:58:57,506 INFO L379 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2020-07-28 17:58:57,506 INFO L380 AbstractCegarLoop]: Difference is false [2020-07-28 17:58:57,506 INFO L381 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2020-07-28 17:58:57,506 INFO L385 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2020-07-28 17:58:57,519 INFO L276 IsEmpty]: Start isEmpty. Operand 17 states. [2020-07-28 17:58:57,525 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 11 [2020-07-28 17:58:57,525 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 17:58:57,526 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 17:58:57,526 INFO L427 AbstractCegarLoop]: === Iteration 1 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 17:58:57,531 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 17:58:57,531 INFO L82 PathProgramCache]: Analyzing trace with hash -631347226, now seen corresponding path program 1 times [2020-07-28 17:58:57,540 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 17:58:57,540 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1641149058] [2020-07-28 17:58:57,541 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 17:58:57,655 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:58:57,725 INFO L280 TraceCheckUtils]: 0: Hoare triple {20#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {20#true} is VALID [2020-07-28 17:58:57,725 INFO L280 TraceCheckUtils]: 1: Hoare triple {20#true} havoc main_#res;havoc main_#t~nondet4, main_#t~nondet6, main_#t~post5, main_~j~0, main_#t~mem7.base, main_#t~mem7.offset, main_#t~mem8.base, main_#t~mem8.offset, main_#t~mem9.base, main_#t~mem9.offset, main_#t~mem10, main_#t~mem11.base, main_#t~mem11.offset, main_#t~mem12.base, main_#t~mem12.offset, main_#t~mem13, main_#t~pre15, main_#t~mem14, main_#t~ret16, main_~#cont~0.base, main_~#cont~0.offset, main_~#dummy~0.base, main_~#dummy~0.offset, main_~#dummies~0.base, main_~#dummies~0.offset, main_~#a~0.base, main_~#a~0.offset, main_~i~0, main_~pa~0.base, main_~pa~0.offset;call main_~#cont~0.base, main_~#cont~0.offset := #Ultimate.allocOnStack(4);call main_~#dummy~0.base, main_~#dummy~0.offset := #Ultimate.allocOnStack(4);call main_~#dummies~0.base, main_~#dummies~0.offset := #Ultimate.allocOnStack(40);call main_~#a~0.base, main_~#a~0.offset := #Ultimate.allocOnStack(40);havoc main_~i~0;havoc main_~pa~0.base, main_~pa~0.offset;assume -2147483648 <= main_#t~nondet4 && main_#t~nondet4 <= 2147483647;main_~i~0 := main_#t~nondet4;havoc main_#t~nondet4;main_~j~0 := 0; {20#true} is VALID [2020-07-28 17:58:57,726 INFO L280 TraceCheckUtils]: 2: Hoare triple {20#true} assume !(main_~j~0 < 10); {20#true} is VALID [2020-07-28 17:58:57,726 INFO L280 TraceCheckUtils]: 3: Hoare triple {20#true} assume main_~i~0 >= 0 && main_~i~0 < 9;call write~int(main_~i~0, main_~#a~0.base, main_~#a~0.offset + 4 * main_~i~0, 4);call write~$Pointer$(main_~#a~0.base, main_~#a~0.offset + 4 * main_~i~0, main_~#dummy~0.base, main_~#dummy~0.offset, 4);call write~$Pointer$(main_~#dummy~0.base, main_~#dummy~0.offset, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * (1 + main_~i~0), 4);call write~$Pointer$(main_~#dummies~0.base, main_~#dummies~0.offset, main_~#cont~0.base, main_~#cont~0.offset, 4);call main_#t~mem7.base, main_#t~mem7.offset := read~$Pointer$(main_~#cont~0.base, main_~#cont~0.offset, 4);call main_#t~mem8.base, main_#t~mem8.offset := read~$Pointer$(main_#t~mem7.base, main_#t~mem7.offset + 4 * main_~i~0, 4);call main_#t~mem9.base, main_#t~mem9.offset := read~$Pointer$(main_#t~mem8.base, main_#t~mem8.offset, 4);main_~pa~0.base, main_~pa~0.offset := main_#t~mem9.base, main_#t~mem9.offset + 4 * main_~i~0;havoc main_#t~mem7.base, main_#t~mem7.offset;havoc main_#t~mem8.base, main_#t~mem8.offset;havoc main_#t~mem9.base, main_#t~mem9.offset;call main_#t~mem10 := read~int(main_~#a~0.base, main_~#a~0.offset + 4 * main_~i~0, 4); {20#true} is VALID [2020-07-28 17:58:57,726 INFO L280 TraceCheckUtils]: 4: Hoare triple {20#true} assume main_#t~mem10 > 0;havoc main_#t~mem10;call main_#t~mem11.base, main_#t~mem11.offset := read~$Pointer$(main_~#dummies~0.base, main_~#dummies~0.offset + 4 * (1 + main_~i~0), 4);call main_#t~mem12.base, main_#t~mem12.offset := read~$Pointer$(main_#t~mem11.base, main_#t~mem11.offset, 4);call main_#t~mem13 := read~int(main_#t~mem12.base, main_#t~mem12.offset + 4 * main_~i~0, 4);main_~i~0 := main_#t~mem13 - 10;havoc main_#t~mem12.base, main_#t~mem12.offset;havoc main_#t~mem11.base, main_#t~mem11.offset;havoc main_#t~mem13; {20#true} is VALID [2020-07-28 17:58:57,727 INFO L280 TraceCheckUtils]: 5: Hoare triple {20#true} assume !true; {21#false} is VALID [2020-07-28 17:58:57,728 INFO L280 TraceCheckUtils]: 6: Hoare triple {21#false} check_#in~pc.base, check_#in~pc.offset, check_#in~i := main_~#cont~0.base, main_~#cont~0.offset, main_~i~0;havoc check_#res;havoc check_#t~mem0.base, check_#t~mem0.offset, check_#t~mem1.base, check_#t~mem1.offset, check_#t~mem2.base, check_#t~mem2.offset, check_#t~mem3, check_~pc.base, check_~pc.offset, check_~i;check_~pc.base, check_~pc.offset := check_#in~pc.base, check_#in~pc.offset;check_~i := check_#in~i;call check_#t~mem0.base, check_#t~mem0.offset := read~$Pointer$(check_~pc.base, check_~pc.offset, 4);call check_#t~mem1.base, check_#t~mem1.offset := read~$Pointer$(check_#t~mem0.base, check_#t~mem0.offset + 4 * check_~i, 4);call check_#t~mem2.base, check_#t~mem2.offset := read~$Pointer$(check_#t~mem1.base, check_#t~mem1.offset, 4);call check_#t~mem3 := read~int(check_#t~mem2.base, check_#t~mem2.offset + 4 * check_~i, 4);check_#res := (if check_#t~mem3 == check_~i then 1 else 0);havoc check_#t~mem2.base, check_#t~mem2.offset;havoc check_#t~mem1.base, check_#t~mem1.offset;havoc check_#t~mem3;havoc check_#t~mem0.base, check_#t~mem0.offset; {21#false} is VALID [2020-07-28 17:58:57,728 INFO L280 TraceCheckUtils]: 7: Hoare triple {21#false} main_#t~ret16 := check_#res;assume -2147483648 <= main_#t~ret16 && main_#t~ret16 <= 2147483647; {21#false} is VALID [2020-07-28 17:58:57,728 INFO L280 TraceCheckUtils]: 8: Hoare triple {21#false} assume 0 == main_#t~ret16;havoc main_#t~ret16; {21#false} is VALID [2020-07-28 17:58:57,729 INFO L280 TraceCheckUtils]: 9: Hoare triple {21#false} assume !false; {21#false} is VALID [2020-07-28 17:58:57,731 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 17:58:57,732 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1641149058] [2020-07-28 17:58:57,733 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-28 17:58:57,733 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2020-07-28 17:58:57,734 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [618886735] [2020-07-28 17:58:57,740 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 10 [2020-07-28 17:58:57,742 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 17:58:57,746 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states. [2020-07-28 17:58:57,779 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 17:58:57,780 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2020-07-28 17:58:57,780 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-28 17:58:57,788 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2020-07-28 17:58:57,789 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2020-07-28 17:58:57,791 INFO L87 Difference]: Start difference. First operand 17 states. Second operand 2 states. [2020-07-28 17:58:57,853 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:58:57,853 INFO L93 Difference]: Finished difference Result 30 states and 40 transitions. [2020-07-28 17:58:57,853 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2020-07-28 17:58:57,854 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 10 [2020-07-28 17:58:57,854 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 17:58:57,855 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2020-07-28 17:58:57,863 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 40 transitions. [2020-07-28 17:58:57,863 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2020-07-28 17:58:57,868 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 40 transitions. [2020-07-28 17:58:57,868 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 40 transitions. [2020-07-28 17:58:57,963 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 17:58:57,978 INFO L225 Difference]: With dead ends: 30 [2020-07-28 17:58:57,979 INFO L226 Difference]: Without dead ends: 13 [2020-07-28 17:58:57,985 INFO L675 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 [2020-07-28 17:58:58,005 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 13 states. [2020-07-28 17:58:58,022 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 13 to 13. [2020-07-28 17:58:58,023 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 17:58:58,024 INFO L82 GeneralOperation]: Start isEquivalent. First operand 13 states. Second operand 13 states. [2020-07-28 17:58:58,024 INFO L74 IsIncluded]: Start isIncluded. First operand 13 states. Second operand 13 states. [2020-07-28 17:58:58,024 INFO L87 Difference]: Start difference. First operand 13 states. Second operand 13 states. [2020-07-28 17:58:58,027 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:58:58,027 INFO L93 Difference]: Finished difference Result 13 states and 14 transitions. [2020-07-28 17:58:58,029 INFO L276 IsEmpty]: Start isEmpty. Operand 13 states and 14 transitions. [2020-07-28 17:58:58,029 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:58:58,029 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:58:58,029 INFO L74 IsIncluded]: Start isIncluded. First operand 13 states. Second operand 13 states. [2020-07-28 17:58:58,030 INFO L87 Difference]: Start difference. First operand 13 states. Second operand 13 states. [2020-07-28 17:58:58,034 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:58:58,034 INFO L93 Difference]: Finished difference Result 13 states and 14 transitions. [2020-07-28 17:58:58,034 INFO L276 IsEmpty]: Start isEmpty. Operand 13 states and 14 transitions. [2020-07-28 17:58:58,035 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:58:58,035 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:58:58,035 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 17:58:58,035 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 17:58:58,036 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2020-07-28 17:58:58,042 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 14 transitions. [2020-07-28 17:58:58,046 INFO L78 Accepts]: Start accepts. Automaton has 13 states and 14 transitions. Word has length 10 [2020-07-28 17:58:58,046 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 17:58:58,046 INFO L479 AbstractCegarLoop]: Abstraction has 13 states and 14 transitions. [2020-07-28 17:58:58,046 INFO L480 AbstractCegarLoop]: Interpolant automaton has 2 states. [2020-07-28 17:58:58,047 INFO L276 IsEmpty]: Start isEmpty. Operand 13 states and 14 transitions. [2020-07-28 17:58:58,047 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2020-07-28 17:58:58,048 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 17:58:58,048 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 17:58:58,049 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2020-07-28 17:58:58,049 INFO L427 AbstractCegarLoop]: === Iteration 2 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 17:58:58,050 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 17:58:58,051 INFO L82 PathProgramCache]: Analyzing trace with hash 1697064536, now seen corresponding path program 1 times [2020-07-28 17:58:58,051 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 17:58:58,051 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1319419188] [2020-07-28 17:58:58,053 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 17:58:58,123 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:58:58,193 INFO L280 TraceCheckUtils]: 0: Hoare triple {106#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {106#true} is VALID [2020-07-28 17:58:58,195 INFO L280 TraceCheckUtils]: 1: Hoare triple {106#true} havoc main_#res;havoc main_#t~nondet4, main_#t~nondet6, main_#t~post5, main_~j~0, main_#t~mem7.base, main_#t~mem7.offset, main_#t~mem8.base, main_#t~mem8.offset, main_#t~mem9.base, main_#t~mem9.offset, main_#t~mem10, main_#t~mem11.base, main_#t~mem11.offset, main_#t~mem12.base, main_#t~mem12.offset, main_#t~mem13, main_#t~pre15, main_#t~mem14, main_#t~ret16, main_~#cont~0.base, main_~#cont~0.offset, main_~#dummy~0.base, main_~#dummy~0.offset, main_~#dummies~0.base, main_~#dummies~0.offset, main_~#a~0.base, main_~#a~0.offset, main_~i~0, main_~pa~0.base, main_~pa~0.offset;call main_~#cont~0.base, main_~#cont~0.offset := #Ultimate.allocOnStack(4);call main_~#dummy~0.base, main_~#dummy~0.offset := #Ultimate.allocOnStack(4);call main_~#dummies~0.base, main_~#dummies~0.offset := #Ultimate.allocOnStack(40);call main_~#a~0.base, main_~#a~0.offset := #Ultimate.allocOnStack(40);havoc main_~i~0;havoc main_~pa~0.base, main_~pa~0.offset;assume -2147483648 <= main_#t~nondet4 && main_#t~nondet4 <= 2147483647;main_~i~0 := main_#t~nondet4;havoc main_#t~nondet4;main_~j~0 := 0; {108#(= 0 ULTIMATE.start_main_~j~0)} is VALID [2020-07-28 17:58:58,196 INFO L280 TraceCheckUtils]: 2: Hoare triple {108#(= 0 ULTIMATE.start_main_~j~0)} assume !(main_~j~0 < 10); {107#false} is VALID [2020-07-28 17:58:58,196 INFO L280 TraceCheckUtils]: 3: Hoare triple {107#false} assume main_~i~0 >= 0 && main_~i~0 < 9;call write~int(main_~i~0, main_~#a~0.base, main_~#a~0.offset + 4 * main_~i~0, 4);call write~$Pointer$(main_~#a~0.base, main_~#a~0.offset + 4 * main_~i~0, main_~#dummy~0.base, main_~#dummy~0.offset, 4);call write~$Pointer$(main_~#dummy~0.base, main_~#dummy~0.offset, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * (1 + main_~i~0), 4);call write~$Pointer$(main_~#dummies~0.base, main_~#dummies~0.offset, main_~#cont~0.base, main_~#cont~0.offset, 4);call main_#t~mem7.base, main_#t~mem7.offset := read~$Pointer$(main_~#cont~0.base, main_~#cont~0.offset, 4);call main_#t~mem8.base, main_#t~mem8.offset := read~$Pointer$(main_#t~mem7.base, main_#t~mem7.offset + 4 * main_~i~0, 4);call main_#t~mem9.base, main_#t~mem9.offset := read~$Pointer$(main_#t~mem8.base, main_#t~mem8.offset, 4);main_~pa~0.base, main_~pa~0.offset := main_#t~mem9.base, main_#t~mem9.offset + 4 * main_~i~0;havoc main_#t~mem7.base, main_#t~mem7.offset;havoc main_#t~mem8.base, main_#t~mem8.offset;havoc main_#t~mem9.base, main_#t~mem9.offset;call main_#t~mem10 := read~int(main_~#a~0.base, main_~#a~0.offset + 4 * main_~i~0, 4); {107#false} is VALID [2020-07-28 17:58:58,196 INFO L280 TraceCheckUtils]: 4: Hoare triple {107#false} assume main_#t~mem10 > 0;havoc main_#t~mem10;call main_#t~mem11.base, main_#t~mem11.offset := read~$Pointer$(main_~#dummies~0.base, main_~#dummies~0.offset + 4 * (1 + main_~i~0), 4);call main_#t~mem12.base, main_#t~mem12.offset := read~$Pointer$(main_#t~mem11.base, main_#t~mem11.offset, 4);call main_#t~mem13 := read~int(main_#t~mem12.base, main_#t~mem12.offset + 4 * main_~i~0, 4);main_~i~0 := main_#t~mem13 - 10;havoc main_#t~mem12.base, main_#t~mem12.offset;havoc main_#t~mem11.base, main_#t~mem11.offset;havoc main_#t~mem13; {107#false} is VALID [2020-07-28 17:58:58,197 INFO L280 TraceCheckUtils]: 5: Hoare triple {107#false} call main_#t~mem14 := read~int(main_~pa~0.base, main_~pa~0.offset, 4); {107#false} is VALID [2020-07-28 17:58:58,197 INFO L280 TraceCheckUtils]: 6: Hoare triple {107#false} assume !(main_~i~0 < main_#t~mem14);havoc main_#t~mem14; {107#false} is VALID [2020-07-28 17:58:58,198 INFO L280 TraceCheckUtils]: 7: Hoare triple {107#false} check_#in~pc.base, check_#in~pc.offset, check_#in~i := main_~#cont~0.base, main_~#cont~0.offset, main_~i~0;havoc check_#res;havoc check_#t~mem0.base, check_#t~mem0.offset, check_#t~mem1.base, check_#t~mem1.offset, check_#t~mem2.base, check_#t~mem2.offset, check_#t~mem3, check_~pc.base, check_~pc.offset, check_~i;check_~pc.base, check_~pc.offset := check_#in~pc.base, check_#in~pc.offset;check_~i := check_#in~i;call check_#t~mem0.base, check_#t~mem0.offset := read~$Pointer$(check_~pc.base, check_~pc.offset, 4);call check_#t~mem1.base, check_#t~mem1.offset := read~$Pointer$(check_#t~mem0.base, check_#t~mem0.offset + 4 * check_~i, 4);call check_#t~mem2.base, check_#t~mem2.offset := read~$Pointer$(check_#t~mem1.base, check_#t~mem1.offset, 4);call check_#t~mem3 := read~int(check_#t~mem2.base, check_#t~mem2.offset + 4 * check_~i, 4);check_#res := (if check_#t~mem3 == check_~i then 1 else 0);havoc check_#t~mem2.base, check_#t~mem2.offset;havoc check_#t~mem1.base, check_#t~mem1.offset;havoc check_#t~mem3;havoc check_#t~mem0.base, check_#t~mem0.offset; {107#false} is VALID [2020-07-28 17:58:58,198 INFO L280 TraceCheckUtils]: 8: Hoare triple {107#false} main_#t~ret16 := check_#res;assume -2147483648 <= main_#t~ret16 && main_#t~ret16 <= 2147483647; {107#false} is VALID [2020-07-28 17:58:58,199 INFO L280 TraceCheckUtils]: 9: Hoare triple {107#false} assume 0 == main_#t~ret16;havoc main_#t~ret16; {107#false} is VALID [2020-07-28 17:58:58,199 INFO L280 TraceCheckUtils]: 10: Hoare triple {107#false} assume !false; {107#false} is VALID [2020-07-28 17:58:58,200 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 17:58:58,200 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1319419188] [2020-07-28 17:58:58,201 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-28 17:58:58,201 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2020-07-28 17:58:58,201 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1775164945] [2020-07-28 17:58:58,203 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 11 [2020-07-28 17:58:58,203 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 17:58:58,204 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2020-07-28 17:58:58,230 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 11 edges. 11 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 17:58:58,230 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2020-07-28 17:58:58,230 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-28 17:58:58,231 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2020-07-28 17:58:58,231 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2020-07-28 17:58:58,232 INFO L87 Difference]: Start difference. First operand 13 states and 14 transitions. Second operand 3 states. [2020-07-28 17:58:58,310 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:58:58,311 INFO L93 Difference]: Finished difference Result 24 states and 26 transitions. [2020-07-28 17:58:58,311 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2020-07-28 17:58:58,311 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 11 [2020-07-28 17:58:58,311 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 17:58:58,312 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2020-07-28 17:58:58,314 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 26 transitions. [2020-07-28 17:58:58,314 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2020-07-28 17:58:58,316 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 26 transitions. [2020-07-28 17:58:58,316 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 26 transitions. [2020-07-28 17:58:58,372 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 26 edges. 26 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 17:58:58,374 INFO L225 Difference]: With dead ends: 24 [2020-07-28 17:58:58,374 INFO L226 Difference]: Without dead ends: 15 [2020-07-28 17:58:58,375 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2020-07-28 17:58:58,376 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 15 states. [2020-07-28 17:58:58,382 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 15 to 14. [2020-07-28 17:58:58,382 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 17:58:58,382 INFO L82 GeneralOperation]: Start isEquivalent. First operand 15 states. Second operand 14 states. [2020-07-28 17:58:58,382 INFO L74 IsIncluded]: Start isIncluded. First operand 15 states. Second operand 14 states. [2020-07-28 17:58:58,383 INFO L87 Difference]: Start difference. First operand 15 states. Second operand 14 states. [2020-07-28 17:58:58,384 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:58:58,385 INFO L93 Difference]: Finished difference Result 15 states and 16 transitions. [2020-07-28 17:58:58,385 INFO L276 IsEmpty]: Start isEmpty. Operand 15 states and 16 transitions. [2020-07-28 17:58:58,385 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:58:58,385 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:58:58,386 INFO L74 IsIncluded]: Start isIncluded. First operand 14 states. Second operand 15 states. [2020-07-28 17:58:58,386 INFO L87 Difference]: Start difference. First operand 14 states. Second operand 15 states. [2020-07-28 17:58:58,388 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:58:58,388 INFO L93 Difference]: Finished difference Result 15 states and 16 transitions. [2020-07-28 17:58:58,388 INFO L276 IsEmpty]: Start isEmpty. Operand 15 states and 16 transitions. [2020-07-28 17:58:58,389 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:58:58,389 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:58:58,389 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 17:58:58,390 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 17:58:58,390 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2020-07-28 17:58:58,391 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 15 transitions. [2020-07-28 17:58:58,392 INFO L78 Accepts]: Start accepts. Automaton has 14 states and 15 transitions. Word has length 11 [2020-07-28 17:58:58,392 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 17:58:58,392 INFO L479 AbstractCegarLoop]: Abstraction has 14 states and 15 transitions. [2020-07-28 17:58:58,392 INFO L480 AbstractCegarLoop]: Interpolant automaton has 3 states. [2020-07-28 17:58:58,393 INFO L276 IsEmpty]: Start isEmpty. Operand 14 states and 15 transitions. [2020-07-28 17:58:58,393 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 14 [2020-07-28 17:58:58,393 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 17:58:58,394 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 17:58:58,394 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2020-07-28 17:58:58,394 INFO L427 AbstractCegarLoop]: === Iteration 3 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 17:58:58,395 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 17:58:58,395 INFO L82 PathProgramCache]: Analyzing trace with hash -1434190826, now seen corresponding path program 1 times [2020-07-28 17:58:58,395 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 17:58:58,396 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [382869347] [2020-07-28 17:58:58,396 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 17:58:58,420 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:58:58,469 INFO L280 TraceCheckUtils]: 0: Hoare triple {192#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {192#true} is VALID [2020-07-28 17:58:58,471 INFO L280 TraceCheckUtils]: 1: Hoare triple {192#true} havoc main_#res;havoc main_#t~nondet4, main_#t~nondet6, main_#t~post5, main_~j~0, main_#t~mem7.base, main_#t~mem7.offset, main_#t~mem8.base, main_#t~mem8.offset, main_#t~mem9.base, main_#t~mem9.offset, main_#t~mem10, main_#t~mem11.base, main_#t~mem11.offset, main_#t~mem12.base, main_#t~mem12.offset, main_#t~mem13, main_#t~pre15, main_#t~mem14, main_#t~ret16, main_~#cont~0.base, main_~#cont~0.offset, main_~#dummy~0.base, main_~#dummy~0.offset, main_~#dummies~0.base, main_~#dummies~0.offset, main_~#a~0.base, main_~#a~0.offset, main_~i~0, main_~pa~0.base, main_~pa~0.offset;call main_~#cont~0.base, main_~#cont~0.offset := #Ultimate.allocOnStack(4);call main_~#dummy~0.base, main_~#dummy~0.offset := #Ultimate.allocOnStack(4);call main_~#dummies~0.base, main_~#dummies~0.offset := #Ultimate.allocOnStack(40);call main_~#a~0.base, main_~#a~0.offset := #Ultimate.allocOnStack(40);havoc main_~i~0;havoc main_~pa~0.base, main_~pa~0.offset;assume -2147483648 <= main_#t~nondet4 && main_#t~nondet4 <= 2147483647;main_~i~0 := main_#t~nondet4;havoc main_#t~nondet4;main_~j~0 := 0; {194#(= 0 ULTIMATE.start_main_~j~0)} is VALID [2020-07-28 17:58:58,472 INFO L280 TraceCheckUtils]: 2: Hoare triple {194#(= 0 ULTIMATE.start_main_~j~0)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {194#(= 0 ULTIMATE.start_main_~j~0)} is VALID [2020-07-28 17:58:58,473 INFO L280 TraceCheckUtils]: 3: Hoare triple {194#(= 0 ULTIMATE.start_main_~j~0)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {195#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:58:58,475 INFO L280 TraceCheckUtils]: 4: Hoare triple {195#(<= ULTIMATE.start_main_~j~0 1)} assume !(main_~j~0 < 10); {193#false} is VALID [2020-07-28 17:58:58,475 INFO L280 TraceCheckUtils]: 5: Hoare triple {193#false} assume main_~i~0 >= 0 && main_~i~0 < 9;call write~int(main_~i~0, main_~#a~0.base, main_~#a~0.offset + 4 * main_~i~0, 4);call write~$Pointer$(main_~#a~0.base, main_~#a~0.offset + 4 * main_~i~0, main_~#dummy~0.base, main_~#dummy~0.offset, 4);call write~$Pointer$(main_~#dummy~0.base, main_~#dummy~0.offset, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * (1 + main_~i~0), 4);call write~$Pointer$(main_~#dummies~0.base, main_~#dummies~0.offset, main_~#cont~0.base, main_~#cont~0.offset, 4);call main_#t~mem7.base, main_#t~mem7.offset := read~$Pointer$(main_~#cont~0.base, main_~#cont~0.offset, 4);call main_#t~mem8.base, main_#t~mem8.offset := read~$Pointer$(main_#t~mem7.base, main_#t~mem7.offset + 4 * main_~i~0, 4);call main_#t~mem9.base, main_#t~mem9.offset := read~$Pointer$(main_#t~mem8.base, main_#t~mem8.offset, 4);main_~pa~0.base, main_~pa~0.offset := main_#t~mem9.base, main_#t~mem9.offset + 4 * main_~i~0;havoc main_#t~mem7.base, main_#t~mem7.offset;havoc main_#t~mem8.base, main_#t~mem8.offset;havoc main_#t~mem9.base, main_#t~mem9.offset;call main_#t~mem10 := read~int(main_~#a~0.base, main_~#a~0.offset + 4 * main_~i~0, 4); {193#false} is VALID [2020-07-28 17:58:58,476 INFO L280 TraceCheckUtils]: 6: Hoare triple {193#false} assume main_#t~mem10 > 0;havoc main_#t~mem10;call main_#t~mem11.base, main_#t~mem11.offset := read~$Pointer$(main_~#dummies~0.base, main_~#dummies~0.offset + 4 * (1 + main_~i~0), 4);call main_#t~mem12.base, main_#t~mem12.offset := read~$Pointer$(main_#t~mem11.base, main_#t~mem11.offset, 4);call main_#t~mem13 := read~int(main_#t~mem12.base, main_#t~mem12.offset + 4 * main_~i~0, 4);main_~i~0 := main_#t~mem13 - 10;havoc main_#t~mem12.base, main_#t~mem12.offset;havoc main_#t~mem11.base, main_#t~mem11.offset;havoc main_#t~mem13; {193#false} is VALID [2020-07-28 17:58:58,476 INFO L280 TraceCheckUtils]: 7: Hoare triple {193#false} call main_#t~mem14 := read~int(main_~pa~0.base, main_~pa~0.offset, 4); {193#false} is VALID [2020-07-28 17:58:58,477 INFO L280 TraceCheckUtils]: 8: Hoare triple {193#false} assume !(main_~i~0 < main_#t~mem14);havoc main_#t~mem14; {193#false} is VALID [2020-07-28 17:58:58,477 INFO L280 TraceCheckUtils]: 9: Hoare triple {193#false} check_#in~pc.base, check_#in~pc.offset, check_#in~i := main_~#cont~0.base, main_~#cont~0.offset, main_~i~0;havoc check_#res;havoc check_#t~mem0.base, check_#t~mem0.offset, check_#t~mem1.base, check_#t~mem1.offset, check_#t~mem2.base, check_#t~mem2.offset, check_#t~mem3, check_~pc.base, check_~pc.offset, check_~i;check_~pc.base, check_~pc.offset := check_#in~pc.base, check_#in~pc.offset;check_~i := check_#in~i;call check_#t~mem0.base, check_#t~mem0.offset := read~$Pointer$(check_~pc.base, check_~pc.offset, 4);call check_#t~mem1.base, check_#t~mem1.offset := read~$Pointer$(check_#t~mem0.base, check_#t~mem0.offset + 4 * check_~i, 4);call check_#t~mem2.base, check_#t~mem2.offset := read~$Pointer$(check_#t~mem1.base, check_#t~mem1.offset, 4);call check_#t~mem3 := read~int(check_#t~mem2.base, check_#t~mem2.offset + 4 * check_~i, 4);check_#res := (if check_#t~mem3 == check_~i then 1 else 0);havoc check_#t~mem2.base, check_#t~mem2.offset;havoc check_#t~mem1.base, check_#t~mem1.offset;havoc check_#t~mem3;havoc check_#t~mem0.base, check_#t~mem0.offset; {193#false} is VALID [2020-07-28 17:58:58,478 INFO L280 TraceCheckUtils]: 10: Hoare triple {193#false} main_#t~ret16 := check_#res;assume -2147483648 <= main_#t~ret16 && main_#t~ret16 <= 2147483647; {193#false} is VALID [2020-07-28 17:58:58,478 INFO L280 TraceCheckUtils]: 11: Hoare triple {193#false} assume 0 == main_#t~ret16;havoc main_#t~ret16; {193#false} is VALID [2020-07-28 17:58:58,479 INFO L280 TraceCheckUtils]: 12: Hoare triple {193#false} assume !false; {193#false} is VALID [2020-07-28 17:58:58,480 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 17:58:58,480 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [382869347] [2020-07-28 17:58:58,481 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [543031275] [2020-07-28 17:58:58,481 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-28 17:58:58,548 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:58:58,551 INFO L263 TraceCheckSpWp]: Trace formula consists of 93 conjuncts, 3 conjunts are in the unsatisfiable core [2020-07-28 17:58:58,566 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:58:58,571 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 17:58:58,701 INFO L280 TraceCheckUtils]: 0: Hoare triple {192#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {192#true} is VALID [2020-07-28 17:58:58,704 INFO L280 TraceCheckUtils]: 1: Hoare triple {192#true} havoc main_#res;havoc main_#t~nondet4, main_#t~nondet6, main_#t~post5, main_~j~0, main_#t~mem7.base, main_#t~mem7.offset, main_#t~mem8.base, main_#t~mem8.offset, main_#t~mem9.base, main_#t~mem9.offset, main_#t~mem10, main_#t~mem11.base, main_#t~mem11.offset, main_#t~mem12.base, main_#t~mem12.offset, main_#t~mem13, main_#t~pre15, main_#t~mem14, main_#t~ret16, main_~#cont~0.base, main_~#cont~0.offset, main_~#dummy~0.base, main_~#dummy~0.offset, main_~#dummies~0.base, main_~#dummies~0.offset, main_~#a~0.base, main_~#a~0.offset, main_~i~0, main_~pa~0.base, main_~pa~0.offset;call main_~#cont~0.base, main_~#cont~0.offset := #Ultimate.allocOnStack(4);call main_~#dummy~0.base, main_~#dummy~0.offset := #Ultimate.allocOnStack(4);call main_~#dummies~0.base, main_~#dummies~0.offset := #Ultimate.allocOnStack(40);call main_~#a~0.base, main_~#a~0.offset := #Ultimate.allocOnStack(40);havoc main_~i~0;havoc main_~pa~0.base, main_~pa~0.offset;assume -2147483648 <= main_#t~nondet4 && main_#t~nondet4 <= 2147483647;main_~i~0 := main_#t~nondet4;havoc main_#t~nondet4;main_~j~0 := 0; {202#(<= ULTIMATE.start_main_~j~0 0)} is VALID [2020-07-28 17:58:58,705 INFO L280 TraceCheckUtils]: 2: Hoare triple {202#(<= ULTIMATE.start_main_~j~0 0)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {202#(<= ULTIMATE.start_main_~j~0 0)} is VALID [2020-07-28 17:58:58,706 INFO L280 TraceCheckUtils]: 3: Hoare triple {202#(<= ULTIMATE.start_main_~j~0 0)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {195#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:58:58,707 INFO L280 TraceCheckUtils]: 4: Hoare triple {195#(<= ULTIMATE.start_main_~j~0 1)} assume !(main_~j~0 < 10); {193#false} is VALID [2020-07-28 17:58:58,708 INFO L280 TraceCheckUtils]: 5: Hoare triple {193#false} assume main_~i~0 >= 0 && main_~i~0 < 9;call write~int(main_~i~0, main_~#a~0.base, main_~#a~0.offset + 4 * main_~i~0, 4);call write~$Pointer$(main_~#a~0.base, main_~#a~0.offset + 4 * main_~i~0, main_~#dummy~0.base, main_~#dummy~0.offset, 4);call write~$Pointer$(main_~#dummy~0.base, main_~#dummy~0.offset, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * (1 + main_~i~0), 4);call write~$Pointer$(main_~#dummies~0.base, main_~#dummies~0.offset, main_~#cont~0.base, main_~#cont~0.offset, 4);call main_#t~mem7.base, main_#t~mem7.offset := read~$Pointer$(main_~#cont~0.base, main_~#cont~0.offset, 4);call main_#t~mem8.base, main_#t~mem8.offset := read~$Pointer$(main_#t~mem7.base, main_#t~mem7.offset + 4 * main_~i~0, 4);call main_#t~mem9.base, main_#t~mem9.offset := read~$Pointer$(main_#t~mem8.base, main_#t~mem8.offset, 4);main_~pa~0.base, main_~pa~0.offset := main_#t~mem9.base, main_#t~mem9.offset + 4 * main_~i~0;havoc main_#t~mem7.base, main_#t~mem7.offset;havoc main_#t~mem8.base, main_#t~mem8.offset;havoc main_#t~mem9.base, main_#t~mem9.offset;call main_#t~mem10 := read~int(main_~#a~0.base, main_~#a~0.offset + 4 * main_~i~0, 4); {193#false} is VALID [2020-07-28 17:58:58,708 INFO L280 TraceCheckUtils]: 6: Hoare triple {193#false} assume main_#t~mem10 > 0;havoc main_#t~mem10;call main_#t~mem11.base, main_#t~mem11.offset := read~$Pointer$(main_~#dummies~0.base, main_~#dummies~0.offset + 4 * (1 + main_~i~0), 4);call main_#t~mem12.base, main_#t~mem12.offset := read~$Pointer$(main_#t~mem11.base, main_#t~mem11.offset, 4);call main_#t~mem13 := read~int(main_#t~mem12.base, main_#t~mem12.offset + 4 * main_~i~0, 4);main_~i~0 := main_#t~mem13 - 10;havoc main_#t~mem12.base, main_#t~mem12.offset;havoc main_#t~mem11.base, main_#t~mem11.offset;havoc main_#t~mem13; {193#false} is VALID [2020-07-28 17:58:58,709 INFO L280 TraceCheckUtils]: 7: Hoare triple {193#false} call main_#t~mem14 := read~int(main_~pa~0.base, main_~pa~0.offset, 4); {193#false} is VALID [2020-07-28 17:58:58,709 INFO L280 TraceCheckUtils]: 8: Hoare triple {193#false} assume !(main_~i~0 < main_#t~mem14);havoc main_#t~mem14; {193#false} is VALID [2020-07-28 17:58:58,709 INFO L280 TraceCheckUtils]: 9: Hoare triple {193#false} check_#in~pc.base, check_#in~pc.offset, check_#in~i := main_~#cont~0.base, main_~#cont~0.offset, main_~i~0;havoc check_#res;havoc check_#t~mem0.base, check_#t~mem0.offset, check_#t~mem1.base, check_#t~mem1.offset, check_#t~mem2.base, check_#t~mem2.offset, check_#t~mem3, check_~pc.base, check_~pc.offset, check_~i;check_~pc.base, check_~pc.offset := check_#in~pc.base, check_#in~pc.offset;check_~i := check_#in~i;call check_#t~mem0.base, check_#t~mem0.offset := read~$Pointer$(check_~pc.base, check_~pc.offset, 4);call check_#t~mem1.base, check_#t~mem1.offset := read~$Pointer$(check_#t~mem0.base, check_#t~mem0.offset + 4 * check_~i, 4);call check_#t~mem2.base, check_#t~mem2.offset := read~$Pointer$(check_#t~mem1.base, check_#t~mem1.offset, 4);call check_#t~mem3 := read~int(check_#t~mem2.base, check_#t~mem2.offset + 4 * check_~i, 4);check_#res := (if check_#t~mem3 == check_~i then 1 else 0);havoc check_#t~mem2.base, check_#t~mem2.offset;havoc check_#t~mem1.base, check_#t~mem1.offset;havoc check_#t~mem3;havoc check_#t~mem0.base, check_#t~mem0.offset; {193#false} is VALID [2020-07-28 17:58:58,710 INFO L280 TraceCheckUtils]: 10: Hoare triple {193#false} main_#t~ret16 := check_#res;assume -2147483648 <= main_#t~ret16 && main_#t~ret16 <= 2147483647; {193#false} is VALID [2020-07-28 17:58:58,710 INFO L280 TraceCheckUtils]: 11: Hoare triple {193#false} assume 0 == main_#t~ret16;havoc main_#t~ret16; {193#false} is VALID [2020-07-28 17:58:58,710 INFO L280 TraceCheckUtils]: 12: Hoare triple {193#false} assume !false; {193#false} is VALID [2020-07-28 17:58:58,712 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 17:58:58,712 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-28 17:58:58,713 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4] total 5 [2020-07-28 17:58:58,713 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [470186462] [2020-07-28 17:58:58,714 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 13 [2020-07-28 17:58:58,714 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 17:58:58,715 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2020-07-28 17:58:58,742 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 16 edges. 16 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 17:58:58,743 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2020-07-28 17:58:58,743 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-28 17:58:58,744 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2020-07-28 17:58:58,744 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2020-07-28 17:58:58,744 INFO L87 Difference]: Start difference. First operand 14 states and 15 transitions. Second operand 5 states. [2020-07-28 17:58:58,860 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:58:58,861 INFO L93 Difference]: Finished difference Result 26 states and 28 transitions. [2020-07-28 17:58:58,861 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2020-07-28 17:58:58,861 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 13 [2020-07-28 17:58:58,861 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 17:58:58,861 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-28 17:58:58,863 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 28 transitions. [2020-07-28 17:58:58,863 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-28 17:58:58,865 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 28 transitions. [2020-07-28 17:58:58,865 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 28 transitions. [2020-07-28 17:58:58,912 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 17:58:58,913 INFO L225 Difference]: With dead ends: 26 [2020-07-28 17:58:58,913 INFO L226 Difference]: Without dead ends: 17 [2020-07-28 17:58:58,914 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 13 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2020-07-28 17:58:58,914 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 17 states. [2020-07-28 17:58:58,921 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 17 to 16. [2020-07-28 17:58:58,921 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 17:58:58,922 INFO L82 GeneralOperation]: Start isEquivalent. First operand 17 states. Second operand 16 states. [2020-07-28 17:58:58,922 INFO L74 IsIncluded]: Start isIncluded. First operand 17 states. Second operand 16 states. [2020-07-28 17:58:58,922 INFO L87 Difference]: Start difference. First operand 17 states. Second operand 16 states. [2020-07-28 17:58:58,924 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:58:58,924 INFO L93 Difference]: Finished difference Result 17 states and 18 transitions. [2020-07-28 17:58:58,924 INFO L276 IsEmpty]: Start isEmpty. Operand 17 states and 18 transitions. [2020-07-28 17:58:58,925 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:58:58,925 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:58:58,925 INFO L74 IsIncluded]: Start isIncluded. First operand 16 states. Second operand 17 states. [2020-07-28 17:58:58,926 INFO L87 Difference]: Start difference. First operand 16 states. Second operand 17 states. [2020-07-28 17:58:58,927 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:58:58,928 INFO L93 Difference]: Finished difference Result 17 states and 18 transitions. [2020-07-28 17:58:58,928 INFO L276 IsEmpty]: Start isEmpty. Operand 17 states and 18 transitions. [2020-07-28 17:58:58,929 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:58:58,929 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:58:58,929 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 17:58:58,929 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 17:58:58,930 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2020-07-28 17:58:58,931 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 17 transitions. [2020-07-28 17:58:58,931 INFO L78 Accepts]: Start accepts. Automaton has 16 states and 17 transitions. Word has length 13 [2020-07-28 17:58:58,932 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 17:58:58,932 INFO L479 AbstractCegarLoop]: Abstraction has 16 states and 17 transitions. [2020-07-28 17:58:58,932 INFO L480 AbstractCegarLoop]: Interpolant automaton has 5 states. [2020-07-28 17:58:58,932 INFO L276 IsEmpty]: Start isEmpty. Operand 16 states and 17 transitions. [2020-07-28 17:58:58,933 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2020-07-28 17:58:58,933 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 17:58:58,933 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 17:58:59,145 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2020-07-28 17:58:59,146 INFO L427 AbstractCegarLoop]: === Iteration 4 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 17:58:59,146 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 17:58:59,147 INFO L82 PathProgramCache]: Analyzing trace with hash 201480788, now seen corresponding path program 2 times [2020-07-28 17:58:59,147 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 17:58:59,148 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1931527275] [2020-07-28 17:58:59,148 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 17:58:59,183 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:58:59,240 INFO L280 TraceCheckUtils]: 0: Hoare triple {326#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {326#true} is VALID [2020-07-28 17:58:59,242 INFO L280 TraceCheckUtils]: 1: Hoare triple {326#true} havoc main_#res;havoc main_#t~nondet4, main_#t~nondet6, main_#t~post5, main_~j~0, main_#t~mem7.base, main_#t~mem7.offset, main_#t~mem8.base, main_#t~mem8.offset, main_#t~mem9.base, main_#t~mem9.offset, main_#t~mem10, main_#t~mem11.base, main_#t~mem11.offset, main_#t~mem12.base, main_#t~mem12.offset, main_#t~mem13, main_#t~pre15, main_#t~mem14, main_#t~ret16, main_~#cont~0.base, main_~#cont~0.offset, main_~#dummy~0.base, main_~#dummy~0.offset, main_~#dummies~0.base, main_~#dummies~0.offset, main_~#a~0.base, main_~#a~0.offset, main_~i~0, main_~pa~0.base, main_~pa~0.offset;call main_~#cont~0.base, main_~#cont~0.offset := #Ultimate.allocOnStack(4);call main_~#dummy~0.base, main_~#dummy~0.offset := #Ultimate.allocOnStack(4);call main_~#dummies~0.base, main_~#dummies~0.offset := #Ultimate.allocOnStack(40);call main_~#a~0.base, main_~#a~0.offset := #Ultimate.allocOnStack(40);havoc main_~i~0;havoc main_~pa~0.base, main_~pa~0.offset;assume -2147483648 <= main_#t~nondet4 && main_#t~nondet4 <= 2147483647;main_~i~0 := main_#t~nondet4;havoc main_#t~nondet4;main_~j~0 := 0; {328#(= 0 ULTIMATE.start_main_~j~0)} is VALID [2020-07-28 17:58:59,243 INFO L280 TraceCheckUtils]: 2: Hoare triple {328#(= 0 ULTIMATE.start_main_~j~0)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {328#(= 0 ULTIMATE.start_main_~j~0)} is VALID [2020-07-28 17:58:59,244 INFO L280 TraceCheckUtils]: 3: Hoare triple {328#(= 0 ULTIMATE.start_main_~j~0)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {329#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:58:59,244 INFO L280 TraceCheckUtils]: 4: Hoare triple {329#(<= ULTIMATE.start_main_~j~0 1)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {329#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:58:59,246 INFO L280 TraceCheckUtils]: 5: Hoare triple {329#(<= ULTIMATE.start_main_~j~0 1)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {330#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:58:59,247 INFO L280 TraceCheckUtils]: 6: Hoare triple {330#(<= ULTIMATE.start_main_~j~0 2)} assume !(main_~j~0 < 10); {327#false} is VALID [2020-07-28 17:58:59,247 INFO L280 TraceCheckUtils]: 7: Hoare triple {327#false} assume main_~i~0 >= 0 && main_~i~0 < 9;call write~int(main_~i~0, main_~#a~0.base, main_~#a~0.offset + 4 * main_~i~0, 4);call write~$Pointer$(main_~#a~0.base, main_~#a~0.offset + 4 * main_~i~0, main_~#dummy~0.base, main_~#dummy~0.offset, 4);call write~$Pointer$(main_~#dummy~0.base, main_~#dummy~0.offset, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * (1 + main_~i~0), 4);call write~$Pointer$(main_~#dummies~0.base, main_~#dummies~0.offset, main_~#cont~0.base, main_~#cont~0.offset, 4);call main_#t~mem7.base, main_#t~mem7.offset := read~$Pointer$(main_~#cont~0.base, main_~#cont~0.offset, 4);call main_#t~mem8.base, main_#t~mem8.offset := read~$Pointer$(main_#t~mem7.base, main_#t~mem7.offset + 4 * main_~i~0, 4);call main_#t~mem9.base, main_#t~mem9.offset := read~$Pointer$(main_#t~mem8.base, main_#t~mem8.offset, 4);main_~pa~0.base, main_~pa~0.offset := main_#t~mem9.base, main_#t~mem9.offset + 4 * main_~i~0;havoc main_#t~mem7.base, main_#t~mem7.offset;havoc main_#t~mem8.base, main_#t~mem8.offset;havoc main_#t~mem9.base, main_#t~mem9.offset;call main_#t~mem10 := read~int(main_~#a~0.base, main_~#a~0.offset + 4 * main_~i~0, 4); {327#false} is VALID [2020-07-28 17:58:59,248 INFO L280 TraceCheckUtils]: 8: Hoare triple {327#false} assume main_#t~mem10 > 0;havoc main_#t~mem10;call main_#t~mem11.base, main_#t~mem11.offset := read~$Pointer$(main_~#dummies~0.base, main_~#dummies~0.offset + 4 * (1 + main_~i~0), 4);call main_#t~mem12.base, main_#t~mem12.offset := read~$Pointer$(main_#t~mem11.base, main_#t~mem11.offset, 4);call main_#t~mem13 := read~int(main_#t~mem12.base, main_#t~mem12.offset + 4 * main_~i~0, 4);main_~i~0 := main_#t~mem13 - 10;havoc main_#t~mem12.base, main_#t~mem12.offset;havoc main_#t~mem11.base, main_#t~mem11.offset;havoc main_#t~mem13; {327#false} is VALID [2020-07-28 17:58:59,248 INFO L280 TraceCheckUtils]: 9: Hoare triple {327#false} call main_#t~mem14 := read~int(main_~pa~0.base, main_~pa~0.offset, 4); {327#false} is VALID [2020-07-28 17:58:59,248 INFO L280 TraceCheckUtils]: 10: Hoare triple {327#false} assume !(main_~i~0 < main_#t~mem14);havoc main_#t~mem14; {327#false} is VALID [2020-07-28 17:58:59,248 INFO L280 TraceCheckUtils]: 11: Hoare triple {327#false} check_#in~pc.base, check_#in~pc.offset, check_#in~i := main_~#cont~0.base, main_~#cont~0.offset, main_~i~0;havoc check_#res;havoc check_#t~mem0.base, check_#t~mem0.offset, check_#t~mem1.base, check_#t~mem1.offset, check_#t~mem2.base, check_#t~mem2.offset, check_#t~mem3, check_~pc.base, check_~pc.offset, check_~i;check_~pc.base, check_~pc.offset := check_#in~pc.base, check_#in~pc.offset;check_~i := check_#in~i;call check_#t~mem0.base, check_#t~mem0.offset := read~$Pointer$(check_~pc.base, check_~pc.offset, 4);call check_#t~mem1.base, check_#t~mem1.offset := read~$Pointer$(check_#t~mem0.base, check_#t~mem0.offset + 4 * check_~i, 4);call check_#t~mem2.base, check_#t~mem2.offset := read~$Pointer$(check_#t~mem1.base, check_#t~mem1.offset, 4);call check_#t~mem3 := read~int(check_#t~mem2.base, check_#t~mem2.offset + 4 * check_~i, 4);check_#res := (if check_#t~mem3 == check_~i then 1 else 0);havoc check_#t~mem2.base, check_#t~mem2.offset;havoc check_#t~mem1.base, check_#t~mem1.offset;havoc check_#t~mem3;havoc check_#t~mem0.base, check_#t~mem0.offset; {327#false} is VALID [2020-07-28 17:58:59,249 INFO L280 TraceCheckUtils]: 12: Hoare triple {327#false} main_#t~ret16 := check_#res;assume -2147483648 <= main_#t~ret16 && main_#t~ret16 <= 2147483647; {327#false} is VALID [2020-07-28 17:58:59,250 INFO L280 TraceCheckUtils]: 13: Hoare triple {327#false} assume 0 == main_#t~ret16;havoc main_#t~ret16; {327#false} is VALID [2020-07-28 17:58:59,250 INFO L280 TraceCheckUtils]: 14: Hoare triple {327#false} assume !false; {327#false} is VALID [2020-07-28 17:58:59,251 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 17:58:59,251 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1931527275] [2020-07-28 17:58:59,251 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [751317384] [2020-07-28 17:58:59,252 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-28 17:58:59,333 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2020-07-28 17:58:59,334 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2020-07-28 17:58:59,335 INFO L263 TraceCheckSpWp]: Trace formula consists of 103 conjuncts, 4 conjunts are in the unsatisfiable core [2020-07-28 17:58:59,347 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:58:59,349 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 17:58:59,450 INFO L280 TraceCheckUtils]: 0: Hoare triple {326#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {326#true} is VALID [2020-07-28 17:58:59,452 INFO L280 TraceCheckUtils]: 1: Hoare triple {326#true} havoc main_#res;havoc main_#t~nondet4, main_#t~nondet6, main_#t~post5, main_~j~0, main_#t~mem7.base, main_#t~mem7.offset, main_#t~mem8.base, main_#t~mem8.offset, main_#t~mem9.base, main_#t~mem9.offset, main_#t~mem10, main_#t~mem11.base, main_#t~mem11.offset, main_#t~mem12.base, main_#t~mem12.offset, main_#t~mem13, main_#t~pre15, main_#t~mem14, main_#t~ret16, main_~#cont~0.base, main_~#cont~0.offset, main_~#dummy~0.base, main_~#dummy~0.offset, main_~#dummies~0.base, main_~#dummies~0.offset, main_~#a~0.base, main_~#a~0.offset, main_~i~0, main_~pa~0.base, main_~pa~0.offset;call main_~#cont~0.base, main_~#cont~0.offset := #Ultimate.allocOnStack(4);call main_~#dummy~0.base, main_~#dummy~0.offset := #Ultimate.allocOnStack(4);call main_~#dummies~0.base, main_~#dummies~0.offset := #Ultimate.allocOnStack(40);call main_~#a~0.base, main_~#a~0.offset := #Ultimate.allocOnStack(40);havoc main_~i~0;havoc main_~pa~0.base, main_~pa~0.offset;assume -2147483648 <= main_#t~nondet4 && main_#t~nondet4 <= 2147483647;main_~i~0 := main_#t~nondet4;havoc main_#t~nondet4;main_~j~0 := 0; {337#(<= ULTIMATE.start_main_~j~0 0)} is VALID [2020-07-28 17:58:59,454 INFO L280 TraceCheckUtils]: 2: Hoare triple {337#(<= ULTIMATE.start_main_~j~0 0)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {337#(<= ULTIMATE.start_main_~j~0 0)} is VALID [2020-07-28 17:58:59,455 INFO L280 TraceCheckUtils]: 3: Hoare triple {337#(<= ULTIMATE.start_main_~j~0 0)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {329#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:58:59,456 INFO L280 TraceCheckUtils]: 4: Hoare triple {329#(<= ULTIMATE.start_main_~j~0 1)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {329#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:58:59,457 INFO L280 TraceCheckUtils]: 5: Hoare triple {329#(<= ULTIMATE.start_main_~j~0 1)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {330#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:58:59,458 INFO L280 TraceCheckUtils]: 6: Hoare triple {330#(<= ULTIMATE.start_main_~j~0 2)} assume !(main_~j~0 < 10); {327#false} is VALID [2020-07-28 17:58:59,458 INFO L280 TraceCheckUtils]: 7: Hoare triple {327#false} assume main_~i~0 >= 0 && main_~i~0 < 9;call write~int(main_~i~0, main_~#a~0.base, main_~#a~0.offset + 4 * main_~i~0, 4);call write~$Pointer$(main_~#a~0.base, main_~#a~0.offset + 4 * main_~i~0, main_~#dummy~0.base, main_~#dummy~0.offset, 4);call write~$Pointer$(main_~#dummy~0.base, main_~#dummy~0.offset, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * (1 + main_~i~0), 4);call write~$Pointer$(main_~#dummies~0.base, main_~#dummies~0.offset, main_~#cont~0.base, main_~#cont~0.offset, 4);call main_#t~mem7.base, main_#t~mem7.offset := read~$Pointer$(main_~#cont~0.base, main_~#cont~0.offset, 4);call main_#t~mem8.base, main_#t~mem8.offset := read~$Pointer$(main_#t~mem7.base, main_#t~mem7.offset + 4 * main_~i~0, 4);call main_#t~mem9.base, main_#t~mem9.offset := read~$Pointer$(main_#t~mem8.base, main_#t~mem8.offset, 4);main_~pa~0.base, main_~pa~0.offset := main_#t~mem9.base, main_#t~mem9.offset + 4 * main_~i~0;havoc main_#t~mem7.base, main_#t~mem7.offset;havoc main_#t~mem8.base, main_#t~mem8.offset;havoc main_#t~mem9.base, main_#t~mem9.offset;call main_#t~mem10 := read~int(main_~#a~0.base, main_~#a~0.offset + 4 * main_~i~0, 4); {327#false} is VALID [2020-07-28 17:58:59,458 INFO L280 TraceCheckUtils]: 8: Hoare triple {327#false} assume main_#t~mem10 > 0;havoc main_#t~mem10;call main_#t~mem11.base, main_#t~mem11.offset := read~$Pointer$(main_~#dummies~0.base, main_~#dummies~0.offset + 4 * (1 + main_~i~0), 4);call main_#t~mem12.base, main_#t~mem12.offset := read~$Pointer$(main_#t~mem11.base, main_#t~mem11.offset, 4);call main_#t~mem13 := read~int(main_#t~mem12.base, main_#t~mem12.offset + 4 * main_~i~0, 4);main_~i~0 := main_#t~mem13 - 10;havoc main_#t~mem12.base, main_#t~mem12.offset;havoc main_#t~mem11.base, main_#t~mem11.offset;havoc main_#t~mem13; {327#false} is VALID [2020-07-28 17:58:59,459 INFO L280 TraceCheckUtils]: 9: Hoare triple {327#false} call main_#t~mem14 := read~int(main_~pa~0.base, main_~pa~0.offset, 4); {327#false} is VALID [2020-07-28 17:58:59,459 INFO L280 TraceCheckUtils]: 10: Hoare triple {327#false} assume !(main_~i~0 < main_#t~mem14);havoc main_#t~mem14; {327#false} is VALID [2020-07-28 17:58:59,459 INFO L280 TraceCheckUtils]: 11: Hoare triple {327#false} check_#in~pc.base, check_#in~pc.offset, check_#in~i := main_~#cont~0.base, main_~#cont~0.offset, main_~i~0;havoc check_#res;havoc check_#t~mem0.base, check_#t~mem0.offset, check_#t~mem1.base, check_#t~mem1.offset, check_#t~mem2.base, check_#t~mem2.offset, check_#t~mem3, check_~pc.base, check_~pc.offset, check_~i;check_~pc.base, check_~pc.offset := check_#in~pc.base, check_#in~pc.offset;check_~i := check_#in~i;call check_#t~mem0.base, check_#t~mem0.offset := read~$Pointer$(check_~pc.base, check_~pc.offset, 4);call check_#t~mem1.base, check_#t~mem1.offset := read~$Pointer$(check_#t~mem0.base, check_#t~mem0.offset + 4 * check_~i, 4);call check_#t~mem2.base, check_#t~mem2.offset := read~$Pointer$(check_#t~mem1.base, check_#t~mem1.offset, 4);call check_#t~mem3 := read~int(check_#t~mem2.base, check_#t~mem2.offset + 4 * check_~i, 4);check_#res := (if check_#t~mem3 == check_~i then 1 else 0);havoc check_#t~mem2.base, check_#t~mem2.offset;havoc check_#t~mem1.base, check_#t~mem1.offset;havoc check_#t~mem3;havoc check_#t~mem0.base, check_#t~mem0.offset; {327#false} is VALID [2020-07-28 17:58:59,460 INFO L280 TraceCheckUtils]: 12: Hoare triple {327#false} main_#t~ret16 := check_#res;assume -2147483648 <= main_#t~ret16 && main_#t~ret16 <= 2147483647; {327#false} is VALID [2020-07-28 17:58:59,460 INFO L280 TraceCheckUtils]: 13: Hoare triple {327#false} assume 0 == main_#t~ret16;havoc main_#t~ret16; {327#false} is VALID [2020-07-28 17:58:59,461 INFO L280 TraceCheckUtils]: 14: Hoare triple {327#false} assume !false; {327#false} is VALID [2020-07-28 17:58:59,461 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 17:58:59,462 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-28 17:58:59,462 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 6 [2020-07-28 17:58:59,462 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1603697787] [2020-07-28 17:58:59,463 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 15 [2020-07-28 17:58:59,463 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 17:58:59,464 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2020-07-28 17:58:59,496 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 17:58:59,496 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2020-07-28 17:58:59,496 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-28 17:58:59,497 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2020-07-28 17:58:59,497 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=15, Unknown=0, NotChecked=0, Total=30 [2020-07-28 17:58:59,498 INFO L87 Difference]: Start difference. First operand 16 states and 17 transitions. Second operand 6 states. [2020-07-28 17:58:59,625 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:58:59,625 INFO L93 Difference]: Finished difference Result 28 states and 30 transitions. [2020-07-28 17:58:59,625 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2020-07-28 17:58:59,625 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 15 [2020-07-28 17:58:59,626 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 17:58:59,626 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-28 17:58:59,628 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 30 transitions. [2020-07-28 17:58:59,628 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-28 17:58:59,629 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 30 transitions. [2020-07-28 17:58:59,629 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 30 transitions. [2020-07-28 17:58:59,678 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 17:58:59,679 INFO L225 Difference]: With dead ends: 28 [2020-07-28 17:58:59,679 INFO L226 Difference]: Without dead ends: 19 [2020-07-28 17:58:59,680 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 15 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=15, Invalid=15, Unknown=0, NotChecked=0, Total=30 [2020-07-28 17:58:59,680 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 19 states. [2020-07-28 17:58:59,688 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 19 to 18. [2020-07-28 17:58:59,689 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 17:58:59,689 INFO L82 GeneralOperation]: Start isEquivalent. First operand 19 states. Second operand 18 states. [2020-07-28 17:58:59,689 INFO L74 IsIncluded]: Start isIncluded. First operand 19 states. Second operand 18 states. [2020-07-28 17:58:59,689 INFO L87 Difference]: Start difference. First operand 19 states. Second operand 18 states. [2020-07-28 17:58:59,691 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:58:59,691 INFO L93 Difference]: Finished difference Result 19 states and 20 transitions. [2020-07-28 17:58:59,692 INFO L276 IsEmpty]: Start isEmpty. Operand 19 states and 20 transitions. [2020-07-28 17:58:59,692 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:58:59,693 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:58:59,693 INFO L74 IsIncluded]: Start isIncluded. First operand 18 states. Second operand 19 states. [2020-07-28 17:58:59,693 INFO L87 Difference]: Start difference. First operand 18 states. Second operand 19 states. [2020-07-28 17:58:59,695 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:58:59,696 INFO L93 Difference]: Finished difference Result 19 states and 20 transitions. [2020-07-28 17:58:59,696 INFO L276 IsEmpty]: Start isEmpty. Operand 19 states and 20 transitions. [2020-07-28 17:58:59,696 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:58:59,697 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:58:59,697 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 17:58:59,697 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 17:58:59,697 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2020-07-28 17:58:59,699 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 19 transitions. [2020-07-28 17:58:59,699 INFO L78 Accepts]: Start accepts. Automaton has 18 states and 19 transitions. Word has length 15 [2020-07-28 17:58:59,700 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 17:58:59,700 INFO L479 AbstractCegarLoop]: Abstraction has 18 states and 19 transitions. [2020-07-28 17:58:59,700 INFO L480 AbstractCegarLoop]: Interpolant automaton has 6 states. [2020-07-28 17:58:59,700 INFO L276 IsEmpty]: Start isEmpty. Operand 18 states and 19 transitions. [2020-07-28 17:58:59,701 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2020-07-28 17:58:59,701 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 17:58:59,701 INFO L422 BasicCegarLoop]: trace histogram [3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 17:58:59,914 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,3 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-28 17:58:59,915 INFO L427 AbstractCegarLoop]: === Iteration 5 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 17:58:59,915 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 17:58:59,916 INFO L82 PathProgramCache]: Analyzing trace with hash 123871506, now seen corresponding path program 3 times [2020-07-28 17:58:59,916 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 17:58:59,916 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1621387285] [2020-07-28 17:58:59,917 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 17:58:59,945 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:59:00,011 INFO L280 TraceCheckUtils]: 0: Hoare triple {477#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {477#true} is VALID [2020-07-28 17:59:00,013 INFO L280 TraceCheckUtils]: 1: Hoare triple {477#true} havoc main_#res;havoc main_#t~nondet4, main_#t~nondet6, main_#t~post5, main_~j~0, main_#t~mem7.base, main_#t~mem7.offset, main_#t~mem8.base, main_#t~mem8.offset, main_#t~mem9.base, main_#t~mem9.offset, main_#t~mem10, main_#t~mem11.base, main_#t~mem11.offset, main_#t~mem12.base, main_#t~mem12.offset, main_#t~mem13, main_#t~pre15, main_#t~mem14, main_#t~ret16, main_~#cont~0.base, main_~#cont~0.offset, main_~#dummy~0.base, main_~#dummy~0.offset, main_~#dummies~0.base, main_~#dummies~0.offset, main_~#a~0.base, main_~#a~0.offset, main_~i~0, main_~pa~0.base, main_~pa~0.offset;call main_~#cont~0.base, main_~#cont~0.offset := #Ultimate.allocOnStack(4);call main_~#dummy~0.base, main_~#dummy~0.offset := #Ultimate.allocOnStack(4);call main_~#dummies~0.base, main_~#dummies~0.offset := #Ultimate.allocOnStack(40);call main_~#a~0.base, main_~#a~0.offset := #Ultimate.allocOnStack(40);havoc main_~i~0;havoc main_~pa~0.base, main_~pa~0.offset;assume -2147483648 <= main_#t~nondet4 && main_#t~nondet4 <= 2147483647;main_~i~0 := main_#t~nondet4;havoc main_#t~nondet4;main_~j~0 := 0; {479#(= 0 ULTIMATE.start_main_~j~0)} is VALID [2020-07-28 17:59:00,014 INFO L280 TraceCheckUtils]: 2: Hoare triple {479#(= 0 ULTIMATE.start_main_~j~0)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {479#(= 0 ULTIMATE.start_main_~j~0)} is VALID [2020-07-28 17:59:00,015 INFO L280 TraceCheckUtils]: 3: Hoare triple {479#(= 0 ULTIMATE.start_main_~j~0)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {480#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:59:00,016 INFO L280 TraceCheckUtils]: 4: Hoare triple {480#(<= ULTIMATE.start_main_~j~0 1)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {480#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:59:00,017 INFO L280 TraceCheckUtils]: 5: Hoare triple {480#(<= ULTIMATE.start_main_~j~0 1)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {481#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:59:00,018 INFO L280 TraceCheckUtils]: 6: Hoare triple {481#(<= ULTIMATE.start_main_~j~0 2)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {481#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:59:00,019 INFO L280 TraceCheckUtils]: 7: Hoare triple {481#(<= ULTIMATE.start_main_~j~0 2)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {482#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:59:00,020 INFO L280 TraceCheckUtils]: 8: Hoare triple {482#(<= ULTIMATE.start_main_~j~0 3)} assume !(main_~j~0 < 10); {478#false} is VALID [2020-07-28 17:59:00,021 INFO L280 TraceCheckUtils]: 9: Hoare triple {478#false} assume main_~i~0 >= 0 && main_~i~0 < 9;call write~int(main_~i~0, main_~#a~0.base, main_~#a~0.offset + 4 * main_~i~0, 4);call write~$Pointer$(main_~#a~0.base, main_~#a~0.offset + 4 * main_~i~0, main_~#dummy~0.base, main_~#dummy~0.offset, 4);call write~$Pointer$(main_~#dummy~0.base, main_~#dummy~0.offset, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * (1 + main_~i~0), 4);call write~$Pointer$(main_~#dummies~0.base, main_~#dummies~0.offset, main_~#cont~0.base, main_~#cont~0.offset, 4);call main_#t~mem7.base, main_#t~mem7.offset := read~$Pointer$(main_~#cont~0.base, main_~#cont~0.offset, 4);call main_#t~mem8.base, main_#t~mem8.offset := read~$Pointer$(main_#t~mem7.base, main_#t~mem7.offset + 4 * main_~i~0, 4);call main_#t~mem9.base, main_#t~mem9.offset := read~$Pointer$(main_#t~mem8.base, main_#t~mem8.offset, 4);main_~pa~0.base, main_~pa~0.offset := main_#t~mem9.base, main_#t~mem9.offset + 4 * main_~i~0;havoc main_#t~mem7.base, main_#t~mem7.offset;havoc main_#t~mem8.base, main_#t~mem8.offset;havoc main_#t~mem9.base, main_#t~mem9.offset;call main_#t~mem10 := read~int(main_~#a~0.base, main_~#a~0.offset + 4 * main_~i~0, 4); {478#false} is VALID [2020-07-28 17:59:00,021 INFO L280 TraceCheckUtils]: 10: Hoare triple {478#false} assume main_#t~mem10 > 0;havoc main_#t~mem10;call main_#t~mem11.base, main_#t~mem11.offset := read~$Pointer$(main_~#dummies~0.base, main_~#dummies~0.offset + 4 * (1 + main_~i~0), 4);call main_#t~mem12.base, main_#t~mem12.offset := read~$Pointer$(main_#t~mem11.base, main_#t~mem11.offset, 4);call main_#t~mem13 := read~int(main_#t~mem12.base, main_#t~mem12.offset + 4 * main_~i~0, 4);main_~i~0 := main_#t~mem13 - 10;havoc main_#t~mem12.base, main_#t~mem12.offset;havoc main_#t~mem11.base, main_#t~mem11.offset;havoc main_#t~mem13; {478#false} is VALID [2020-07-28 17:59:00,021 INFO L280 TraceCheckUtils]: 11: Hoare triple {478#false} call main_#t~mem14 := read~int(main_~pa~0.base, main_~pa~0.offset, 4); {478#false} is VALID [2020-07-28 17:59:00,022 INFO L280 TraceCheckUtils]: 12: Hoare triple {478#false} assume !(main_~i~0 < main_#t~mem14);havoc main_#t~mem14; {478#false} is VALID [2020-07-28 17:59:00,022 INFO L280 TraceCheckUtils]: 13: Hoare triple {478#false} check_#in~pc.base, check_#in~pc.offset, check_#in~i := main_~#cont~0.base, main_~#cont~0.offset, main_~i~0;havoc check_#res;havoc check_#t~mem0.base, check_#t~mem0.offset, check_#t~mem1.base, check_#t~mem1.offset, check_#t~mem2.base, check_#t~mem2.offset, check_#t~mem3, check_~pc.base, check_~pc.offset, check_~i;check_~pc.base, check_~pc.offset := check_#in~pc.base, check_#in~pc.offset;check_~i := check_#in~i;call check_#t~mem0.base, check_#t~mem0.offset := read~$Pointer$(check_~pc.base, check_~pc.offset, 4);call check_#t~mem1.base, check_#t~mem1.offset := read~$Pointer$(check_#t~mem0.base, check_#t~mem0.offset + 4 * check_~i, 4);call check_#t~mem2.base, check_#t~mem2.offset := read~$Pointer$(check_#t~mem1.base, check_#t~mem1.offset, 4);call check_#t~mem3 := read~int(check_#t~mem2.base, check_#t~mem2.offset + 4 * check_~i, 4);check_#res := (if check_#t~mem3 == check_~i then 1 else 0);havoc check_#t~mem2.base, check_#t~mem2.offset;havoc check_#t~mem1.base, check_#t~mem1.offset;havoc check_#t~mem3;havoc check_#t~mem0.base, check_#t~mem0.offset; {478#false} is VALID [2020-07-28 17:59:00,022 INFO L280 TraceCheckUtils]: 14: Hoare triple {478#false} main_#t~ret16 := check_#res;assume -2147483648 <= main_#t~ret16 && main_#t~ret16 <= 2147483647; {478#false} is VALID [2020-07-28 17:59:00,023 INFO L280 TraceCheckUtils]: 15: Hoare triple {478#false} assume 0 == main_#t~ret16;havoc main_#t~ret16; {478#false} is VALID [2020-07-28 17:59:00,023 INFO L280 TraceCheckUtils]: 16: Hoare triple {478#false} assume !false; {478#false} is VALID [2020-07-28 17:59:00,024 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 17:59:00,024 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1621387285] [2020-07-28 17:59:00,024 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1696430877] [2020-07-28 17:59:00,024 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-28 17:59:00,161 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2020-07-28 17:59:00,161 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2020-07-28 17:59:00,163 INFO L263 TraceCheckSpWp]: Trace formula consists of 113 conjuncts, 5 conjunts are in the unsatisfiable core [2020-07-28 17:59:00,175 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:59:00,177 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 17:59:00,317 INFO L280 TraceCheckUtils]: 0: Hoare triple {477#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {477#true} is VALID [2020-07-28 17:59:00,319 INFO L280 TraceCheckUtils]: 1: Hoare triple {477#true} havoc main_#res;havoc main_#t~nondet4, main_#t~nondet6, main_#t~post5, main_~j~0, main_#t~mem7.base, main_#t~mem7.offset, main_#t~mem8.base, main_#t~mem8.offset, main_#t~mem9.base, main_#t~mem9.offset, main_#t~mem10, main_#t~mem11.base, main_#t~mem11.offset, main_#t~mem12.base, main_#t~mem12.offset, main_#t~mem13, main_#t~pre15, main_#t~mem14, main_#t~ret16, main_~#cont~0.base, main_~#cont~0.offset, main_~#dummy~0.base, main_~#dummy~0.offset, main_~#dummies~0.base, main_~#dummies~0.offset, main_~#a~0.base, main_~#a~0.offset, main_~i~0, main_~pa~0.base, main_~pa~0.offset;call main_~#cont~0.base, main_~#cont~0.offset := #Ultimate.allocOnStack(4);call main_~#dummy~0.base, main_~#dummy~0.offset := #Ultimate.allocOnStack(4);call main_~#dummies~0.base, main_~#dummies~0.offset := #Ultimate.allocOnStack(40);call main_~#a~0.base, main_~#a~0.offset := #Ultimate.allocOnStack(40);havoc main_~i~0;havoc main_~pa~0.base, main_~pa~0.offset;assume -2147483648 <= main_#t~nondet4 && main_#t~nondet4 <= 2147483647;main_~i~0 := main_#t~nondet4;havoc main_#t~nondet4;main_~j~0 := 0; {489#(<= ULTIMATE.start_main_~j~0 0)} is VALID [2020-07-28 17:59:00,320 INFO L280 TraceCheckUtils]: 2: Hoare triple {489#(<= ULTIMATE.start_main_~j~0 0)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {489#(<= ULTIMATE.start_main_~j~0 0)} is VALID [2020-07-28 17:59:00,321 INFO L280 TraceCheckUtils]: 3: Hoare triple {489#(<= ULTIMATE.start_main_~j~0 0)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {480#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:59:00,322 INFO L280 TraceCheckUtils]: 4: Hoare triple {480#(<= ULTIMATE.start_main_~j~0 1)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {480#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:59:00,323 INFO L280 TraceCheckUtils]: 5: Hoare triple {480#(<= ULTIMATE.start_main_~j~0 1)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {481#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:59:00,324 INFO L280 TraceCheckUtils]: 6: Hoare triple {481#(<= ULTIMATE.start_main_~j~0 2)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {481#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:59:00,326 INFO L280 TraceCheckUtils]: 7: Hoare triple {481#(<= ULTIMATE.start_main_~j~0 2)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {482#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:59:00,327 INFO L280 TraceCheckUtils]: 8: Hoare triple {482#(<= ULTIMATE.start_main_~j~0 3)} assume !(main_~j~0 < 10); {478#false} is VALID [2020-07-28 17:59:00,327 INFO L280 TraceCheckUtils]: 9: Hoare triple {478#false} assume main_~i~0 >= 0 && main_~i~0 < 9;call write~int(main_~i~0, main_~#a~0.base, main_~#a~0.offset + 4 * main_~i~0, 4);call write~$Pointer$(main_~#a~0.base, main_~#a~0.offset + 4 * main_~i~0, main_~#dummy~0.base, main_~#dummy~0.offset, 4);call write~$Pointer$(main_~#dummy~0.base, main_~#dummy~0.offset, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * (1 + main_~i~0), 4);call write~$Pointer$(main_~#dummies~0.base, main_~#dummies~0.offset, main_~#cont~0.base, main_~#cont~0.offset, 4);call main_#t~mem7.base, main_#t~mem7.offset := read~$Pointer$(main_~#cont~0.base, main_~#cont~0.offset, 4);call main_#t~mem8.base, main_#t~mem8.offset := read~$Pointer$(main_#t~mem7.base, main_#t~mem7.offset + 4 * main_~i~0, 4);call main_#t~mem9.base, main_#t~mem9.offset := read~$Pointer$(main_#t~mem8.base, main_#t~mem8.offset, 4);main_~pa~0.base, main_~pa~0.offset := main_#t~mem9.base, main_#t~mem9.offset + 4 * main_~i~0;havoc main_#t~mem7.base, main_#t~mem7.offset;havoc main_#t~mem8.base, main_#t~mem8.offset;havoc main_#t~mem9.base, main_#t~mem9.offset;call main_#t~mem10 := read~int(main_~#a~0.base, main_~#a~0.offset + 4 * main_~i~0, 4); {478#false} is VALID [2020-07-28 17:59:00,327 INFO L280 TraceCheckUtils]: 10: Hoare triple {478#false} assume main_#t~mem10 > 0;havoc main_#t~mem10;call main_#t~mem11.base, main_#t~mem11.offset := read~$Pointer$(main_~#dummies~0.base, main_~#dummies~0.offset + 4 * (1 + main_~i~0), 4);call main_#t~mem12.base, main_#t~mem12.offset := read~$Pointer$(main_#t~mem11.base, main_#t~mem11.offset, 4);call main_#t~mem13 := read~int(main_#t~mem12.base, main_#t~mem12.offset + 4 * main_~i~0, 4);main_~i~0 := main_#t~mem13 - 10;havoc main_#t~mem12.base, main_#t~mem12.offset;havoc main_#t~mem11.base, main_#t~mem11.offset;havoc main_#t~mem13; {478#false} is VALID [2020-07-28 17:59:00,328 INFO L280 TraceCheckUtils]: 11: Hoare triple {478#false} call main_#t~mem14 := read~int(main_~pa~0.base, main_~pa~0.offset, 4); {478#false} is VALID [2020-07-28 17:59:00,328 INFO L280 TraceCheckUtils]: 12: Hoare triple {478#false} assume !(main_~i~0 < main_#t~mem14);havoc main_#t~mem14; {478#false} is VALID [2020-07-28 17:59:00,328 INFO L280 TraceCheckUtils]: 13: Hoare triple {478#false} check_#in~pc.base, check_#in~pc.offset, check_#in~i := main_~#cont~0.base, main_~#cont~0.offset, main_~i~0;havoc check_#res;havoc check_#t~mem0.base, check_#t~mem0.offset, check_#t~mem1.base, check_#t~mem1.offset, check_#t~mem2.base, check_#t~mem2.offset, check_#t~mem3, check_~pc.base, check_~pc.offset, check_~i;check_~pc.base, check_~pc.offset := check_#in~pc.base, check_#in~pc.offset;check_~i := check_#in~i;call check_#t~mem0.base, check_#t~mem0.offset := read~$Pointer$(check_~pc.base, check_~pc.offset, 4);call check_#t~mem1.base, check_#t~mem1.offset := read~$Pointer$(check_#t~mem0.base, check_#t~mem0.offset + 4 * check_~i, 4);call check_#t~mem2.base, check_#t~mem2.offset := read~$Pointer$(check_#t~mem1.base, check_#t~mem1.offset, 4);call check_#t~mem3 := read~int(check_#t~mem2.base, check_#t~mem2.offset + 4 * check_~i, 4);check_#res := (if check_#t~mem3 == check_~i then 1 else 0);havoc check_#t~mem2.base, check_#t~mem2.offset;havoc check_#t~mem1.base, check_#t~mem1.offset;havoc check_#t~mem3;havoc check_#t~mem0.base, check_#t~mem0.offset; {478#false} is VALID [2020-07-28 17:59:00,329 INFO L280 TraceCheckUtils]: 14: Hoare triple {478#false} main_#t~ret16 := check_#res;assume -2147483648 <= main_#t~ret16 && main_#t~ret16 <= 2147483647; {478#false} is VALID [2020-07-28 17:59:00,329 INFO L280 TraceCheckUtils]: 15: Hoare triple {478#false} assume 0 == main_#t~ret16;havoc main_#t~ret16; {478#false} is VALID [2020-07-28 17:59:00,330 INFO L280 TraceCheckUtils]: 16: Hoare triple {478#false} assume !false; {478#false} is VALID [2020-07-28 17:59:00,330 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 17:59:00,331 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-28 17:59:00,331 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 7 [2020-07-28 17:59:00,331 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [507313506] [2020-07-28 17:59:00,332 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 17 [2020-07-28 17:59:00,332 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 17:59:00,333 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2020-07-28 17:59:00,365 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 17:59:00,365 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2020-07-28 17:59:00,365 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-28 17:59:00,366 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2020-07-28 17:59:00,366 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=21, Unknown=0, NotChecked=0, Total=42 [2020-07-28 17:59:00,366 INFO L87 Difference]: Start difference. First operand 18 states and 19 transitions. Second operand 7 states. [2020-07-28 17:59:00,497 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:59:00,497 INFO L93 Difference]: Finished difference Result 30 states and 32 transitions. [2020-07-28 17:59:00,497 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2020-07-28 17:59:00,497 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 17 [2020-07-28 17:59:00,498 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 17:59:00,498 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-28 17:59:00,499 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 32 transitions. [2020-07-28 17:59:00,499 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-28 17:59:00,500 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 32 transitions. [2020-07-28 17:59:00,501 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 32 transitions. [2020-07-28 17:59:00,585 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 17:59:00,586 INFO L225 Difference]: With dead ends: 30 [2020-07-28 17:59:00,587 INFO L226 Difference]: Without dead ends: 21 [2020-07-28 17:59:00,587 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 22 GetRequests, 17 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=21, Invalid=21, Unknown=0, NotChecked=0, Total=42 [2020-07-28 17:59:00,588 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 21 states. [2020-07-28 17:59:00,596 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 21 to 20. [2020-07-28 17:59:00,597 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 17:59:00,597 INFO L82 GeneralOperation]: Start isEquivalent. First operand 21 states. Second operand 20 states. [2020-07-28 17:59:00,597 INFO L74 IsIncluded]: Start isIncluded. First operand 21 states. Second operand 20 states. [2020-07-28 17:59:00,597 INFO L87 Difference]: Start difference. First operand 21 states. Second operand 20 states. [2020-07-28 17:59:00,598 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:59:00,598 INFO L93 Difference]: Finished difference Result 21 states and 22 transitions. [2020-07-28 17:59:00,599 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 22 transitions. [2020-07-28 17:59:00,599 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:59:00,602 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:59:00,602 INFO L74 IsIncluded]: Start isIncluded. First operand 20 states. Second operand 21 states. [2020-07-28 17:59:00,603 INFO L87 Difference]: Start difference. First operand 20 states. Second operand 21 states. [2020-07-28 17:59:00,604 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:59:00,604 INFO L93 Difference]: Finished difference Result 21 states and 22 transitions. [2020-07-28 17:59:00,604 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 22 transitions. [2020-07-28 17:59:00,604 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:59:00,605 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:59:00,605 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 17:59:00,605 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 17:59:00,605 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2020-07-28 17:59:00,607 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 21 transitions. [2020-07-28 17:59:00,608 INFO L78 Accepts]: Start accepts. Automaton has 20 states and 21 transitions. Word has length 17 [2020-07-28 17:59:00,608 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 17:59:00,608 INFO L479 AbstractCegarLoop]: Abstraction has 20 states and 21 transitions. [2020-07-28 17:59:00,608 INFO L480 AbstractCegarLoop]: Interpolant automaton has 7 states. [2020-07-28 17:59:00,608 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 21 transitions. [2020-07-28 17:59:00,609 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2020-07-28 17:59:00,609 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 17:59:00,609 INFO L422 BasicCegarLoop]: trace histogram [4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 17:59:00,810 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,4 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-28 17:59:00,811 INFO L427 AbstractCegarLoop]: === Iteration 6 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 17:59:00,811 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 17:59:00,811 INFO L82 PathProgramCache]: Analyzing trace with hash -1444204464, now seen corresponding path program 4 times [2020-07-28 17:59:00,812 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 17:59:00,812 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1035134030] [2020-07-28 17:59:00,813 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 17:59:00,876 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:59:00,981 INFO L280 TraceCheckUtils]: 0: Hoare triple {645#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {645#true} is VALID [2020-07-28 17:59:00,983 INFO L280 TraceCheckUtils]: 1: Hoare triple {645#true} havoc main_#res;havoc main_#t~nondet4, main_#t~nondet6, main_#t~post5, main_~j~0, main_#t~mem7.base, main_#t~mem7.offset, main_#t~mem8.base, main_#t~mem8.offset, main_#t~mem9.base, main_#t~mem9.offset, main_#t~mem10, main_#t~mem11.base, main_#t~mem11.offset, main_#t~mem12.base, main_#t~mem12.offset, main_#t~mem13, main_#t~pre15, main_#t~mem14, main_#t~ret16, main_~#cont~0.base, main_~#cont~0.offset, main_~#dummy~0.base, main_~#dummy~0.offset, main_~#dummies~0.base, main_~#dummies~0.offset, main_~#a~0.base, main_~#a~0.offset, main_~i~0, main_~pa~0.base, main_~pa~0.offset;call main_~#cont~0.base, main_~#cont~0.offset := #Ultimate.allocOnStack(4);call main_~#dummy~0.base, main_~#dummy~0.offset := #Ultimate.allocOnStack(4);call main_~#dummies~0.base, main_~#dummies~0.offset := #Ultimate.allocOnStack(40);call main_~#a~0.base, main_~#a~0.offset := #Ultimate.allocOnStack(40);havoc main_~i~0;havoc main_~pa~0.base, main_~pa~0.offset;assume -2147483648 <= main_#t~nondet4 && main_#t~nondet4 <= 2147483647;main_~i~0 := main_#t~nondet4;havoc main_#t~nondet4;main_~j~0 := 0; {647#(= 0 ULTIMATE.start_main_~j~0)} is VALID [2020-07-28 17:59:00,984 INFO L280 TraceCheckUtils]: 2: Hoare triple {647#(= 0 ULTIMATE.start_main_~j~0)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {647#(= 0 ULTIMATE.start_main_~j~0)} is VALID [2020-07-28 17:59:00,986 INFO L280 TraceCheckUtils]: 3: Hoare triple {647#(= 0 ULTIMATE.start_main_~j~0)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {648#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:59:00,986 INFO L280 TraceCheckUtils]: 4: Hoare triple {648#(<= ULTIMATE.start_main_~j~0 1)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {648#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:59:00,987 INFO L280 TraceCheckUtils]: 5: Hoare triple {648#(<= ULTIMATE.start_main_~j~0 1)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {649#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:59:00,988 INFO L280 TraceCheckUtils]: 6: Hoare triple {649#(<= ULTIMATE.start_main_~j~0 2)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {649#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:59:00,991 INFO L280 TraceCheckUtils]: 7: Hoare triple {649#(<= ULTIMATE.start_main_~j~0 2)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {650#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:59:00,993 INFO L280 TraceCheckUtils]: 8: Hoare triple {650#(<= ULTIMATE.start_main_~j~0 3)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {650#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:59:01,015 INFO L280 TraceCheckUtils]: 9: Hoare triple {650#(<= ULTIMATE.start_main_~j~0 3)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {651#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:59:01,017 INFO L280 TraceCheckUtils]: 10: Hoare triple {651#(<= ULTIMATE.start_main_~j~0 4)} assume !(main_~j~0 < 10); {646#false} is VALID [2020-07-28 17:59:01,018 INFO L280 TraceCheckUtils]: 11: Hoare triple {646#false} assume main_~i~0 >= 0 && main_~i~0 < 9;call write~int(main_~i~0, main_~#a~0.base, main_~#a~0.offset + 4 * main_~i~0, 4);call write~$Pointer$(main_~#a~0.base, main_~#a~0.offset + 4 * main_~i~0, main_~#dummy~0.base, main_~#dummy~0.offset, 4);call write~$Pointer$(main_~#dummy~0.base, main_~#dummy~0.offset, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * (1 + main_~i~0), 4);call write~$Pointer$(main_~#dummies~0.base, main_~#dummies~0.offset, main_~#cont~0.base, main_~#cont~0.offset, 4);call main_#t~mem7.base, main_#t~mem7.offset := read~$Pointer$(main_~#cont~0.base, main_~#cont~0.offset, 4);call main_#t~mem8.base, main_#t~mem8.offset := read~$Pointer$(main_#t~mem7.base, main_#t~mem7.offset + 4 * main_~i~0, 4);call main_#t~mem9.base, main_#t~mem9.offset := read~$Pointer$(main_#t~mem8.base, main_#t~mem8.offset, 4);main_~pa~0.base, main_~pa~0.offset := main_#t~mem9.base, main_#t~mem9.offset + 4 * main_~i~0;havoc main_#t~mem7.base, main_#t~mem7.offset;havoc main_#t~mem8.base, main_#t~mem8.offset;havoc main_#t~mem9.base, main_#t~mem9.offset;call main_#t~mem10 := read~int(main_~#a~0.base, main_~#a~0.offset + 4 * main_~i~0, 4); {646#false} is VALID [2020-07-28 17:59:01,018 INFO L280 TraceCheckUtils]: 12: Hoare triple {646#false} assume main_#t~mem10 > 0;havoc main_#t~mem10;call main_#t~mem11.base, main_#t~mem11.offset := read~$Pointer$(main_~#dummies~0.base, main_~#dummies~0.offset + 4 * (1 + main_~i~0), 4);call main_#t~mem12.base, main_#t~mem12.offset := read~$Pointer$(main_#t~mem11.base, main_#t~mem11.offset, 4);call main_#t~mem13 := read~int(main_#t~mem12.base, main_#t~mem12.offset + 4 * main_~i~0, 4);main_~i~0 := main_#t~mem13 - 10;havoc main_#t~mem12.base, main_#t~mem12.offset;havoc main_#t~mem11.base, main_#t~mem11.offset;havoc main_#t~mem13; {646#false} is VALID [2020-07-28 17:59:01,019 INFO L280 TraceCheckUtils]: 13: Hoare triple {646#false} call main_#t~mem14 := read~int(main_~pa~0.base, main_~pa~0.offset, 4); {646#false} is VALID [2020-07-28 17:59:01,019 INFO L280 TraceCheckUtils]: 14: Hoare triple {646#false} assume !(main_~i~0 < main_#t~mem14);havoc main_#t~mem14; {646#false} is VALID [2020-07-28 17:59:01,023 INFO L280 TraceCheckUtils]: 15: Hoare triple {646#false} check_#in~pc.base, check_#in~pc.offset, check_#in~i := main_~#cont~0.base, main_~#cont~0.offset, main_~i~0;havoc check_#res;havoc check_#t~mem0.base, check_#t~mem0.offset, check_#t~mem1.base, check_#t~mem1.offset, check_#t~mem2.base, check_#t~mem2.offset, check_#t~mem3, check_~pc.base, check_~pc.offset, check_~i;check_~pc.base, check_~pc.offset := check_#in~pc.base, check_#in~pc.offset;check_~i := check_#in~i;call check_#t~mem0.base, check_#t~mem0.offset := read~$Pointer$(check_~pc.base, check_~pc.offset, 4);call check_#t~mem1.base, check_#t~mem1.offset := read~$Pointer$(check_#t~mem0.base, check_#t~mem0.offset + 4 * check_~i, 4);call check_#t~mem2.base, check_#t~mem2.offset := read~$Pointer$(check_#t~mem1.base, check_#t~mem1.offset, 4);call check_#t~mem3 := read~int(check_#t~mem2.base, check_#t~mem2.offset + 4 * check_~i, 4);check_#res := (if check_#t~mem3 == check_~i then 1 else 0);havoc check_#t~mem2.base, check_#t~mem2.offset;havoc check_#t~mem1.base, check_#t~mem1.offset;havoc check_#t~mem3;havoc check_#t~mem0.base, check_#t~mem0.offset; {646#false} is VALID [2020-07-28 17:59:01,023 INFO L280 TraceCheckUtils]: 16: Hoare triple {646#false} main_#t~ret16 := check_#res;assume -2147483648 <= main_#t~ret16 && main_#t~ret16 <= 2147483647; {646#false} is VALID [2020-07-28 17:59:01,023 INFO L280 TraceCheckUtils]: 17: Hoare triple {646#false} assume 0 == main_#t~ret16;havoc main_#t~ret16; {646#false} is VALID [2020-07-28 17:59:01,024 INFO L280 TraceCheckUtils]: 18: Hoare triple {646#false} assume !false; {646#false} is VALID [2020-07-28 17:59:01,025 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 0 proven. 16 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 17:59:01,025 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1035134030] [2020-07-28 17:59:01,027 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1194638703] [2020-07-28 17:59:01,027 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-28 17:59:01,124 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2020-07-28 17:59:01,124 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2020-07-28 17:59:01,126 INFO L263 TraceCheckSpWp]: Trace formula consists of 123 conjuncts, 6 conjunts are in the unsatisfiable core [2020-07-28 17:59:01,138 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:59:01,140 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 17:59:01,288 INFO L280 TraceCheckUtils]: 0: Hoare triple {645#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {645#true} is VALID [2020-07-28 17:59:01,290 INFO L280 TraceCheckUtils]: 1: Hoare triple {645#true} havoc main_#res;havoc main_#t~nondet4, main_#t~nondet6, main_#t~post5, main_~j~0, main_#t~mem7.base, main_#t~mem7.offset, main_#t~mem8.base, main_#t~mem8.offset, main_#t~mem9.base, main_#t~mem9.offset, main_#t~mem10, main_#t~mem11.base, main_#t~mem11.offset, main_#t~mem12.base, main_#t~mem12.offset, main_#t~mem13, main_#t~pre15, main_#t~mem14, main_#t~ret16, main_~#cont~0.base, main_~#cont~0.offset, main_~#dummy~0.base, main_~#dummy~0.offset, main_~#dummies~0.base, main_~#dummies~0.offset, main_~#a~0.base, main_~#a~0.offset, main_~i~0, main_~pa~0.base, main_~pa~0.offset;call main_~#cont~0.base, main_~#cont~0.offset := #Ultimate.allocOnStack(4);call main_~#dummy~0.base, main_~#dummy~0.offset := #Ultimate.allocOnStack(4);call main_~#dummies~0.base, main_~#dummies~0.offset := #Ultimate.allocOnStack(40);call main_~#a~0.base, main_~#a~0.offset := #Ultimate.allocOnStack(40);havoc main_~i~0;havoc main_~pa~0.base, main_~pa~0.offset;assume -2147483648 <= main_#t~nondet4 && main_#t~nondet4 <= 2147483647;main_~i~0 := main_#t~nondet4;havoc main_#t~nondet4;main_~j~0 := 0; {658#(<= ULTIMATE.start_main_~j~0 0)} is VALID [2020-07-28 17:59:01,291 INFO L280 TraceCheckUtils]: 2: Hoare triple {658#(<= ULTIMATE.start_main_~j~0 0)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {658#(<= ULTIMATE.start_main_~j~0 0)} is VALID [2020-07-28 17:59:01,292 INFO L280 TraceCheckUtils]: 3: Hoare triple {658#(<= ULTIMATE.start_main_~j~0 0)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {648#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:59:01,293 INFO L280 TraceCheckUtils]: 4: Hoare triple {648#(<= ULTIMATE.start_main_~j~0 1)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {648#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:59:01,294 INFO L280 TraceCheckUtils]: 5: Hoare triple {648#(<= ULTIMATE.start_main_~j~0 1)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {649#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:59:01,295 INFO L280 TraceCheckUtils]: 6: Hoare triple {649#(<= ULTIMATE.start_main_~j~0 2)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {649#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:59:01,296 INFO L280 TraceCheckUtils]: 7: Hoare triple {649#(<= ULTIMATE.start_main_~j~0 2)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {650#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:59:01,296 INFO L280 TraceCheckUtils]: 8: Hoare triple {650#(<= ULTIMATE.start_main_~j~0 3)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {650#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:59:01,297 INFO L280 TraceCheckUtils]: 9: Hoare triple {650#(<= ULTIMATE.start_main_~j~0 3)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {651#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:59:01,298 INFO L280 TraceCheckUtils]: 10: Hoare triple {651#(<= ULTIMATE.start_main_~j~0 4)} assume !(main_~j~0 < 10); {646#false} is VALID [2020-07-28 17:59:01,299 INFO L280 TraceCheckUtils]: 11: Hoare triple {646#false} assume main_~i~0 >= 0 && main_~i~0 < 9;call write~int(main_~i~0, main_~#a~0.base, main_~#a~0.offset + 4 * main_~i~0, 4);call write~$Pointer$(main_~#a~0.base, main_~#a~0.offset + 4 * main_~i~0, main_~#dummy~0.base, main_~#dummy~0.offset, 4);call write~$Pointer$(main_~#dummy~0.base, main_~#dummy~0.offset, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * (1 + main_~i~0), 4);call write~$Pointer$(main_~#dummies~0.base, main_~#dummies~0.offset, main_~#cont~0.base, main_~#cont~0.offset, 4);call main_#t~mem7.base, main_#t~mem7.offset := read~$Pointer$(main_~#cont~0.base, main_~#cont~0.offset, 4);call main_#t~mem8.base, main_#t~mem8.offset := read~$Pointer$(main_#t~mem7.base, main_#t~mem7.offset + 4 * main_~i~0, 4);call main_#t~mem9.base, main_#t~mem9.offset := read~$Pointer$(main_#t~mem8.base, main_#t~mem8.offset, 4);main_~pa~0.base, main_~pa~0.offset := main_#t~mem9.base, main_#t~mem9.offset + 4 * main_~i~0;havoc main_#t~mem7.base, main_#t~mem7.offset;havoc main_#t~mem8.base, main_#t~mem8.offset;havoc main_#t~mem9.base, main_#t~mem9.offset;call main_#t~mem10 := read~int(main_~#a~0.base, main_~#a~0.offset + 4 * main_~i~0, 4); {646#false} is VALID [2020-07-28 17:59:01,299 INFO L280 TraceCheckUtils]: 12: Hoare triple {646#false} assume main_#t~mem10 > 0;havoc main_#t~mem10;call main_#t~mem11.base, main_#t~mem11.offset := read~$Pointer$(main_~#dummies~0.base, main_~#dummies~0.offset + 4 * (1 + main_~i~0), 4);call main_#t~mem12.base, main_#t~mem12.offset := read~$Pointer$(main_#t~mem11.base, main_#t~mem11.offset, 4);call main_#t~mem13 := read~int(main_#t~mem12.base, main_#t~mem12.offset + 4 * main_~i~0, 4);main_~i~0 := main_#t~mem13 - 10;havoc main_#t~mem12.base, main_#t~mem12.offset;havoc main_#t~mem11.base, main_#t~mem11.offset;havoc main_#t~mem13; {646#false} is VALID [2020-07-28 17:59:01,299 INFO L280 TraceCheckUtils]: 13: Hoare triple {646#false} call main_#t~mem14 := read~int(main_~pa~0.base, main_~pa~0.offset, 4); {646#false} is VALID [2020-07-28 17:59:01,300 INFO L280 TraceCheckUtils]: 14: Hoare triple {646#false} assume !(main_~i~0 < main_#t~mem14);havoc main_#t~mem14; {646#false} is VALID [2020-07-28 17:59:01,300 INFO L280 TraceCheckUtils]: 15: Hoare triple {646#false} check_#in~pc.base, check_#in~pc.offset, check_#in~i := main_~#cont~0.base, main_~#cont~0.offset, main_~i~0;havoc check_#res;havoc check_#t~mem0.base, check_#t~mem0.offset, check_#t~mem1.base, check_#t~mem1.offset, check_#t~mem2.base, check_#t~mem2.offset, check_#t~mem3, check_~pc.base, check_~pc.offset, check_~i;check_~pc.base, check_~pc.offset := check_#in~pc.base, check_#in~pc.offset;check_~i := check_#in~i;call check_#t~mem0.base, check_#t~mem0.offset := read~$Pointer$(check_~pc.base, check_~pc.offset, 4);call check_#t~mem1.base, check_#t~mem1.offset := read~$Pointer$(check_#t~mem0.base, check_#t~mem0.offset + 4 * check_~i, 4);call check_#t~mem2.base, check_#t~mem2.offset := read~$Pointer$(check_#t~mem1.base, check_#t~mem1.offset, 4);call check_#t~mem3 := read~int(check_#t~mem2.base, check_#t~mem2.offset + 4 * check_~i, 4);check_#res := (if check_#t~mem3 == check_~i then 1 else 0);havoc check_#t~mem2.base, check_#t~mem2.offset;havoc check_#t~mem1.base, check_#t~mem1.offset;havoc check_#t~mem3;havoc check_#t~mem0.base, check_#t~mem0.offset; {646#false} is VALID [2020-07-28 17:59:01,300 INFO L280 TraceCheckUtils]: 16: Hoare triple {646#false} main_#t~ret16 := check_#res;assume -2147483648 <= main_#t~ret16 && main_#t~ret16 <= 2147483647; {646#false} is VALID [2020-07-28 17:59:01,300 INFO L280 TraceCheckUtils]: 17: Hoare triple {646#false} assume 0 == main_#t~ret16;havoc main_#t~ret16; {646#false} is VALID [2020-07-28 17:59:01,301 INFO L280 TraceCheckUtils]: 18: Hoare triple {646#false} assume !false; {646#false} is VALID [2020-07-28 17:59:01,301 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 0 proven. 16 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 17:59:01,301 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-28 17:59:01,302 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 8 [2020-07-28 17:59:01,302 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [825800739] [2020-07-28 17:59:01,303 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 19 [2020-07-28 17:59:01,303 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 17:59:01,303 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2020-07-28 17:59:01,339 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 17:59:01,339 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2020-07-28 17:59:01,339 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-28 17:59:01,339 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2020-07-28 17:59:01,340 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=28, Unknown=0, NotChecked=0, Total=56 [2020-07-28 17:59:01,340 INFO L87 Difference]: Start difference. First operand 20 states and 21 transitions. Second operand 8 states. [2020-07-28 17:59:01,511 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:59:01,511 INFO L93 Difference]: Finished difference Result 32 states and 34 transitions. [2020-07-28 17:59:01,511 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2020-07-28 17:59:01,511 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 19 [2020-07-28 17:59:01,511 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 17:59:01,512 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2020-07-28 17:59:01,513 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 34 transitions. [2020-07-28 17:59:01,513 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2020-07-28 17:59:01,514 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 34 transitions. [2020-07-28 17:59:01,514 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 34 transitions. [2020-07-28 17:59:01,571 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 17:59:01,572 INFO L225 Difference]: With dead ends: 32 [2020-07-28 17:59:01,572 INFO L226 Difference]: Without dead ends: 23 [2020-07-28 17:59:01,573 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 25 GetRequests, 19 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=28, Unknown=0, NotChecked=0, Total=56 [2020-07-28 17:59:01,573 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 23 states. [2020-07-28 17:59:01,582 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 23 to 22. [2020-07-28 17:59:01,582 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 17:59:01,582 INFO L82 GeneralOperation]: Start isEquivalent. First operand 23 states. Second operand 22 states. [2020-07-28 17:59:01,582 INFO L74 IsIncluded]: Start isIncluded. First operand 23 states. Second operand 22 states. [2020-07-28 17:59:01,583 INFO L87 Difference]: Start difference. First operand 23 states. Second operand 22 states. [2020-07-28 17:59:01,584 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:59:01,584 INFO L93 Difference]: Finished difference Result 23 states and 24 transitions. [2020-07-28 17:59:01,584 INFO L276 IsEmpty]: Start isEmpty. Operand 23 states and 24 transitions. [2020-07-28 17:59:01,585 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:59:01,585 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:59:01,585 INFO L74 IsIncluded]: Start isIncluded. First operand 22 states. Second operand 23 states. [2020-07-28 17:59:01,585 INFO L87 Difference]: Start difference. First operand 22 states. Second operand 23 states. [2020-07-28 17:59:01,586 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:59:01,587 INFO L93 Difference]: Finished difference Result 23 states and 24 transitions. [2020-07-28 17:59:01,587 INFO L276 IsEmpty]: Start isEmpty. Operand 23 states and 24 transitions. [2020-07-28 17:59:01,587 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:59:01,587 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:59:01,587 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 17:59:01,587 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 17:59:01,588 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2020-07-28 17:59:01,589 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 23 transitions. [2020-07-28 17:59:01,589 INFO L78 Accepts]: Start accepts. Automaton has 22 states and 23 transitions. Word has length 19 [2020-07-28 17:59:01,590 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 17:59:01,590 INFO L479 AbstractCegarLoop]: Abstraction has 22 states and 23 transitions. [2020-07-28 17:59:01,590 INFO L480 AbstractCegarLoop]: Interpolant automaton has 8 states. [2020-07-28 17:59:01,590 INFO L276 IsEmpty]: Start isEmpty. Operand 22 states and 23 transitions. [2020-07-28 17:59:01,591 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2020-07-28 17:59:01,591 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 17:59:01,591 INFO L422 BasicCegarLoop]: trace histogram [5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 17:59:01,800 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,5 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-28 17:59:01,801 INFO L427 AbstractCegarLoop]: === Iteration 7 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 17:59:01,801 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 17:59:01,802 INFO L82 PathProgramCache]: Analyzing trace with hash -831690738, now seen corresponding path program 5 times [2020-07-28 17:59:01,802 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 17:59:01,802 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [150454263] [2020-07-28 17:59:01,803 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 17:59:01,828 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:59:01,898 INFO L280 TraceCheckUtils]: 0: Hoare triple {830#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {830#true} is VALID [2020-07-28 17:59:01,899 INFO L280 TraceCheckUtils]: 1: Hoare triple {830#true} havoc main_#res;havoc main_#t~nondet4, main_#t~nondet6, main_#t~post5, main_~j~0, main_#t~mem7.base, main_#t~mem7.offset, main_#t~mem8.base, main_#t~mem8.offset, main_#t~mem9.base, main_#t~mem9.offset, main_#t~mem10, main_#t~mem11.base, main_#t~mem11.offset, main_#t~mem12.base, main_#t~mem12.offset, main_#t~mem13, main_#t~pre15, main_#t~mem14, main_#t~ret16, main_~#cont~0.base, main_~#cont~0.offset, main_~#dummy~0.base, main_~#dummy~0.offset, main_~#dummies~0.base, main_~#dummies~0.offset, main_~#a~0.base, main_~#a~0.offset, main_~i~0, main_~pa~0.base, main_~pa~0.offset;call main_~#cont~0.base, main_~#cont~0.offset := #Ultimate.allocOnStack(4);call main_~#dummy~0.base, main_~#dummy~0.offset := #Ultimate.allocOnStack(4);call main_~#dummies~0.base, main_~#dummies~0.offset := #Ultimate.allocOnStack(40);call main_~#a~0.base, main_~#a~0.offset := #Ultimate.allocOnStack(40);havoc main_~i~0;havoc main_~pa~0.base, main_~pa~0.offset;assume -2147483648 <= main_#t~nondet4 && main_#t~nondet4 <= 2147483647;main_~i~0 := main_#t~nondet4;havoc main_#t~nondet4;main_~j~0 := 0; {832#(= 0 ULTIMATE.start_main_~j~0)} is VALID [2020-07-28 17:59:01,903 INFO L280 TraceCheckUtils]: 2: Hoare triple {832#(= 0 ULTIMATE.start_main_~j~0)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {832#(= 0 ULTIMATE.start_main_~j~0)} is VALID [2020-07-28 17:59:01,904 INFO L280 TraceCheckUtils]: 3: Hoare triple {832#(= 0 ULTIMATE.start_main_~j~0)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {833#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:59:01,905 INFO L280 TraceCheckUtils]: 4: Hoare triple {833#(<= ULTIMATE.start_main_~j~0 1)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {833#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:59:01,905 INFO L280 TraceCheckUtils]: 5: Hoare triple {833#(<= ULTIMATE.start_main_~j~0 1)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {834#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:59:01,906 INFO L280 TraceCheckUtils]: 6: Hoare triple {834#(<= ULTIMATE.start_main_~j~0 2)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {834#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:59:01,906 INFO L280 TraceCheckUtils]: 7: Hoare triple {834#(<= ULTIMATE.start_main_~j~0 2)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {835#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:59:01,907 INFO L280 TraceCheckUtils]: 8: Hoare triple {835#(<= ULTIMATE.start_main_~j~0 3)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {835#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:59:01,908 INFO L280 TraceCheckUtils]: 9: Hoare triple {835#(<= ULTIMATE.start_main_~j~0 3)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {836#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:59:01,908 INFO L280 TraceCheckUtils]: 10: Hoare triple {836#(<= ULTIMATE.start_main_~j~0 4)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {836#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:59:01,909 INFO L280 TraceCheckUtils]: 11: Hoare triple {836#(<= ULTIMATE.start_main_~j~0 4)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {837#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:59:01,910 INFO L280 TraceCheckUtils]: 12: Hoare triple {837#(<= ULTIMATE.start_main_~j~0 5)} assume !(main_~j~0 < 10); {831#false} is VALID [2020-07-28 17:59:01,910 INFO L280 TraceCheckUtils]: 13: Hoare triple {831#false} assume main_~i~0 >= 0 && main_~i~0 < 9;call write~int(main_~i~0, main_~#a~0.base, main_~#a~0.offset + 4 * main_~i~0, 4);call write~$Pointer$(main_~#a~0.base, main_~#a~0.offset + 4 * main_~i~0, main_~#dummy~0.base, main_~#dummy~0.offset, 4);call write~$Pointer$(main_~#dummy~0.base, main_~#dummy~0.offset, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * (1 + main_~i~0), 4);call write~$Pointer$(main_~#dummies~0.base, main_~#dummies~0.offset, main_~#cont~0.base, main_~#cont~0.offset, 4);call main_#t~mem7.base, main_#t~mem7.offset := read~$Pointer$(main_~#cont~0.base, main_~#cont~0.offset, 4);call main_#t~mem8.base, main_#t~mem8.offset := read~$Pointer$(main_#t~mem7.base, main_#t~mem7.offset + 4 * main_~i~0, 4);call main_#t~mem9.base, main_#t~mem9.offset := read~$Pointer$(main_#t~mem8.base, main_#t~mem8.offset, 4);main_~pa~0.base, main_~pa~0.offset := main_#t~mem9.base, main_#t~mem9.offset + 4 * main_~i~0;havoc main_#t~mem7.base, main_#t~mem7.offset;havoc main_#t~mem8.base, main_#t~mem8.offset;havoc main_#t~mem9.base, main_#t~mem9.offset;call main_#t~mem10 := read~int(main_~#a~0.base, main_~#a~0.offset + 4 * main_~i~0, 4); {831#false} is VALID [2020-07-28 17:59:01,910 INFO L280 TraceCheckUtils]: 14: Hoare triple {831#false} assume main_#t~mem10 > 0;havoc main_#t~mem10;call main_#t~mem11.base, main_#t~mem11.offset := read~$Pointer$(main_~#dummies~0.base, main_~#dummies~0.offset + 4 * (1 + main_~i~0), 4);call main_#t~mem12.base, main_#t~mem12.offset := read~$Pointer$(main_#t~mem11.base, main_#t~mem11.offset, 4);call main_#t~mem13 := read~int(main_#t~mem12.base, main_#t~mem12.offset + 4 * main_~i~0, 4);main_~i~0 := main_#t~mem13 - 10;havoc main_#t~mem12.base, main_#t~mem12.offset;havoc main_#t~mem11.base, main_#t~mem11.offset;havoc main_#t~mem13; {831#false} is VALID [2020-07-28 17:59:01,911 INFO L280 TraceCheckUtils]: 15: Hoare triple {831#false} call main_#t~mem14 := read~int(main_~pa~0.base, main_~pa~0.offset, 4); {831#false} is VALID [2020-07-28 17:59:01,911 INFO L280 TraceCheckUtils]: 16: Hoare triple {831#false} assume !(main_~i~0 < main_#t~mem14);havoc main_#t~mem14; {831#false} is VALID [2020-07-28 17:59:01,911 INFO L280 TraceCheckUtils]: 17: Hoare triple {831#false} check_#in~pc.base, check_#in~pc.offset, check_#in~i := main_~#cont~0.base, main_~#cont~0.offset, main_~i~0;havoc check_#res;havoc check_#t~mem0.base, check_#t~mem0.offset, check_#t~mem1.base, check_#t~mem1.offset, check_#t~mem2.base, check_#t~mem2.offset, check_#t~mem3, check_~pc.base, check_~pc.offset, check_~i;check_~pc.base, check_~pc.offset := check_#in~pc.base, check_#in~pc.offset;check_~i := check_#in~i;call check_#t~mem0.base, check_#t~mem0.offset := read~$Pointer$(check_~pc.base, check_~pc.offset, 4);call check_#t~mem1.base, check_#t~mem1.offset := read~$Pointer$(check_#t~mem0.base, check_#t~mem0.offset + 4 * check_~i, 4);call check_#t~mem2.base, check_#t~mem2.offset := read~$Pointer$(check_#t~mem1.base, check_#t~mem1.offset, 4);call check_#t~mem3 := read~int(check_#t~mem2.base, check_#t~mem2.offset + 4 * check_~i, 4);check_#res := (if check_#t~mem3 == check_~i then 1 else 0);havoc check_#t~mem2.base, check_#t~mem2.offset;havoc check_#t~mem1.base, check_#t~mem1.offset;havoc check_#t~mem3;havoc check_#t~mem0.base, check_#t~mem0.offset; {831#false} is VALID [2020-07-28 17:59:01,912 INFO L280 TraceCheckUtils]: 18: Hoare triple {831#false} main_#t~ret16 := check_#res;assume -2147483648 <= main_#t~ret16 && main_#t~ret16 <= 2147483647; {831#false} is VALID [2020-07-28 17:59:01,912 INFO L280 TraceCheckUtils]: 19: Hoare triple {831#false} assume 0 == main_#t~ret16;havoc main_#t~ret16; {831#false} is VALID [2020-07-28 17:59:01,912 INFO L280 TraceCheckUtils]: 20: Hoare triple {831#false} assume !false; {831#false} is VALID [2020-07-28 17:59:01,913 INFO L134 CoverageAnalysis]: Checked inductivity of 25 backedges. 0 proven. 25 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 17:59:01,914 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [150454263] [2020-07-28 17:59:01,914 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1724251328] [2020-07-28 17:59:01,914 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-28 17:59:02,207 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 6 check-sat command(s) [2020-07-28 17:59:02,208 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2020-07-28 17:59:02,210 INFO L263 TraceCheckSpWp]: Trace formula consists of 133 conjuncts, 7 conjunts are in the unsatisfiable core [2020-07-28 17:59:02,223 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:59:02,225 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 17:59:02,399 INFO L280 TraceCheckUtils]: 0: Hoare triple {830#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {830#true} is VALID [2020-07-28 17:59:02,401 INFO L280 TraceCheckUtils]: 1: Hoare triple {830#true} havoc main_#res;havoc main_#t~nondet4, main_#t~nondet6, main_#t~post5, main_~j~0, main_#t~mem7.base, main_#t~mem7.offset, main_#t~mem8.base, main_#t~mem8.offset, main_#t~mem9.base, main_#t~mem9.offset, main_#t~mem10, main_#t~mem11.base, main_#t~mem11.offset, main_#t~mem12.base, main_#t~mem12.offset, main_#t~mem13, main_#t~pre15, main_#t~mem14, main_#t~ret16, main_~#cont~0.base, main_~#cont~0.offset, main_~#dummy~0.base, main_~#dummy~0.offset, main_~#dummies~0.base, main_~#dummies~0.offset, main_~#a~0.base, main_~#a~0.offset, main_~i~0, main_~pa~0.base, main_~pa~0.offset;call main_~#cont~0.base, main_~#cont~0.offset := #Ultimate.allocOnStack(4);call main_~#dummy~0.base, main_~#dummy~0.offset := #Ultimate.allocOnStack(4);call main_~#dummies~0.base, main_~#dummies~0.offset := #Ultimate.allocOnStack(40);call main_~#a~0.base, main_~#a~0.offset := #Ultimate.allocOnStack(40);havoc main_~i~0;havoc main_~pa~0.base, main_~pa~0.offset;assume -2147483648 <= main_#t~nondet4 && main_#t~nondet4 <= 2147483647;main_~i~0 := main_#t~nondet4;havoc main_#t~nondet4;main_~j~0 := 0; {844#(<= ULTIMATE.start_main_~j~0 0)} is VALID [2020-07-28 17:59:02,402 INFO L280 TraceCheckUtils]: 2: Hoare triple {844#(<= ULTIMATE.start_main_~j~0 0)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {844#(<= ULTIMATE.start_main_~j~0 0)} is VALID [2020-07-28 17:59:02,402 INFO L280 TraceCheckUtils]: 3: Hoare triple {844#(<= ULTIMATE.start_main_~j~0 0)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {833#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:59:02,403 INFO L280 TraceCheckUtils]: 4: Hoare triple {833#(<= ULTIMATE.start_main_~j~0 1)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {833#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:59:02,404 INFO L280 TraceCheckUtils]: 5: Hoare triple {833#(<= ULTIMATE.start_main_~j~0 1)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {834#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:59:02,404 INFO L280 TraceCheckUtils]: 6: Hoare triple {834#(<= ULTIMATE.start_main_~j~0 2)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {834#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:59:02,405 INFO L280 TraceCheckUtils]: 7: Hoare triple {834#(<= ULTIMATE.start_main_~j~0 2)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {835#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:59:02,406 INFO L280 TraceCheckUtils]: 8: Hoare triple {835#(<= ULTIMATE.start_main_~j~0 3)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {835#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:59:02,408 INFO L280 TraceCheckUtils]: 9: Hoare triple {835#(<= ULTIMATE.start_main_~j~0 3)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {836#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:59:02,409 INFO L280 TraceCheckUtils]: 10: Hoare triple {836#(<= ULTIMATE.start_main_~j~0 4)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {836#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:59:02,410 INFO L280 TraceCheckUtils]: 11: Hoare triple {836#(<= ULTIMATE.start_main_~j~0 4)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {837#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:59:02,410 INFO L280 TraceCheckUtils]: 12: Hoare triple {837#(<= ULTIMATE.start_main_~j~0 5)} assume !(main_~j~0 < 10); {831#false} is VALID [2020-07-28 17:59:02,410 INFO L280 TraceCheckUtils]: 13: Hoare triple {831#false} assume main_~i~0 >= 0 && main_~i~0 < 9;call write~int(main_~i~0, main_~#a~0.base, main_~#a~0.offset + 4 * main_~i~0, 4);call write~$Pointer$(main_~#a~0.base, main_~#a~0.offset + 4 * main_~i~0, main_~#dummy~0.base, main_~#dummy~0.offset, 4);call write~$Pointer$(main_~#dummy~0.base, main_~#dummy~0.offset, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * (1 + main_~i~0), 4);call write~$Pointer$(main_~#dummies~0.base, main_~#dummies~0.offset, main_~#cont~0.base, main_~#cont~0.offset, 4);call main_#t~mem7.base, main_#t~mem7.offset := read~$Pointer$(main_~#cont~0.base, main_~#cont~0.offset, 4);call main_#t~mem8.base, main_#t~mem8.offset := read~$Pointer$(main_#t~mem7.base, main_#t~mem7.offset + 4 * main_~i~0, 4);call main_#t~mem9.base, main_#t~mem9.offset := read~$Pointer$(main_#t~mem8.base, main_#t~mem8.offset, 4);main_~pa~0.base, main_~pa~0.offset := main_#t~mem9.base, main_#t~mem9.offset + 4 * main_~i~0;havoc main_#t~mem7.base, main_#t~mem7.offset;havoc main_#t~mem8.base, main_#t~mem8.offset;havoc main_#t~mem9.base, main_#t~mem9.offset;call main_#t~mem10 := read~int(main_~#a~0.base, main_~#a~0.offset + 4 * main_~i~0, 4); {831#false} is VALID [2020-07-28 17:59:02,411 INFO L280 TraceCheckUtils]: 14: Hoare triple {831#false} assume main_#t~mem10 > 0;havoc main_#t~mem10;call main_#t~mem11.base, main_#t~mem11.offset := read~$Pointer$(main_~#dummies~0.base, main_~#dummies~0.offset + 4 * (1 + main_~i~0), 4);call main_#t~mem12.base, main_#t~mem12.offset := read~$Pointer$(main_#t~mem11.base, main_#t~mem11.offset, 4);call main_#t~mem13 := read~int(main_#t~mem12.base, main_#t~mem12.offset + 4 * main_~i~0, 4);main_~i~0 := main_#t~mem13 - 10;havoc main_#t~mem12.base, main_#t~mem12.offset;havoc main_#t~mem11.base, main_#t~mem11.offset;havoc main_#t~mem13; {831#false} is VALID [2020-07-28 17:59:02,411 INFO L280 TraceCheckUtils]: 15: Hoare triple {831#false} call main_#t~mem14 := read~int(main_~pa~0.base, main_~pa~0.offset, 4); {831#false} is VALID [2020-07-28 17:59:02,411 INFO L280 TraceCheckUtils]: 16: Hoare triple {831#false} assume !(main_~i~0 < main_#t~mem14);havoc main_#t~mem14; {831#false} is VALID [2020-07-28 17:59:02,411 INFO L280 TraceCheckUtils]: 17: Hoare triple {831#false} check_#in~pc.base, check_#in~pc.offset, check_#in~i := main_~#cont~0.base, main_~#cont~0.offset, main_~i~0;havoc check_#res;havoc check_#t~mem0.base, check_#t~mem0.offset, check_#t~mem1.base, check_#t~mem1.offset, check_#t~mem2.base, check_#t~mem2.offset, check_#t~mem3, check_~pc.base, check_~pc.offset, check_~i;check_~pc.base, check_~pc.offset := check_#in~pc.base, check_#in~pc.offset;check_~i := check_#in~i;call check_#t~mem0.base, check_#t~mem0.offset := read~$Pointer$(check_~pc.base, check_~pc.offset, 4);call check_#t~mem1.base, check_#t~mem1.offset := read~$Pointer$(check_#t~mem0.base, check_#t~mem0.offset + 4 * check_~i, 4);call check_#t~mem2.base, check_#t~mem2.offset := read~$Pointer$(check_#t~mem1.base, check_#t~mem1.offset, 4);call check_#t~mem3 := read~int(check_#t~mem2.base, check_#t~mem2.offset + 4 * check_~i, 4);check_#res := (if check_#t~mem3 == check_~i then 1 else 0);havoc check_#t~mem2.base, check_#t~mem2.offset;havoc check_#t~mem1.base, check_#t~mem1.offset;havoc check_#t~mem3;havoc check_#t~mem0.base, check_#t~mem0.offset; {831#false} is VALID [2020-07-28 17:59:02,411 INFO L280 TraceCheckUtils]: 18: Hoare triple {831#false} main_#t~ret16 := check_#res;assume -2147483648 <= main_#t~ret16 && main_#t~ret16 <= 2147483647; {831#false} is VALID [2020-07-28 17:59:02,412 INFO L280 TraceCheckUtils]: 19: Hoare triple {831#false} assume 0 == main_#t~ret16;havoc main_#t~ret16; {831#false} is VALID [2020-07-28 17:59:02,412 INFO L280 TraceCheckUtils]: 20: Hoare triple {831#false} assume !false; {831#false} is VALID [2020-07-28 17:59:02,412 INFO L134 CoverageAnalysis]: Checked inductivity of 25 backedges. 0 proven. 25 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 17:59:02,413 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-28 17:59:02,413 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2020-07-28 17:59:02,413 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1267230918] [2020-07-28 17:59:02,413 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 21 [2020-07-28 17:59:02,414 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 17:59:02,414 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2020-07-28 17:59:02,460 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 17:59:02,460 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2020-07-28 17:59:02,460 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-28 17:59:02,460 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2020-07-28 17:59:02,460 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=36, Unknown=0, NotChecked=0, Total=72 [2020-07-28 17:59:02,461 INFO L87 Difference]: Start difference. First operand 22 states and 23 transitions. Second operand 9 states. [2020-07-28 17:59:02,667 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:59:02,667 INFO L93 Difference]: Finished difference Result 34 states and 36 transitions. [2020-07-28 17:59:02,667 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2020-07-28 17:59:02,667 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 21 [2020-07-28 17:59:02,668 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 17:59:02,668 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-28 17:59:02,669 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 36 transitions. [2020-07-28 17:59:02,669 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-28 17:59:02,670 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 36 transitions. [2020-07-28 17:59:02,671 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 36 transitions. [2020-07-28 17:59:02,718 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 17:59:02,719 INFO L225 Difference]: With dead ends: 34 [2020-07-28 17:59:02,719 INFO L226 Difference]: Without dead ends: 25 [2020-07-28 17:59:02,720 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 21 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=36, Invalid=36, Unknown=0, NotChecked=0, Total=72 [2020-07-28 17:59:02,720 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 25 states. [2020-07-28 17:59:02,731 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 25 to 24. [2020-07-28 17:59:02,731 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 17:59:02,732 INFO L82 GeneralOperation]: Start isEquivalent. First operand 25 states. Second operand 24 states. [2020-07-28 17:59:02,732 INFO L74 IsIncluded]: Start isIncluded. First operand 25 states. Second operand 24 states. [2020-07-28 17:59:02,732 INFO L87 Difference]: Start difference. First operand 25 states. Second operand 24 states. [2020-07-28 17:59:02,733 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:59:02,733 INFO L93 Difference]: Finished difference Result 25 states and 26 transitions. [2020-07-28 17:59:02,733 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 26 transitions. [2020-07-28 17:59:02,734 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:59:02,734 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:59:02,734 INFO L74 IsIncluded]: Start isIncluded. First operand 24 states. Second operand 25 states. [2020-07-28 17:59:02,734 INFO L87 Difference]: Start difference. First operand 24 states. Second operand 25 states. [2020-07-28 17:59:02,735 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:59:02,735 INFO L93 Difference]: Finished difference Result 25 states and 26 transitions. [2020-07-28 17:59:02,735 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 26 transitions. [2020-07-28 17:59:02,736 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:59:02,736 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:59:02,736 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 17:59:02,736 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 17:59:02,736 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2020-07-28 17:59:02,737 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 25 transitions. [2020-07-28 17:59:02,737 INFO L78 Accepts]: Start accepts. Automaton has 24 states and 25 transitions. Word has length 21 [2020-07-28 17:59:02,737 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 17:59:02,737 INFO L479 AbstractCegarLoop]: Abstraction has 24 states and 25 transitions. [2020-07-28 17:59:02,738 INFO L480 AbstractCegarLoop]: Interpolant automaton has 9 states. [2020-07-28 17:59:02,738 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 25 transitions. [2020-07-28 17:59:02,738 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2020-07-28 17:59:02,738 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 17:59:02,738 INFO L422 BasicCegarLoop]: trace histogram [6, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 17:59:02,947 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 6 z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable6 [2020-07-28 17:59:02,948 INFO L427 AbstractCegarLoop]: === Iteration 8 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 17:59:02,949 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 17:59:02,949 INFO L82 PathProgramCache]: Analyzing trace with hash -616519604, now seen corresponding path program 6 times [2020-07-28 17:59:02,949 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 17:59:02,950 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [509884817] [2020-07-28 17:59:02,950 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 17:59:02,983 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:59:03,107 INFO L280 TraceCheckUtils]: 0: Hoare triple {1032#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {1032#true} is VALID [2020-07-28 17:59:03,113 INFO L280 TraceCheckUtils]: 1: Hoare triple {1032#true} havoc main_#res;havoc main_#t~nondet4, main_#t~nondet6, main_#t~post5, main_~j~0, main_#t~mem7.base, main_#t~mem7.offset, main_#t~mem8.base, main_#t~mem8.offset, main_#t~mem9.base, main_#t~mem9.offset, main_#t~mem10, main_#t~mem11.base, main_#t~mem11.offset, main_#t~mem12.base, main_#t~mem12.offset, main_#t~mem13, main_#t~pre15, main_#t~mem14, main_#t~ret16, main_~#cont~0.base, main_~#cont~0.offset, main_~#dummy~0.base, main_~#dummy~0.offset, main_~#dummies~0.base, main_~#dummies~0.offset, main_~#a~0.base, main_~#a~0.offset, main_~i~0, main_~pa~0.base, main_~pa~0.offset;call main_~#cont~0.base, main_~#cont~0.offset := #Ultimate.allocOnStack(4);call main_~#dummy~0.base, main_~#dummy~0.offset := #Ultimate.allocOnStack(4);call main_~#dummies~0.base, main_~#dummies~0.offset := #Ultimate.allocOnStack(40);call main_~#a~0.base, main_~#a~0.offset := #Ultimate.allocOnStack(40);havoc main_~i~0;havoc main_~pa~0.base, main_~pa~0.offset;assume -2147483648 <= main_#t~nondet4 && main_#t~nondet4 <= 2147483647;main_~i~0 := main_#t~nondet4;havoc main_#t~nondet4;main_~j~0 := 0; {1034#(= 0 ULTIMATE.start_main_~j~0)} is VALID [2020-07-28 17:59:03,114 INFO L280 TraceCheckUtils]: 2: Hoare triple {1034#(= 0 ULTIMATE.start_main_~j~0)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {1034#(= 0 ULTIMATE.start_main_~j~0)} is VALID [2020-07-28 17:59:03,115 INFO L280 TraceCheckUtils]: 3: Hoare triple {1034#(= 0 ULTIMATE.start_main_~j~0)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {1035#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:59:03,115 INFO L280 TraceCheckUtils]: 4: Hoare triple {1035#(<= ULTIMATE.start_main_~j~0 1)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {1035#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:59:03,116 INFO L280 TraceCheckUtils]: 5: Hoare triple {1035#(<= ULTIMATE.start_main_~j~0 1)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {1036#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:59:03,117 INFO L280 TraceCheckUtils]: 6: Hoare triple {1036#(<= ULTIMATE.start_main_~j~0 2)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {1036#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:59:03,117 INFO L280 TraceCheckUtils]: 7: Hoare triple {1036#(<= ULTIMATE.start_main_~j~0 2)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {1037#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:59:03,118 INFO L280 TraceCheckUtils]: 8: Hoare triple {1037#(<= ULTIMATE.start_main_~j~0 3)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {1037#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:59:03,119 INFO L280 TraceCheckUtils]: 9: Hoare triple {1037#(<= ULTIMATE.start_main_~j~0 3)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {1038#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:59:03,119 INFO L280 TraceCheckUtils]: 10: Hoare triple {1038#(<= ULTIMATE.start_main_~j~0 4)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {1038#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:59:03,120 INFO L280 TraceCheckUtils]: 11: Hoare triple {1038#(<= ULTIMATE.start_main_~j~0 4)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {1039#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:59:03,120 INFO L280 TraceCheckUtils]: 12: Hoare triple {1039#(<= ULTIMATE.start_main_~j~0 5)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {1039#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:59:03,121 INFO L280 TraceCheckUtils]: 13: Hoare triple {1039#(<= ULTIMATE.start_main_~j~0 5)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {1040#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:59:03,127 INFO L280 TraceCheckUtils]: 14: Hoare triple {1040#(<= ULTIMATE.start_main_~j~0 6)} assume !(main_~j~0 < 10); {1033#false} is VALID [2020-07-28 17:59:03,127 INFO L280 TraceCheckUtils]: 15: Hoare triple {1033#false} assume main_~i~0 >= 0 && main_~i~0 < 9;call write~int(main_~i~0, main_~#a~0.base, main_~#a~0.offset + 4 * main_~i~0, 4);call write~$Pointer$(main_~#a~0.base, main_~#a~0.offset + 4 * main_~i~0, main_~#dummy~0.base, main_~#dummy~0.offset, 4);call write~$Pointer$(main_~#dummy~0.base, main_~#dummy~0.offset, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * (1 + main_~i~0), 4);call write~$Pointer$(main_~#dummies~0.base, main_~#dummies~0.offset, main_~#cont~0.base, main_~#cont~0.offset, 4);call main_#t~mem7.base, main_#t~mem7.offset := read~$Pointer$(main_~#cont~0.base, main_~#cont~0.offset, 4);call main_#t~mem8.base, main_#t~mem8.offset := read~$Pointer$(main_#t~mem7.base, main_#t~mem7.offset + 4 * main_~i~0, 4);call main_#t~mem9.base, main_#t~mem9.offset := read~$Pointer$(main_#t~mem8.base, main_#t~mem8.offset, 4);main_~pa~0.base, main_~pa~0.offset := main_#t~mem9.base, main_#t~mem9.offset + 4 * main_~i~0;havoc main_#t~mem7.base, main_#t~mem7.offset;havoc main_#t~mem8.base, main_#t~mem8.offset;havoc main_#t~mem9.base, main_#t~mem9.offset;call main_#t~mem10 := read~int(main_~#a~0.base, main_~#a~0.offset + 4 * main_~i~0, 4); {1033#false} is VALID [2020-07-28 17:59:03,127 INFO L280 TraceCheckUtils]: 16: Hoare triple {1033#false} assume main_#t~mem10 > 0;havoc main_#t~mem10;call main_#t~mem11.base, main_#t~mem11.offset := read~$Pointer$(main_~#dummies~0.base, main_~#dummies~0.offset + 4 * (1 + main_~i~0), 4);call main_#t~mem12.base, main_#t~mem12.offset := read~$Pointer$(main_#t~mem11.base, main_#t~mem11.offset, 4);call main_#t~mem13 := read~int(main_#t~mem12.base, main_#t~mem12.offset + 4 * main_~i~0, 4);main_~i~0 := main_#t~mem13 - 10;havoc main_#t~mem12.base, main_#t~mem12.offset;havoc main_#t~mem11.base, main_#t~mem11.offset;havoc main_#t~mem13; {1033#false} is VALID [2020-07-28 17:59:03,128 INFO L280 TraceCheckUtils]: 17: Hoare triple {1033#false} call main_#t~mem14 := read~int(main_~pa~0.base, main_~pa~0.offset, 4); {1033#false} is VALID [2020-07-28 17:59:03,128 INFO L280 TraceCheckUtils]: 18: Hoare triple {1033#false} assume !(main_~i~0 < main_#t~mem14);havoc main_#t~mem14; {1033#false} is VALID [2020-07-28 17:59:03,128 INFO L280 TraceCheckUtils]: 19: Hoare triple {1033#false} check_#in~pc.base, check_#in~pc.offset, check_#in~i := main_~#cont~0.base, main_~#cont~0.offset, main_~i~0;havoc check_#res;havoc check_#t~mem0.base, check_#t~mem0.offset, check_#t~mem1.base, check_#t~mem1.offset, check_#t~mem2.base, check_#t~mem2.offset, check_#t~mem3, check_~pc.base, check_~pc.offset, check_~i;check_~pc.base, check_~pc.offset := check_#in~pc.base, check_#in~pc.offset;check_~i := check_#in~i;call check_#t~mem0.base, check_#t~mem0.offset := read~$Pointer$(check_~pc.base, check_~pc.offset, 4);call check_#t~mem1.base, check_#t~mem1.offset := read~$Pointer$(check_#t~mem0.base, check_#t~mem0.offset + 4 * check_~i, 4);call check_#t~mem2.base, check_#t~mem2.offset := read~$Pointer$(check_#t~mem1.base, check_#t~mem1.offset, 4);call check_#t~mem3 := read~int(check_#t~mem2.base, check_#t~mem2.offset + 4 * check_~i, 4);check_#res := (if check_#t~mem3 == check_~i then 1 else 0);havoc check_#t~mem2.base, check_#t~mem2.offset;havoc check_#t~mem1.base, check_#t~mem1.offset;havoc check_#t~mem3;havoc check_#t~mem0.base, check_#t~mem0.offset; {1033#false} is VALID [2020-07-28 17:59:03,128 INFO L280 TraceCheckUtils]: 20: Hoare triple {1033#false} main_#t~ret16 := check_#res;assume -2147483648 <= main_#t~ret16 && main_#t~ret16 <= 2147483647; {1033#false} is VALID [2020-07-28 17:59:03,128 INFO L280 TraceCheckUtils]: 21: Hoare triple {1033#false} assume 0 == main_#t~ret16;havoc main_#t~ret16; {1033#false} is VALID [2020-07-28 17:59:03,129 INFO L280 TraceCheckUtils]: 22: Hoare triple {1033#false} assume !false; {1033#false} is VALID [2020-07-28 17:59:03,130 INFO L134 CoverageAnalysis]: Checked inductivity of 36 backedges. 0 proven. 36 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 17:59:03,130 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [509884817] [2020-07-28 17:59:03,130 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1943253396] [2020-07-28 17:59:03,130 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-28 17:59:04,499 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2020-07-28 17:59:04,499 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2020-07-28 17:59:04,503 INFO L263 TraceCheckSpWp]: Trace formula consists of 143 conjuncts, 8 conjunts are in the unsatisfiable core [2020-07-28 17:59:04,513 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:59:04,514 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 17:59:04,708 INFO L280 TraceCheckUtils]: 0: Hoare triple {1032#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {1032#true} is VALID [2020-07-28 17:59:04,710 INFO L280 TraceCheckUtils]: 1: Hoare triple {1032#true} havoc main_#res;havoc main_#t~nondet4, main_#t~nondet6, main_#t~post5, main_~j~0, main_#t~mem7.base, main_#t~mem7.offset, main_#t~mem8.base, main_#t~mem8.offset, main_#t~mem9.base, main_#t~mem9.offset, main_#t~mem10, main_#t~mem11.base, main_#t~mem11.offset, main_#t~mem12.base, main_#t~mem12.offset, main_#t~mem13, main_#t~pre15, main_#t~mem14, main_#t~ret16, main_~#cont~0.base, main_~#cont~0.offset, main_~#dummy~0.base, main_~#dummy~0.offset, main_~#dummies~0.base, main_~#dummies~0.offset, main_~#a~0.base, main_~#a~0.offset, main_~i~0, main_~pa~0.base, main_~pa~0.offset;call main_~#cont~0.base, main_~#cont~0.offset := #Ultimate.allocOnStack(4);call main_~#dummy~0.base, main_~#dummy~0.offset := #Ultimate.allocOnStack(4);call main_~#dummies~0.base, main_~#dummies~0.offset := #Ultimate.allocOnStack(40);call main_~#a~0.base, main_~#a~0.offset := #Ultimate.allocOnStack(40);havoc main_~i~0;havoc main_~pa~0.base, main_~pa~0.offset;assume -2147483648 <= main_#t~nondet4 && main_#t~nondet4 <= 2147483647;main_~i~0 := main_#t~nondet4;havoc main_#t~nondet4;main_~j~0 := 0; {1047#(<= ULTIMATE.start_main_~j~0 0)} is VALID [2020-07-28 17:59:04,710 INFO L280 TraceCheckUtils]: 2: Hoare triple {1047#(<= ULTIMATE.start_main_~j~0 0)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {1047#(<= ULTIMATE.start_main_~j~0 0)} is VALID [2020-07-28 17:59:04,711 INFO L280 TraceCheckUtils]: 3: Hoare triple {1047#(<= ULTIMATE.start_main_~j~0 0)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {1035#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:59:04,712 INFO L280 TraceCheckUtils]: 4: Hoare triple {1035#(<= ULTIMATE.start_main_~j~0 1)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {1035#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:59:04,713 INFO L280 TraceCheckUtils]: 5: Hoare triple {1035#(<= ULTIMATE.start_main_~j~0 1)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {1036#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:59:04,713 INFO L280 TraceCheckUtils]: 6: Hoare triple {1036#(<= ULTIMATE.start_main_~j~0 2)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {1036#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:59:04,714 INFO L280 TraceCheckUtils]: 7: Hoare triple {1036#(<= ULTIMATE.start_main_~j~0 2)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {1037#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:59:04,715 INFO L280 TraceCheckUtils]: 8: Hoare triple {1037#(<= ULTIMATE.start_main_~j~0 3)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {1037#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:59:04,715 INFO L280 TraceCheckUtils]: 9: Hoare triple {1037#(<= ULTIMATE.start_main_~j~0 3)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {1038#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:59:04,716 INFO L280 TraceCheckUtils]: 10: Hoare triple {1038#(<= ULTIMATE.start_main_~j~0 4)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {1038#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:59:04,717 INFO L280 TraceCheckUtils]: 11: Hoare triple {1038#(<= ULTIMATE.start_main_~j~0 4)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {1039#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:59:04,718 INFO L280 TraceCheckUtils]: 12: Hoare triple {1039#(<= ULTIMATE.start_main_~j~0 5)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {1039#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:59:04,718 INFO L280 TraceCheckUtils]: 13: Hoare triple {1039#(<= ULTIMATE.start_main_~j~0 5)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {1040#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:59:04,719 INFO L280 TraceCheckUtils]: 14: Hoare triple {1040#(<= ULTIMATE.start_main_~j~0 6)} assume !(main_~j~0 < 10); {1033#false} is VALID [2020-07-28 17:59:04,719 INFO L280 TraceCheckUtils]: 15: Hoare triple {1033#false} assume main_~i~0 >= 0 && main_~i~0 < 9;call write~int(main_~i~0, main_~#a~0.base, main_~#a~0.offset + 4 * main_~i~0, 4);call write~$Pointer$(main_~#a~0.base, main_~#a~0.offset + 4 * main_~i~0, main_~#dummy~0.base, main_~#dummy~0.offset, 4);call write~$Pointer$(main_~#dummy~0.base, main_~#dummy~0.offset, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * (1 + main_~i~0), 4);call write~$Pointer$(main_~#dummies~0.base, main_~#dummies~0.offset, main_~#cont~0.base, main_~#cont~0.offset, 4);call main_#t~mem7.base, main_#t~mem7.offset := read~$Pointer$(main_~#cont~0.base, main_~#cont~0.offset, 4);call main_#t~mem8.base, main_#t~mem8.offset := read~$Pointer$(main_#t~mem7.base, main_#t~mem7.offset + 4 * main_~i~0, 4);call main_#t~mem9.base, main_#t~mem9.offset := read~$Pointer$(main_#t~mem8.base, main_#t~mem8.offset, 4);main_~pa~0.base, main_~pa~0.offset := main_#t~mem9.base, main_#t~mem9.offset + 4 * main_~i~0;havoc main_#t~mem7.base, main_#t~mem7.offset;havoc main_#t~mem8.base, main_#t~mem8.offset;havoc main_#t~mem9.base, main_#t~mem9.offset;call main_#t~mem10 := read~int(main_~#a~0.base, main_~#a~0.offset + 4 * main_~i~0, 4); {1033#false} is VALID [2020-07-28 17:59:04,720 INFO L280 TraceCheckUtils]: 16: Hoare triple {1033#false} assume main_#t~mem10 > 0;havoc main_#t~mem10;call main_#t~mem11.base, main_#t~mem11.offset := read~$Pointer$(main_~#dummies~0.base, main_~#dummies~0.offset + 4 * (1 + main_~i~0), 4);call main_#t~mem12.base, main_#t~mem12.offset := read~$Pointer$(main_#t~mem11.base, main_#t~mem11.offset, 4);call main_#t~mem13 := read~int(main_#t~mem12.base, main_#t~mem12.offset + 4 * main_~i~0, 4);main_~i~0 := main_#t~mem13 - 10;havoc main_#t~mem12.base, main_#t~mem12.offset;havoc main_#t~mem11.base, main_#t~mem11.offset;havoc main_#t~mem13; {1033#false} is VALID [2020-07-28 17:59:04,720 INFO L280 TraceCheckUtils]: 17: Hoare triple {1033#false} call main_#t~mem14 := read~int(main_~pa~0.base, main_~pa~0.offset, 4); {1033#false} is VALID [2020-07-28 17:59:04,720 INFO L280 TraceCheckUtils]: 18: Hoare triple {1033#false} assume !(main_~i~0 < main_#t~mem14);havoc main_#t~mem14; {1033#false} is VALID [2020-07-28 17:59:04,720 INFO L280 TraceCheckUtils]: 19: Hoare triple {1033#false} check_#in~pc.base, check_#in~pc.offset, check_#in~i := main_~#cont~0.base, main_~#cont~0.offset, main_~i~0;havoc check_#res;havoc check_#t~mem0.base, check_#t~mem0.offset, check_#t~mem1.base, check_#t~mem1.offset, check_#t~mem2.base, check_#t~mem2.offset, check_#t~mem3, check_~pc.base, check_~pc.offset, check_~i;check_~pc.base, check_~pc.offset := check_#in~pc.base, check_#in~pc.offset;check_~i := check_#in~i;call check_#t~mem0.base, check_#t~mem0.offset := read~$Pointer$(check_~pc.base, check_~pc.offset, 4);call check_#t~mem1.base, check_#t~mem1.offset := read~$Pointer$(check_#t~mem0.base, check_#t~mem0.offset + 4 * check_~i, 4);call check_#t~mem2.base, check_#t~mem2.offset := read~$Pointer$(check_#t~mem1.base, check_#t~mem1.offset, 4);call check_#t~mem3 := read~int(check_#t~mem2.base, check_#t~mem2.offset + 4 * check_~i, 4);check_#res := (if check_#t~mem3 == check_~i then 1 else 0);havoc check_#t~mem2.base, check_#t~mem2.offset;havoc check_#t~mem1.base, check_#t~mem1.offset;havoc check_#t~mem3;havoc check_#t~mem0.base, check_#t~mem0.offset; {1033#false} is VALID [2020-07-28 17:59:04,720 INFO L280 TraceCheckUtils]: 20: Hoare triple {1033#false} main_#t~ret16 := check_#res;assume -2147483648 <= main_#t~ret16 && main_#t~ret16 <= 2147483647; {1033#false} is VALID [2020-07-28 17:59:04,721 INFO L280 TraceCheckUtils]: 21: Hoare triple {1033#false} assume 0 == main_#t~ret16;havoc main_#t~ret16; {1033#false} is VALID [2020-07-28 17:59:04,721 INFO L280 TraceCheckUtils]: 22: Hoare triple {1033#false} assume !false; {1033#false} is VALID [2020-07-28 17:59:04,722 INFO L134 CoverageAnalysis]: Checked inductivity of 36 backedges. 0 proven. 36 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 17:59:04,722 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-28 17:59:04,722 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 10 [2020-07-28 17:59:04,723 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1924544703] [2020-07-28 17:59:04,723 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 23 [2020-07-28 17:59:04,723 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 17:59:04,723 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2020-07-28 17:59:04,759 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 26 edges. 26 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 17:59:04,759 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2020-07-28 17:59:04,759 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-28 17:59:04,759 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2020-07-28 17:59:04,760 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=45, Unknown=0, NotChecked=0, Total=90 [2020-07-28 17:59:04,760 INFO L87 Difference]: Start difference. First operand 24 states and 25 transitions. Second operand 10 states. [2020-07-28 17:59:04,887 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:59:04,888 INFO L93 Difference]: Finished difference Result 36 states and 38 transitions. [2020-07-28 17:59:04,888 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2020-07-28 17:59:04,888 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 23 [2020-07-28 17:59:04,888 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 17:59:04,888 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-28 17:59:04,889 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 38 transitions. [2020-07-28 17:59:04,889 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-28 17:59:04,890 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 38 transitions. [2020-07-28 17:59:04,890 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 38 transitions. [2020-07-28 17:59:04,945 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 17:59:04,945 INFO L225 Difference]: With dead ends: 36 [2020-07-28 17:59:04,946 INFO L226 Difference]: Without dead ends: 27 [2020-07-28 17:59:04,946 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 31 GetRequests, 23 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 10 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=45, Invalid=45, Unknown=0, NotChecked=0, Total=90 [2020-07-28 17:59:04,947 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2020-07-28 17:59:04,966 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 26. [2020-07-28 17:59:04,966 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 17:59:04,966 INFO L82 GeneralOperation]: Start isEquivalent. First operand 27 states. Second operand 26 states. [2020-07-28 17:59:04,967 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand 26 states. [2020-07-28 17:59:04,967 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 26 states. [2020-07-28 17:59:04,968 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:59:04,969 INFO L93 Difference]: Finished difference Result 27 states and 28 transitions. [2020-07-28 17:59:04,969 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 28 transitions. [2020-07-28 17:59:04,969 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:59:04,969 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:59:04,970 INFO L74 IsIncluded]: Start isIncluded. First operand 26 states. Second operand 27 states. [2020-07-28 17:59:04,970 INFO L87 Difference]: Start difference. First operand 26 states. Second operand 27 states. [2020-07-28 17:59:04,971 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:59:04,972 INFO L93 Difference]: Finished difference Result 27 states and 28 transitions. [2020-07-28 17:59:04,972 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 28 transitions. [2020-07-28 17:59:04,972 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:59:04,973 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:59:04,973 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 17:59:04,973 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 17:59:04,973 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2020-07-28 17:59:04,974 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 27 transitions. [2020-07-28 17:59:04,975 INFO L78 Accepts]: Start accepts. Automaton has 26 states and 27 transitions. Word has length 23 [2020-07-28 17:59:04,975 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 17:59:04,975 INFO L479 AbstractCegarLoop]: Abstraction has 26 states and 27 transitions. [2020-07-28 17:59:04,975 INFO L480 AbstractCegarLoop]: Interpolant automaton has 10 states. [2020-07-28 17:59:04,976 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 27 transitions. [2020-07-28 17:59:04,976 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2020-07-28 17:59:04,976 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 17:59:04,977 INFO L422 BasicCegarLoop]: trace histogram [7, 7, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 17:59:05,177 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,7 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-28 17:59:05,178 INFO L427 AbstractCegarLoop]: === Iteration 9 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 17:59:05,179 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 17:59:05,179 INFO L82 PathProgramCache]: Analyzing trace with hash 4509962, now seen corresponding path program 7 times [2020-07-28 17:59:05,179 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 17:59:05,180 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1191696398] [2020-07-28 17:59:05,180 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 17:59:05,205 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:59:05,316 INFO L280 TraceCheckUtils]: 0: Hoare triple {1251#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {1251#true} is VALID [2020-07-28 17:59:05,317 INFO L280 TraceCheckUtils]: 1: Hoare triple {1251#true} havoc main_#res;havoc main_#t~nondet4, main_#t~nondet6, main_#t~post5, main_~j~0, main_#t~mem7.base, main_#t~mem7.offset, main_#t~mem8.base, main_#t~mem8.offset, main_#t~mem9.base, main_#t~mem9.offset, main_#t~mem10, main_#t~mem11.base, main_#t~mem11.offset, main_#t~mem12.base, main_#t~mem12.offset, main_#t~mem13, main_#t~pre15, main_#t~mem14, main_#t~ret16, main_~#cont~0.base, main_~#cont~0.offset, main_~#dummy~0.base, main_~#dummy~0.offset, main_~#dummies~0.base, main_~#dummies~0.offset, main_~#a~0.base, main_~#a~0.offset, main_~i~0, main_~pa~0.base, main_~pa~0.offset;call main_~#cont~0.base, main_~#cont~0.offset := #Ultimate.allocOnStack(4);call main_~#dummy~0.base, main_~#dummy~0.offset := #Ultimate.allocOnStack(4);call main_~#dummies~0.base, main_~#dummies~0.offset := #Ultimate.allocOnStack(40);call main_~#a~0.base, main_~#a~0.offset := #Ultimate.allocOnStack(40);havoc main_~i~0;havoc main_~pa~0.base, main_~pa~0.offset;assume -2147483648 <= main_#t~nondet4 && main_#t~nondet4 <= 2147483647;main_~i~0 := main_#t~nondet4;havoc main_#t~nondet4;main_~j~0 := 0; {1253#(= 0 ULTIMATE.start_main_~j~0)} is VALID [2020-07-28 17:59:05,318 INFO L280 TraceCheckUtils]: 2: Hoare triple {1253#(= 0 ULTIMATE.start_main_~j~0)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {1253#(= 0 ULTIMATE.start_main_~j~0)} is VALID [2020-07-28 17:59:05,319 INFO L280 TraceCheckUtils]: 3: Hoare triple {1253#(= 0 ULTIMATE.start_main_~j~0)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {1254#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:59:05,320 INFO L280 TraceCheckUtils]: 4: Hoare triple {1254#(<= ULTIMATE.start_main_~j~0 1)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {1254#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:59:05,321 INFO L280 TraceCheckUtils]: 5: Hoare triple {1254#(<= ULTIMATE.start_main_~j~0 1)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {1255#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:59:05,322 INFO L280 TraceCheckUtils]: 6: Hoare triple {1255#(<= ULTIMATE.start_main_~j~0 2)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {1255#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:59:05,323 INFO L280 TraceCheckUtils]: 7: Hoare triple {1255#(<= ULTIMATE.start_main_~j~0 2)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {1256#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:59:05,324 INFO L280 TraceCheckUtils]: 8: Hoare triple {1256#(<= ULTIMATE.start_main_~j~0 3)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {1256#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:59:05,325 INFO L280 TraceCheckUtils]: 9: Hoare triple {1256#(<= ULTIMATE.start_main_~j~0 3)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {1257#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:59:05,326 INFO L280 TraceCheckUtils]: 10: Hoare triple {1257#(<= ULTIMATE.start_main_~j~0 4)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {1257#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:59:05,327 INFO L280 TraceCheckUtils]: 11: Hoare triple {1257#(<= ULTIMATE.start_main_~j~0 4)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {1258#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:59:05,328 INFO L280 TraceCheckUtils]: 12: Hoare triple {1258#(<= ULTIMATE.start_main_~j~0 5)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {1258#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:59:05,329 INFO L280 TraceCheckUtils]: 13: Hoare triple {1258#(<= ULTIMATE.start_main_~j~0 5)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {1259#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:59:05,330 INFO L280 TraceCheckUtils]: 14: Hoare triple {1259#(<= ULTIMATE.start_main_~j~0 6)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {1259#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:59:05,331 INFO L280 TraceCheckUtils]: 15: Hoare triple {1259#(<= ULTIMATE.start_main_~j~0 6)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {1260#(<= ULTIMATE.start_main_~j~0 7)} is VALID [2020-07-28 17:59:05,332 INFO L280 TraceCheckUtils]: 16: Hoare triple {1260#(<= ULTIMATE.start_main_~j~0 7)} assume !(main_~j~0 < 10); {1252#false} is VALID [2020-07-28 17:59:05,333 INFO L280 TraceCheckUtils]: 17: Hoare triple {1252#false} assume main_~i~0 >= 0 && main_~i~0 < 9;call write~int(main_~i~0, main_~#a~0.base, main_~#a~0.offset + 4 * main_~i~0, 4);call write~$Pointer$(main_~#a~0.base, main_~#a~0.offset + 4 * main_~i~0, main_~#dummy~0.base, main_~#dummy~0.offset, 4);call write~$Pointer$(main_~#dummy~0.base, main_~#dummy~0.offset, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * (1 + main_~i~0), 4);call write~$Pointer$(main_~#dummies~0.base, main_~#dummies~0.offset, main_~#cont~0.base, main_~#cont~0.offset, 4);call main_#t~mem7.base, main_#t~mem7.offset := read~$Pointer$(main_~#cont~0.base, main_~#cont~0.offset, 4);call main_#t~mem8.base, main_#t~mem8.offset := read~$Pointer$(main_#t~mem7.base, main_#t~mem7.offset + 4 * main_~i~0, 4);call main_#t~mem9.base, main_#t~mem9.offset := read~$Pointer$(main_#t~mem8.base, main_#t~mem8.offset, 4);main_~pa~0.base, main_~pa~0.offset := main_#t~mem9.base, main_#t~mem9.offset + 4 * main_~i~0;havoc main_#t~mem7.base, main_#t~mem7.offset;havoc main_#t~mem8.base, main_#t~mem8.offset;havoc main_#t~mem9.base, main_#t~mem9.offset;call main_#t~mem10 := read~int(main_~#a~0.base, main_~#a~0.offset + 4 * main_~i~0, 4); {1252#false} is VALID [2020-07-28 17:59:05,333 INFO L280 TraceCheckUtils]: 18: Hoare triple {1252#false} assume main_#t~mem10 > 0;havoc main_#t~mem10;call main_#t~mem11.base, main_#t~mem11.offset := read~$Pointer$(main_~#dummies~0.base, main_~#dummies~0.offset + 4 * (1 + main_~i~0), 4);call main_#t~mem12.base, main_#t~mem12.offset := read~$Pointer$(main_#t~mem11.base, main_#t~mem11.offset, 4);call main_#t~mem13 := read~int(main_#t~mem12.base, main_#t~mem12.offset + 4 * main_~i~0, 4);main_~i~0 := main_#t~mem13 - 10;havoc main_#t~mem12.base, main_#t~mem12.offset;havoc main_#t~mem11.base, main_#t~mem11.offset;havoc main_#t~mem13; {1252#false} is VALID [2020-07-28 17:59:05,333 INFO L280 TraceCheckUtils]: 19: Hoare triple {1252#false} call main_#t~mem14 := read~int(main_~pa~0.base, main_~pa~0.offset, 4); {1252#false} is VALID [2020-07-28 17:59:05,334 INFO L280 TraceCheckUtils]: 20: Hoare triple {1252#false} assume !(main_~i~0 < main_#t~mem14);havoc main_#t~mem14; {1252#false} is VALID [2020-07-28 17:59:05,334 INFO L280 TraceCheckUtils]: 21: Hoare triple {1252#false} check_#in~pc.base, check_#in~pc.offset, check_#in~i := main_~#cont~0.base, main_~#cont~0.offset, main_~i~0;havoc check_#res;havoc check_#t~mem0.base, check_#t~mem0.offset, check_#t~mem1.base, check_#t~mem1.offset, check_#t~mem2.base, check_#t~mem2.offset, check_#t~mem3, check_~pc.base, check_~pc.offset, check_~i;check_~pc.base, check_~pc.offset := check_#in~pc.base, check_#in~pc.offset;check_~i := check_#in~i;call check_#t~mem0.base, check_#t~mem0.offset := read~$Pointer$(check_~pc.base, check_~pc.offset, 4);call check_#t~mem1.base, check_#t~mem1.offset := read~$Pointer$(check_#t~mem0.base, check_#t~mem0.offset + 4 * check_~i, 4);call check_#t~mem2.base, check_#t~mem2.offset := read~$Pointer$(check_#t~mem1.base, check_#t~mem1.offset, 4);call check_#t~mem3 := read~int(check_#t~mem2.base, check_#t~mem2.offset + 4 * check_~i, 4);check_#res := (if check_#t~mem3 == check_~i then 1 else 0);havoc check_#t~mem2.base, check_#t~mem2.offset;havoc check_#t~mem1.base, check_#t~mem1.offset;havoc check_#t~mem3;havoc check_#t~mem0.base, check_#t~mem0.offset; {1252#false} is VALID [2020-07-28 17:59:05,334 INFO L280 TraceCheckUtils]: 22: Hoare triple {1252#false} main_#t~ret16 := check_#res;assume -2147483648 <= main_#t~ret16 && main_#t~ret16 <= 2147483647; {1252#false} is VALID [2020-07-28 17:59:05,334 INFO L280 TraceCheckUtils]: 23: Hoare triple {1252#false} assume 0 == main_#t~ret16;havoc main_#t~ret16; {1252#false} is VALID [2020-07-28 17:59:05,335 INFO L280 TraceCheckUtils]: 24: Hoare triple {1252#false} assume !false; {1252#false} is VALID [2020-07-28 17:59:05,336 INFO L134 CoverageAnalysis]: Checked inductivity of 49 backedges. 0 proven. 49 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 17:59:05,336 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1191696398] [2020-07-28 17:59:05,337 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1276855229] [2020-07-28 17:59:05,337 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 8 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 8 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-28 17:59:05,429 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:59:05,431 INFO L263 TraceCheckSpWp]: Trace formula consists of 153 conjuncts, 9 conjunts are in the unsatisfiable core [2020-07-28 17:59:05,444 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:59:05,446 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 17:59:05,678 INFO L280 TraceCheckUtils]: 0: Hoare triple {1251#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {1251#true} is VALID [2020-07-28 17:59:05,680 INFO L280 TraceCheckUtils]: 1: Hoare triple {1251#true} havoc main_#res;havoc main_#t~nondet4, main_#t~nondet6, main_#t~post5, main_~j~0, main_#t~mem7.base, main_#t~mem7.offset, main_#t~mem8.base, main_#t~mem8.offset, main_#t~mem9.base, main_#t~mem9.offset, main_#t~mem10, main_#t~mem11.base, main_#t~mem11.offset, main_#t~mem12.base, main_#t~mem12.offset, main_#t~mem13, main_#t~pre15, main_#t~mem14, main_#t~ret16, main_~#cont~0.base, main_~#cont~0.offset, main_~#dummy~0.base, main_~#dummy~0.offset, main_~#dummies~0.base, main_~#dummies~0.offset, main_~#a~0.base, main_~#a~0.offset, main_~i~0, main_~pa~0.base, main_~pa~0.offset;call main_~#cont~0.base, main_~#cont~0.offset := #Ultimate.allocOnStack(4);call main_~#dummy~0.base, main_~#dummy~0.offset := #Ultimate.allocOnStack(4);call main_~#dummies~0.base, main_~#dummies~0.offset := #Ultimate.allocOnStack(40);call main_~#a~0.base, main_~#a~0.offset := #Ultimate.allocOnStack(40);havoc main_~i~0;havoc main_~pa~0.base, main_~pa~0.offset;assume -2147483648 <= main_#t~nondet4 && main_#t~nondet4 <= 2147483647;main_~i~0 := main_#t~nondet4;havoc main_#t~nondet4;main_~j~0 := 0; {1267#(<= ULTIMATE.start_main_~j~0 0)} is VALID [2020-07-28 17:59:05,680 INFO L280 TraceCheckUtils]: 2: Hoare triple {1267#(<= ULTIMATE.start_main_~j~0 0)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {1267#(<= ULTIMATE.start_main_~j~0 0)} is VALID [2020-07-28 17:59:05,681 INFO L280 TraceCheckUtils]: 3: Hoare triple {1267#(<= ULTIMATE.start_main_~j~0 0)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {1254#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:59:05,682 INFO L280 TraceCheckUtils]: 4: Hoare triple {1254#(<= ULTIMATE.start_main_~j~0 1)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {1254#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:59:05,683 INFO L280 TraceCheckUtils]: 5: Hoare triple {1254#(<= ULTIMATE.start_main_~j~0 1)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {1255#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:59:05,683 INFO L280 TraceCheckUtils]: 6: Hoare triple {1255#(<= ULTIMATE.start_main_~j~0 2)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {1255#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:59:05,684 INFO L280 TraceCheckUtils]: 7: Hoare triple {1255#(<= ULTIMATE.start_main_~j~0 2)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {1256#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:59:05,685 INFO L280 TraceCheckUtils]: 8: Hoare triple {1256#(<= ULTIMATE.start_main_~j~0 3)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {1256#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:59:05,685 INFO L280 TraceCheckUtils]: 9: Hoare triple {1256#(<= ULTIMATE.start_main_~j~0 3)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {1257#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:59:05,686 INFO L280 TraceCheckUtils]: 10: Hoare triple {1257#(<= ULTIMATE.start_main_~j~0 4)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {1257#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:59:05,687 INFO L280 TraceCheckUtils]: 11: Hoare triple {1257#(<= ULTIMATE.start_main_~j~0 4)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {1258#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:59:05,687 INFO L280 TraceCheckUtils]: 12: Hoare triple {1258#(<= ULTIMATE.start_main_~j~0 5)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {1258#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:59:05,688 INFO L280 TraceCheckUtils]: 13: Hoare triple {1258#(<= ULTIMATE.start_main_~j~0 5)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {1259#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:59:05,689 INFO L280 TraceCheckUtils]: 14: Hoare triple {1259#(<= ULTIMATE.start_main_~j~0 6)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {1259#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:59:05,689 INFO L280 TraceCheckUtils]: 15: Hoare triple {1259#(<= ULTIMATE.start_main_~j~0 6)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {1260#(<= ULTIMATE.start_main_~j~0 7)} is VALID [2020-07-28 17:59:05,690 INFO L280 TraceCheckUtils]: 16: Hoare triple {1260#(<= ULTIMATE.start_main_~j~0 7)} assume !(main_~j~0 < 10); {1252#false} is VALID [2020-07-28 17:59:05,690 INFO L280 TraceCheckUtils]: 17: Hoare triple {1252#false} assume main_~i~0 >= 0 && main_~i~0 < 9;call write~int(main_~i~0, main_~#a~0.base, main_~#a~0.offset + 4 * main_~i~0, 4);call write~$Pointer$(main_~#a~0.base, main_~#a~0.offset + 4 * main_~i~0, main_~#dummy~0.base, main_~#dummy~0.offset, 4);call write~$Pointer$(main_~#dummy~0.base, main_~#dummy~0.offset, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * (1 + main_~i~0), 4);call write~$Pointer$(main_~#dummies~0.base, main_~#dummies~0.offset, main_~#cont~0.base, main_~#cont~0.offset, 4);call main_#t~mem7.base, main_#t~mem7.offset := read~$Pointer$(main_~#cont~0.base, main_~#cont~0.offset, 4);call main_#t~mem8.base, main_#t~mem8.offset := read~$Pointer$(main_#t~mem7.base, main_#t~mem7.offset + 4 * main_~i~0, 4);call main_#t~mem9.base, main_#t~mem9.offset := read~$Pointer$(main_#t~mem8.base, main_#t~mem8.offset, 4);main_~pa~0.base, main_~pa~0.offset := main_#t~mem9.base, main_#t~mem9.offset + 4 * main_~i~0;havoc main_#t~mem7.base, main_#t~mem7.offset;havoc main_#t~mem8.base, main_#t~mem8.offset;havoc main_#t~mem9.base, main_#t~mem9.offset;call main_#t~mem10 := read~int(main_~#a~0.base, main_~#a~0.offset + 4 * main_~i~0, 4); {1252#false} is VALID [2020-07-28 17:59:05,691 INFO L280 TraceCheckUtils]: 18: Hoare triple {1252#false} assume main_#t~mem10 > 0;havoc main_#t~mem10;call main_#t~mem11.base, main_#t~mem11.offset := read~$Pointer$(main_~#dummies~0.base, main_~#dummies~0.offset + 4 * (1 + main_~i~0), 4);call main_#t~mem12.base, main_#t~mem12.offset := read~$Pointer$(main_#t~mem11.base, main_#t~mem11.offset, 4);call main_#t~mem13 := read~int(main_#t~mem12.base, main_#t~mem12.offset + 4 * main_~i~0, 4);main_~i~0 := main_#t~mem13 - 10;havoc main_#t~mem12.base, main_#t~mem12.offset;havoc main_#t~mem11.base, main_#t~mem11.offset;havoc main_#t~mem13; {1252#false} is VALID [2020-07-28 17:59:05,691 INFO L280 TraceCheckUtils]: 19: Hoare triple {1252#false} call main_#t~mem14 := read~int(main_~pa~0.base, main_~pa~0.offset, 4); {1252#false} is VALID [2020-07-28 17:59:05,691 INFO L280 TraceCheckUtils]: 20: Hoare triple {1252#false} assume !(main_~i~0 < main_#t~mem14);havoc main_#t~mem14; {1252#false} is VALID [2020-07-28 17:59:05,691 INFO L280 TraceCheckUtils]: 21: Hoare triple {1252#false} check_#in~pc.base, check_#in~pc.offset, check_#in~i := main_~#cont~0.base, main_~#cont~0.offset, main_~i~0;havoc check_#res;havoc check_#t~mem0.base, check_#t~mem0.offset, check_#t~mem1.base, check_#t~mem1.offset, check_#t~mem2.base, check_#t~mem2.offset, check_#t~mem3, check_~pc.base, check_~pc.offset, check_~i;check_~pc.base, check_~pc.offset := check_#in~pc.base, check_#in~pc.offset;check_~i := check_#in~i;call check_#t~mem0.base, check_#t~mem0.offset := read~$Pointer$(check_~pc.base, check_~pc.offset, 4);call check_#t~mem1.base, check_#t~mem1.offset := read~$Pointer$(check_#t~mem0.base, check_#t~mem0.offset + 4 * check_~i, 4);call check_#t~mem2.base, check_#t~mem2.offset := read~$Pointer$(check_#t~mem1.base, check_#t~mem1.offset, 4);call check_#t~mem3 := read~int(check_#t~mem2.base, check_#t~mem2.offset + 4 * check_~i, 4);check_#res := (if check_#t~mem3 == check_~i then 1 else 0);havoc check_#t~mem2.base, check_#t~mem2.offset;havoc check_#t~mem1.base, check_#t~mem1.offset;havoc check_#t~mem3;havoc check_#t~mem0.base, check_#t~mem0.offset; {1252#false} is VALID [2020-07-28 17:59:05,691 INFO L280 TraceCheckUtils]: 22: Hoare triple {1252#false} main_#t~ret16 := check_#res;assume -2147483648 <= main_#t~ret16 && main_#t~ret16 <= 2147483647; {1252#false} is VALID [2020-07-28 17:59:05,692 INFO L280 TraceCheckUtils]: 23: Hoare triple {1252#false} assume 0 == main_#t~ret16;havoc main_#t~ret16; {1252#false} is VALID [2020-07-28 17:59:05,692 INFO L280 TraceCheckUtils]: 24: Hoare triple {1252#false} assume !false; {1252#false} is VALID [2020-07-28 17:59:05,693 INFO L134 CoverageAnalysis]: Checked inductivity of 49 backedges. 0 proven. 49 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 17:59:05,693 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-28 17:59:05,693 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 11 [2020-07-28 17:59:05,694 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1311497731] [2020-07-28 17:59:05,694 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 25 [2020-07-28 17:59:05,694 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 17:59:05,694 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2020-07-28 17:59:05,735 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 17:59:05,735 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2020-07-28 17:59:05,735 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-28 17:59:05,736 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2020-07-28 17:59:05,736 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=55, Invalid=55, Unknown=0, NotChecked=0, Total=110 [2020-07-28 17:59:05,736 INFO L87 Difference]: Start difference. First operand 26 states and 27 transitions. Second operand 11 states. [2020-07-28 17:59:05,966 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:59:05,967 INFO L93 Difference]: Finished difference Result 38 states and 40 transitions. [2020-07-28 17:59:05,967 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2020-07-28 17:59:05,967 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 25 [2020-07-28 17:59:05,967 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 17:59:05,967 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2020-07-28 17:59:05,968 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 40 transitions. [2020-07-28 17:59:05,968 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2020-07-28 17:59:05,970 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 40 transitions. [2020-07-28 17:59:05,970 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 40 transitions. [2020-07-28 17:59:06,037 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 17:59:06,038 INFO L225 Difference]: With dead ends: 38 [2020-07-28 17:59:06,038 INFO L226 Difference]: Without dead ends: 29 [2020-07-28 17:59:06,039 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 34 GetRequests, 25 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=55, Invalid=55, Unknown=0, NotChecked=0, Total=110 [2020-07-28 17:59:06,039 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2020-07-28 17:59:06,050 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 28. [2020-07-28 17:59:06,050 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 17:59:06,050 INFO L82 GeneralOperation]: Start isEquivalent. First operand 29 states. Second operand 28 states. [2020-07-28 17:59:06,051 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 28 states. [2020-07-28 17:59:06,051 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 28 states. [2020-07-28 17:59:06,052 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:59:06,052 INFO L93 Difference]: Finished difference Result 29 states and 30 transitions. [2020-07-28 17:59:06,052 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 30 transitions. [2020-07-28 17:59:06,053 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:59:06,053 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:59:06,053 INFO L74 IsIncluded]: Start isIncluded. First operand 28 states. Second operand 29 states. [2020-07-28 17:59:06,053 INFO L87 Difference]: Start difference. First operand 28 states. Second operand 29 states. [2020-07-28 17:59:06,057 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:59:06,057 INFO L93 Difference]: Finished difference Result 29 states and 30 transitions. [2020-07-28 17:59:06,057 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 30 transitions. [2020-07-28 17:59:06,057 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:59:06,058 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:59:06,058 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 17:59:06,058 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 17:59:06,058 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 28 states. [2020-07-28 17:59:06,059 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 29 transitions. [2020-07-28 17:59:06,059 INFO L78 Accepts]: Start accepts. Automaton has 28 states and 29 transitions. Word has length 25 [2020-07-28 17:59:06,062 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 17:59:06,064 INFO L479 AbstractCegarLoop]: Abstraction has 28 states and 29 transitions. [2020-07-28 17:59:06,064 INFO L480 AbstractCegarLoop]: Interpolant automaton has 11 states. [2020-07-28 17:59:06,065 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 29 transitions. [2020-07-28 17:59:06,065 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2020-07-28 17:59:06,066 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 17:59:06,066 INFO L422 BasicCegarLoop]: trace histogram [8, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 17:59:06,276 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,8 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-28 17:59:06,277 INFO L427 AbstractCegarLoop]: === Iteration 10 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 17:59:06,277 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 17:59:06,277 INFO L82 PathProgramCache]: Analyzing trace with hash -186531256, now seen corresponding path program 8 times [2020-07-28 17:59:06,277 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 17:59:06,278 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [545640994] [2020-07-28 17:59:06,278 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 17:59:06,301 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:59:06,420 INFO L280 TraceCheckUtils]: 0: Hoare triple {1487#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {1487#true} is VALID [2020-07-28 17:59:06,421 INFO L280 TraceCheckUtils]: 1: Hoare triple {1487#true} havoc main_#res;havoc main_#t~nondet4, main_#t~nondet6, main_#t~post5, main_~j~0, main_#t~mem7.base, main_#t~mem7.offset, main_#t~mem8.base, main_#t~mem8.offset, main_#t~mem9.base, main_#t~mem9.offset, main_#t~mem10, main_#t~mem11.base, main_#t~mem11.offset, main_#t~mem12.base, main_#t~mem12.offset, main_#t~mem13, main_#t~pre15, main_#t~mem14, main_#t~ret16, main_~#cont~0.base, main_~#cont~0.offset, main_~#dummy~0.base, main_~#dummy~0.offset, main_~#dummies~0.base, main_~#dummies~0.offset, main_~#a~0.base, main_~#a~0.offset, main_~i~0, main_~pa~0.base, main_~pa~0.offset;call main_~#cont~0.base, main_~#cont~0.offset := #Ultimate.allocOnStack(4);call main_~#dummy~0.base, main_~#dummy~0.offset := #Ultimate.allocOnStack(4);call main_~#dummies~0.base, main_~#dummies~0.offset := #Ultimate.allocOnStack(40);call main_~#a~0.base, main_~#a~0.offset := #Ultimate.allocOnStack(40);havoc main_~i~0;havoc main_~pa~0.base, main_~pa~0.offset;assume -2147483648 <= main_#t~nondet4 && main_#t~nondet4 <= 2147483647;main_~i~0 := main_#t~nondet4;havoc main_#t~nondet4;main_~j~0 := 0; {1489#(= 0 ULTIMATE.start_main_~j~0)} is VALID [2020-07-28 17:59:06,422 INFO L280 TraceCheckUtils]: 2: Hoare triple {1489#(= 0 ULTIMATE.start_main_~j~0)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {1489#(= 0 ULTIMATE.start_main_~j~0)} is VALID [2020-07-28 17:59:06,423 INFO L280 TraceCheckUtils]: 3: Hoare triple {1489#(= 0 ULTIMATE.start_main_~j~0)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {1490#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:59:06,423 INFO L280 TraceCheckUtils]: 4: Hoare triple {1490#(<= ULTIMATE.start_main_~j~0 1)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {1490#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:59:06,424 INFO L280 TraceCheckUtils]: 5: Hoare triple {1490#(<= ULTIMATE.start_main_~j~0 1)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {1491#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:59:06,425 INFO L280 TraceCheckUtils]: 6: Hoare triple {1491#(<= ULTIMATE.start_main_~j~0 2)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {1491#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:59:06,425 INFO L280 TraceCheckUtils]: 7: Hoare triple {1491#(<= ULTIMATE.start_main_~j~0 2)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {1492#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:59:06,426 INFO L280 TraceCheckUtils]: 8: Hoare triple {1492#(<= ULTIMATE.start_main_~j~0 3)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {1492#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:59:06,426 INFO L280 TraceCheckUtils]: 9: Hoare triple {1492#(<= ULTIMATE.start_main_~j~0 3)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {1493#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:59:06,427 INFO L280 TraceCheckUtils]: 10: Hoare triple {1493#(<= ULTIMATE.start_main_~j~0 4)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {1493#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:59:06,428 INFO L280 TraceCheckUtils]: 11: Hoare triple {1493#(<= ULTIMATE.start_main_~j~0 4)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {1494#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:59:06,428 INFO L280 TraceCheckUtils]: 12: Hoare triple {1494#(<= ULTIMATE.start_main_~j~0 5)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {1494#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:59:06,429 INFO L280 TraceCheckUtils]: 13: Hoare triple {1494#(<= ULTIMATE.start_main_~j~0 5)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {1495#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:59:06,430 INFO L280 TraceCheckUtils]: 14: Hoare triple {1495#(<= ULTIMATE.start_main_~j~0 6)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {1495#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:59:06,430 INFO L280 TraceCheckUtils]: 15: Hoare triple {1495#(<= ULTIMATE.start_main_~j~0 6)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {1496#(<= ULTIMATE.start_main_~j~0 7)} is VALID [2020-07-28 17:59:06,431 INFO L280 TraceCheckUtils]: 16: Hoare triple {1496#(<= ULTIMATE.start_main_~j~0 7)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {1496#(<= ULTIMATE.start_main_~j~0 7)} is VALID [2020-07-28 17:59:06,432 INFO L280 TraceCheckUtils]: 17: Hoare triple {1496#(<= ULTIMATE.start_main_~j~0 7)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {1497#(<= ULTIMATE.start_main_~j~0 8)} is VALID [2020-07-28 17:59:06,433 INFO L280 TraceCheckUtils]: 18: Hoare triple {1497#(<= ULTIMATE.start_main_~j~0 8)} assume !(main_~j~0 < 10); {1488#false} is VALID [2020-07-28 17:59:06,433 INFO L280 TraceCheckUtils]: 19: Hoare triple {1488#false} assume main_~i~0 >= 0 && main_~i~0 < 9;call write~int(main_~i~0, main_~#a~0.base, main_~#a~0.offset + 4 * main_~i~0, 4);call write~$Pointer$(main_~#a~0.base, main_~#a~0.offset + 4 * main_~i~0, main_~#dummy~0.base, main_~#dummy~0.offset, 4);call write~$Pointer$(main_~#dummy~0.base, main_~#dummy~0.offset, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * (1 + main_~i~0), 4);call write~$Pointer$(main_~#dummies~0.base, main_~#dummies~0.offset, main_~#cont~0.base, main_~#cont~0.offset, 4);call main_#t~mem7.base, main_#t~mem7.offset := read~$Pointer$(main_~#cont~0.base, main_~#cont~0.offset, 4);call main_#t~mem8.base, main_#t~mem8.offset := read~$Pointer$(main_#t~mem7.base, main_#t~mem7.offset + 4 * main_~i~0, 4);call main_#t~mem9.base, main_#t~mem9.offset := read~$Pointer$(main_#t~mem8.base, main_#t~mem8.offset, 4);main_~pa~0.base, main_~pa~0.offset := main_#t~mem9.base, main_#t~mem9.offset + 4 * main_~i~0;havoc main_#t~mem7.base, main_#t~mem7.offset;havoc main_#t~mem8.base, main_#t~mem8.offset;havoc main_#t~mem9.base, main_#t~mem9.offset;call main_#t~mem10 := read~int(main_~#a~0.base, main_~#a~0.offset + 4 * main_~i~0, 4); {1488#false} is VALID [2020-07-28 17:59:06,433 INFO L280 TraceCheckUtils]: 20: Hoare triple {1488#false} assume main_#t~mem10 > 0;havoc main_#t~mem10;call main_#t~mem11.base, main_#t~mem11.offset := read~$Pointer$(main_~#dummies~0.base, main_~#dummies~0.offset + 4 * (1 + main_~i~0), 4);call main_#t~mem12.base, main_#t~mem12.offset := read~$Pointer$(main_#t~mem11.base, main_#t~mem11.offset, 4);call main_#t~mem13 := read~int(main_#t~mem12.base, main_#t~mem12.offset + 4 * main_~i~0, 4);main_~i~0 := main_#t~mem13 - 10;havoc main_#t~mem12.base, main_#t~mem12.offset;havoc main_#t~mem11.base, main_#t~mem11.offset;havoc main_#t~mem13; {1488#false} is VALID [2020-07-28 17:59:06,433 INFO L280 TraceCheckUtils]: 21: Hoare triple {1488#false} call main_#t~mem14 := read~int(main_~pa~0.base, main_~pa~0.offset, 4); {1488#false} is VALID [2020-07-28 17:59:06,433 INFO L280 TraceCheckUtils]: 22: Hoare triple {1488#false} assume !(main_~i~0 < main_#t~mem14);havoc main_#t~mem14; {1488#false} is VALID [2020-07-28 17:59:06,434 INFO L280 TraceCheckUtils]: 23: Hoare triple {1488#false} check_#in~pc.base, check_#in~pc.offset, check_#in~i := main_~#cont~0.base, main_~#cont~0.offset, main_~i~0;havoc check_#res;havoc check_#t~mem0.base, check_#t~mem0.offset, check_#t~mem1.base, check_#t~mem1.offset, check_#t~mem2.base, check_#t~mem2.offset, check_#t~mem3, check_~pc.base, check_~pc.offset, check_~i;check_~pc.base, check_~pc.offset := check_#in~pc.base, check_#in~pc.offset;check_~i := check_#in~i;call check_#t~mem0.base, check_#t~mem0.offset := read~$Pointer$(check_~pc.base, check_~pc.offset, 4);call check_#t~mem1.base, check_#t~mem1.offset := read~$Pointer$(check_#t~mem0.base, check_#t~mem0.offset + 4 * check_~i, 4);call check_#t~mem2.base, check_#t~mem2.offset := read~$Pointer$(check_#t~mem1.base, check_#t~mem1.offset, 4);call check_#t~mem3 := read~int(check_#t~mem2.base, check_#t~mem2.offset + 4 * check_~i, 4);check_#res := (if check_#t~mem3 == check_~i then 1 else 0);havoc check_#t~mem2.base, check_#t~mem2.offset;havoc check_#t~mem1.base, check_#t~mem1.offset;havoc check_#t~mem3;havoc check_#t~mem0.base, check_#t~mem0.offset; {1488#false} is VALID [2020-07-28 17:59:06,434 INFO L280 TraceCheckUtils]: 24: Hoare triple {1488#false} main_#t~ret16 := check_#res;assume -2147483648 <= main_#t~ret16 && main_#t~ret16 <= 2147483647; {1488#false} is VALID [2020-07-28 17:59:06,434 INFO L280 TraceCheckUtils]: 25: Hoare triple {1488#false} assume 0 == main_#t~ret16;havoc main_#t~ret16; {1488#false} is VALID [2020-07-28 17:59:06,434 INFO L280 TraceCheckUtils]: 26: Hoare triple {1488#false} assume !false; {1488#false} is VALID [2020-07-28 17:59:06,436 INFO L134 CoverageAnalysis]: Checked inductivity of 64 backedges. 0 proven. 64 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 17:59:06,437 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [545640994] [2020-07-28 17:59:06,437 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [149976018] [2020-07-28 17:59:06,437 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 9 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 9 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-28 17:59:06,525 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2020-07-28 17:59:06,525 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2020-07-28 17:59:06,527 INFO L263 TraceCheckSpWp]: Trace formula consists of 163 conjuncts, 10 conjunts are in the unsatisfiable core [2020-07-28 17:59:06,539 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:59:06,540 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 17:59:06,757 INFO L280 TraceCheckUtils]: 0: Hoare triple {1487#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {1487#true} is VALID [2020-07-28 17:59:06,759 INFO L280 TraceCheckUtils]: 1: Hoare triple {1487#true} havoc main_#res;havoc main_#t~nondet4, main_#t~nondet6, main_#t~post5, main_~j~0, main_#t~mem7.base, main_#t~mem7.offset, main_#t~mem8.base, main_#t~mem8.offset, main_#t~mem9.base, main_#t~mem9.offset, main_#t~mem10, main_#t~mem11.base, main_#t~mem11.offset, main_#t~mem12.base, main_#t~mem12.offset, main_#t~mem13, main_#t~pre15, main_#t~mem14, main_#t~ret16, main_~#cont~0.base, main_~#cont~0.offset, main_~#dummy~0.base, main_~#dummy~0.offset, main_~#dummies~0.base, main_~#dummies~0.offset, main_~#a~0.base, main_~#a~0.offset, main_~i~0, main_~pa~0.base, main_~pa~0.offset;call main_~#cont~0.base, main_~#cont~0.offset := #Ultimate.allocOnStack(4);call main_~#dummy~0.base, main_~#dummy~0.offset := #Ultimate.allocOnStack(4);call main_~#dummies~0.base, main_~#dummies~0.offset := #Ultimate.allocOnStack(40);call main_~#a~0.base, main_~#a~0.offset := #Ultimate.allocOnStack(40);havoc main_~i~0;havoc main_~pa~0.base, main_~pa~0.offset;assume -2147483648 <= main_#t~nondet4 && main_#t~nondet4 <= 2147483647;main_~i~0 := main_#t~nondet4;havoc main_#t~nondet4;main_~j~0 := 0; {1504#(<= ULTIMATE.start_main_~j~0 0)} is VALID [2020-07-28 17:59:06,763 INFO L280 TraceCheckUtils]: 2: Hoare triple {1504#(<= ULTIMATE.start_main_~j~0 0)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {1504#(<= ULTIMATE.start_main_~j~0 0)} is VALID [2020-07-28 17:59:06,765 INFO L280 TraceCheckUtils]: 3: Hoare triple {1504#(<= ULTIMATE.start_main_~j~0 0)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {1490#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:59:06,765 INFO L280 TraceCheckUtils]: 4: Hoare triple {1490#(<= ULTIMATE.start_main_~j~0 1)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {1490#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:59:06,766 INFO L280 TraceCheckUtils]: 5: Hoare triple {1490#(<= ULTIMATE.start_main_~j~0 1)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {1491#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:59:06,767 INFO L280 TraceCheckUtils]: 6: Hoare triple {1491#(<= ULTIMATE.start_main_~j~0 2)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {1491#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:59:06,769 INFO L280 TraceCheckUtils]: 7: Hoare triple {1491#(<= ULTIMATE.start_main_~j~0 2)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {1492#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:59:06,772 INFO L280 TraceCheckUtils]: 8: Hoare triple {1492#(<= ULTIMATE.start_main_~j~0 3)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {1492#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:59:06,774 INFO L280 TraceCheckUtils]: 9: Hoare triple {1492#(<= ULTIMATE.start_main_~j~0 3)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {1493#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:59:06,776 INFO L280 TraceCheckUtils]: 10: Hoare triple {1493#(<= ULTIMATE.start_main_~j~0 4)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {1493#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:59:06,777 INFO L280 TraceCheckUtils]: 11: Hoare triple {1493#(<= ULTIMATE.start_main_~j~0 4)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {1494#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:59:06,778 INFO L280 TraceCheckUtils]: 12: Hoare triple {1494#(<= ULTIMATE.start_main_~j~0 5)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {1494#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:59:06,779 INFO L280 TraceCheckUtils]: 13: Hoare triple {1494#(<= ULTIMATE.start_main_~j~0 5)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {1495#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:59:06,779 INFO L280 TraceCheckUtils]: 14: Hoare triple {1495#(<= ULTIMATE.start_main_~j~0 6)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {1495#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:59:06,780 INFO L280 TraceCheckUtils]: 15: Hoare triple {1495#(<= ULTIMATE.start_main_~j~0 6)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {1496#(<= ULTIMATE.start_main_~j~0 7)} is VALID [2020-07-28 17:59:06,781 INFO L280 TraceCheckUtils]: 16: Hoare triple {1496#(<= ULTIMATE.start_main_~j~0 7)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {1496#(<= ULTIMATE.start_main_~j~0 7)} is VALID [2020-07-28 17:59:06,782 INFO L280 TraceCheckUtils]: 17: Hoare triple {1496#(<= ULTIMATE.start_main_~j~0 7)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {1497#(<= ULTIMATE.start_main_~j~0 8)} is VALID [2020-07-28 17:59:06,783 INFO L280 TraceCheckUtils]: 18: Hoare triple {1497#(<= ULTIMATE.start_main_~j~0 8)} assume !(main_~j~0 < 10); {1488#false} is VALID [2020-07-28 17:59:06,783 INFO L280 TraceCheckUtils]: 19: Hoare triple {1488#false} assume main_~i~0 >= 0 && main_~i~0 < 9;call write~int(main_~i~0, main_~#a~0.base, main_~#a~0.offset + 4 * main_~i~0, 4);call write~$Pointer$(main_~#a~0.base, main_~#a~0.offset + 4 * main_~i~0, main_~#dummy~0.base, main_~#dummy~0.offset, 4);call write~$Pointer$(main_~#dummy~0.base, main_~#dummy~0.offset, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * (1 + main_~i~0), 4);call write~$Pointer$(main_~#dummies~0.base, main_~#dummies~0.offset, main_~#cont~0.base, main_~#cont~0.offset, 4);call main_#t~mem7.base, main_#t~mem7.offset := read~$Pointer$(main_~#cont~0.base, main_~#cont~0.offset, 4);call main_#t~mem8.base, main_#t~mem8.offset := read~$Pointer$(main_#t~mem7.base, main_#t~mem7.offset + 4 * main_~i~0, 4);call main_#t~mem9.base, main_#t~mem9.offset := read~$Pointer$(main_#t~mem8.base, main_#t~mem8.offset, 4);main_~pa~0.base, main_~pa~0.offset := main_#t~mem9.base, main_#t~mem9.offset + 4 * main_~i~0;havoc main_#t~mem7.base, main_#t~mem7.offset;havoc main_#t~mem8.base, main_#t~mem8.offset;havoc main_#t~mem9.base, main_#t~mem9.offset;call main_#t~mem10 := read~int(main_~#a~0.base, main_~#a~0.offset + 4 * main_~i~0, 4); {1488#false} is VALID [2020-07-28 17:59:06,783 INFO L280 TraceCheckUtils]: 20: Hoare triple {1488#false} assume main_#t~mem10 > 0;havoc main_#t~mem10;call main_#t~mem11.base, main_#t~mem11.offset := read~$Pointer$(main_~#dummies~0.base, main_~#dummies~0.offset + 4 * (1 + main_~i~0), 4);call main_#t~mem12.base, main_#t~mem12.offset := read~$Pointer$(main_#t~mem11.base, main_#t~mem11.offset, 4);call main_#t~mem13 := read~int(main_#t~mem12.base, main_#t~mem12.offset + 4 * main_~i~0, 4);main_~i~0 := main_#t~mem13 - 10;havoc main_#t~mem12.base, main_#t~mem12.offset;havoc main_#t~mem11.base, main_#t~mem11.offset;havoc main_#t~mem13; {1488#false} is VALID [2020-07-28 17:59:06,783 INFO L280 TraceCheckUtils]: 21: Hoare triple {1488#false} call main_#t~mem14 := read~int(main_~pa~0.base, main_~pa~0.offset, 4); {1488#false} is VALID [2020-07-28 17:59:06,784 INFO L280 TraceCheckUtils]: 22: Hoare triple {1488#false} assume !(main_~i~0 < main_#t~mem14);havoc main_#t~mem14; {1488#false} is VALID [2020-07-28 17:59:06,784 INFO L280 TraceCheckUtils]: 23: Hoare triple {1488#false} check_#in~pc.base, check_#in~pc.offset, check_#in~i := main_~#cont~0.base, main_~#cont~0.offset, main_~i~0;havoc check_#res;havoc check_#t~mem0.base, check_#t~mem0.offset, check_#t~mem1.base, check_#t~mem1.offset, check_#t~mem2.base, check_#t~mem2.offset, check_#t~mem3, check_~pc.base, check_~pc.offset, check_~i;check_~pc.base, check_~pc.offset := check_#in~pc.base, check_#in~pc.offset;check_~i := check_#in~i;call check_#t~mem0.base, check_#t~mem0.offset := read~$Pointer$(check_~pc.base, check_~pc.offset, 4);call check_#t~mem1.base, check_#t~mem1.offset := read~$Pointer$(check_#t~mem0.base, check_#t~mem0.offset + 4 * check_~i, 4);call check_#t~mem2.base, check_#t~mem2.offset := read~$Pointer$(check_#t~mem1.base, check_#t~mem1.offset, 4);call check_#t~mem3 := read~int(check_#t~mem2.base, check_#t~mem2.offset + 4 * check_~i, 4);check_#res := (if check_#t~mem3 == check_~i then 1 else 0);havoc check_#t~mem2.base, check_#t~mem2.offset;havoc check_#t~mem1.base, check_#t~mem1.offset;havoc check_#t~mem3;havoc check_#t~mem0.base, check_#t~mem0.offset; {1488#false} is VALID [2020-07-28 17:59:06,784 INFO L280 TraceCheckUtils]: 24: Hoare triple {1488#false} main_#t~ret16 := check_#res;assume -2147483648 <= main_#t~ret16 && main_#t~ret16 <= 2147483647; {1488#false} is VALID [2020-07-28 17:59:06,784 INFO L280 TraceCheckUtils]: 25: Hoare triple {1488#false} assume 0 == main_#t~ret16;havoc main_#t~ret16; {1488#false} is VALID [2020-07-28 17:59:06,785 INFO L280 TraceCheckUtils]: 26: Hoare triple {1488#false} assume !false; {1488#false} is VALID [2020-07-28 17:59:06,786 INFO L134 CoverageAnalysis]: Checked inductivity of 64 backedges. 0 proven. 64 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 17:59:06,786 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-28 17:59:06,786 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 12 [2020-07-28 17:59:06,786 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [550640339] [2020-07-28 17:59:06,787 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 27 [2020-07-28 17:59:06,787 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 17:59:06,788 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2020-07-28 17:59:06,827 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 17:59:06,828 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2020-07-28 17:59:06,828 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-28 17:59:06,828 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2020-07-28 17:59:06,828 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=66, Invalid=66, Unknown=0, NotChecked=0, Total=132 [2020-07-28 17:59:06,829 INFO L87 Difference]: Start difference. First operand 28 states and 29 transitions. Second operand 12 states. [2020-07-28 17:59:07,078 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:59:07,078 INFO L93 Difference]: Finished difference Result 40 states and 42 transitions. [2020-07-28 17:59:07,079 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2020-07-28 17:59:07,079 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 27 [2020-07-28 17:59:07,079 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 17:59:07,079 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2020-07-28 17:59:07,080 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 42 transitions. [2020-07-28 17:59:07,080 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2020-07-28 17:59:07,081 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 42 transitions. [2020-07-28 17:59:07,081 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 42 transitions. [2020-07-28 17:59:07,147 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 17:59:07,148 INFO L225 Difference]: With dead ends: 40 [2020-07-28 17:59:07,149 INFO L226 Difference]: Without dead ends: 31 [2020-07-28 17:59:07,150 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 37 GetRequests, 27 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=66, Invalid=66, Unknown=0, NotChecked=0, Total=132 [2020-07-28 17:59:07,150 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 31 states. [2020-07-28 17:59:07,166 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 31 to 30. [2020-07-28 17:59:07,166 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 17:59:07,166 INFO L82 GeneralOperation]: Start isEquivalent. First operand 31 states. Second operand 30 states. [2020-07-28 17:59:07,166 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 30 states. [2020-07-28 17:59:07,166 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 30 states. [2020-07-28 17:59:07,168 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:59:07,169 INFO L93 Difference]: Finished difference Result 31 states and 32 transitions. [2020-07-28 17:59:07,169 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 32 transitions. [2020-07-28 17:59:07,169 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:59:07,169 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:59:07,169 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand 31 states. [2020-07-28 17:59:07,169 INFO L87 Difference]: Start difference. First operand 30 states. Second operand 31 states. [2020-07-28 17:59:07,170 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:59:07,170 INFO L93 Difference]: Finished difference Result 31 states and 32 transitions. [2020-07-28 17:59:07,170 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 32 transitions. [2020-07-28 17:59:07,171 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:59:07,171 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:59:07,171 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 17:59:07,171 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 17:59:07,171 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 30 states. [2020-07-28 17:59:07,172 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 31 transitions. [2020-07-28 17:59:07,172 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 31 transitions. Word has length 27 [2020-07-28 17:59:07,172 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 17:59:07,172 INFO L479 AbstractCegarLoop]: Abstraction has 30 states and 31 transitions. [2020-07-28 17:59:07,172 INFO L480 AbstractCegarLoop]: Interpolant automaton has 12 states. [2020-07-28 17:59:07,172 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 31 transitions. [2020-07-28 17:59:07,173 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2020-07-28 17:59:07,173 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 17:59:07,173 INFO L422 BasicCegarLoop]: trace histogram [9, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 17:59:07,378 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2020-07-28 17:59:07,379 INFO L427 AbstractCegarLoop]: === Iteration 11 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 17:59:07,379 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 17:59:07,380 INFO L82 PathProgramCache]: Analyzing trace with hash 906451974, now seen corresponding path program 9 times [2020-07-28 17:59:07,380 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 17:59:07,380 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1556459538] [2020-07-28 17:59:07,381 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 17:59:07,423 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:59:07,574 INFO L280 TraceCheckUtils]: 0: Hoare triple {1740#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {1740#true} is VALID [2020-07-28 17:59:07,576 INFO L280 TraceCheckUtils]: 1: Hoare triple {1740#true} havoc main_#res;havoc main_#t~nondet4, main_#t~nondet6, main_#t~post5, main_~j~0, main_#t~mem7.base, main_#t~mem7.offset, main_#t~mem8.base, main_#t~mem8.offset, main_#t~mem9.base, main_#t~mem9.offset, main_#t~mem10, main_#t~mem11.base, main_#t~mem11.offset, main_#t~mem12.base, main_#t~mem12.offset, main_#t~mem13, main_#t~pre15, main_#t~mem14, main_#t~ret16, main_~#cont~0.base, main_~#cont~0.offset, main_~#dummy~0.base, main_~#dummy~0.offset, main_~#dummies~0.base, main_~#dummies~0.offset, main_~#a~0.base, main_~#a~0.offset, main_~i~0, main_~pa~0.base, main_~pa~0.offset;call main_~#cont~0.base, main_~#cont~0.offset := #Ultimate.allocOnStack(4);call main_~#dummy~0.base, main_~#dummy~0.offset := #Ultimate.allocOnStack(4);call main_~#dummies~0.base, main_~#dummies~0.offset := #Ultimate.allocOnStack(40);call main_~#a~0.base, main_~#a~0.offset := #Ultimate.allocOnStack(40);havoc main_~i~0;havoc main_~pa~0.base, main_~pa~0.offset;assume -2147483648 <= main_#t~nondet4 && main_#t~nondet4 <= 2147483647;main_~i~0 := main_#t~nondet4;havoc main_#t~nondet4;main_~j~0 := 0; {1742#(= 0 ULTIMATE.start_main_~j~0)} is VALID [2020-07-28 17:59:07,577 INFO L280 TraceCheckUtils]: 2: Hoare triple {1742#(= 0 ULTIMATE.start_main_~j~0)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {1742#(= 0 ULTIMATE.start_main_~j~0)} is VALID [2020-07-28 17:59:07,578 INFO L280 TraceCheckUtils]: 3: Hoare triple {1742#(= 0 ULTIMATE.start_main_~j~0)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {1743#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:59:07,579 INFO L280 TraceCheckUtils]: 4: Hoare triple {1743#(<= ULTIMATE.start_main_~j~0 1)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {1743#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:59:07,580 INFO L280 TraceCheckUtils]: 5: Hoare triple {1743#(<= ULTIMATE.start_main_~j~0 1)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {1744#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:59:07,580 INFO L280 TraceCheckUtils]: 6: Hoare triple {1744#(<= ULTIMATE.start_main_~j~0 2)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {1744#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:59:07,581 INFO L280 TraceCheckUtils]: 7: Hoare triple {1744#(<= ULTIMATE.start_main_~j~0 2)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {1745#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:59:07,582 INFO L280 TraceCheckUtils]: 8: Hoare triple {1745#(<= ULTIMATE.start_main_~j~0 3)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {1745#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:59:07,583 INFO L280 TraceCheckUtils]: 9: Hoare triple {1745#(<= ULTIMATE.start_main_~j~0 3)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {1746#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:59:07,583 INFO L280 TraceCheckUtils]: 10: Hoare triple {1746#(<= ULTIMATE.start_main_~j~0 4)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {1746#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:59:07,585 INFO L280 TraceCheckUtils]: 11: Hoare triple {1746#(<= ULTIMATE.start_main_~j~0 4)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {1747#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:59:07,585 INFO L280 TraceCheckUtils]: 12: Hoare triple {1747#(<= ULTIMATE.start_main_~j~0 5)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {1747#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:59:07,586 INFO L280 TraceCheckUtils]: 13: Hoare triple {1747#(<= ULTIMATE.start_main_~j~0 5)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {1748#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:59:07,587 INFO L280 TraceCheckUtils]: 14: Hoare triple {1748#(<= ULTIMATE.start_main_~j~0 6)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {1748#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:59:07,587 INFO L280 TraceCheckUtils]: 15: Hoare triple {1748#(<= ULTIMATE.start_main_~j~0 6)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {1749#(<= ULTIMATE.start_main_~j~0 7)} is VALID [2020-07-28 17:59:07,588 INFO L280 TraceCheckUtils]: 16: Hoare triple {1749#(<= ULTIMATE.start_main_~j~0 7)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {1749#(<= ULTIMATE.start_main_~j~0 7)} is VALID [2020-07-28 17:59:07,589 INFO L280 TraceCheckUtils]: 17: Hoare triple {1749#(<= ULTIMATE.start_main_~j~0 7)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {1750#(<= ULTIMATE.start_main_~j~0 8)} is VALID [2020-07-28 17:59:07,591 INFO L280 TraceCheckUtils]: 18: Hoare triple {1750#(<= ULTIMATE.start_main_~j~0 8)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {1750#(<= ULTIMATE.start_main_~j~0 8)} is VALID [2020-07-28 17:59:07,591 INFO L280 TraceCheckUtils]: 19: Hoare triple {1750#(<= ULTIMATE.start_main_~j~0 8)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {1751#(<= ULTIMATE.start_main_~j~0 9)} is VALID [2020-07-28 17:59:07,592 INFO L280 TraceCheckUtils]: 20: Hoare triple {1751#(<= ULTIMATE.start_main_~j~0 9)} assume !(main_~j~0 < 10); {1741#false} is VALID [2020-07-28 17:59:07,592 INFO L280 TraceCheckUtils]: 21: Hoare triple {1741#false} assume main_~i~0 >= 0 && main_~i~0 < 9;call write~int(main_~i~0, main_~#a~0.base, main_~#a~0.offset + 4 * main_~i~0, 4);call write~$Pointer$(main_~#a~0.base, main_~#a~0.offset + 4 * main_~i~0, main_~#dummy~0.base, main_~#dummy~0.offset, 4);call write~$Pointer$(main_~#dummy~0.base, main_~#dummy~0.offset, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * (1 + main_~i~0), 4);call write~$Pointer$(main_~#dummies~0.base, main_~#dummies~0.offset, main_~#cont~0.base, main_~#cont~0.offset, 4);call main_#t~mem7.base, main_#t~mem7.offset := read~$Pointer$(main_~#cont~0.base, main_~#cont~0.offset, 4);call main_#t~mem8.base, main_#t~mem8.offset := read~$Pointer$(main_#t~mem7.base, main_#t~mem7.offset + 4 * main_~i~0, 4);call main_#t~mem9.base, main_#t~mem9.offset := read~$Pointer$(main_#t~mem8.base, main_#t~mem8.offset, 4);main_~pa~0.base, main_~pa~0.offset := main_#t~mem9.base, main_#t~mem9.offset + 4 * main_~i~0;havoc main_#t~mem7.base, main_#t~mem7.offset;havoc main_#t~mem8.base, main_#t~mem8.offset;havoc main_#t~mem9.base, main_#t~mem9.offset;call main_#t~mem10 := read~int(main_~#a~0.base, main_~#a~0.offset + 4 * main_~i~0, 4); {1741#false} is VALID [2020-07-28 17:59:07,592 INFO L280 TraceCheckUtils]: 22: Hoare triple {1741#false} assume main_#t~mem10 > 0;havoc main_#t~mem10;call main_#t~mem11.base, main_#t~mem11.offset := read~$Pointer$(main_~#dummies~0.base, main_~#dummies~0.offset + 4 * (1 + main_~i~0), 4);call main_#t~mem12.base, main_#t~mem12.offset := read~$Pointer$(main_#t~mem11.base, main_#t~mem11.offset, 4);call main_#t~mem13 := read~int(main_#t~mem12.base, main_#t~mem12.offset + 4 * main_~i~0, 4);main_~i~0 := main_#t~mem13 - 10;havoc main_#t~mem12.base, main_#t~mem12.offset;havoc main_#t~mem11.base, main_#t~mem11.offset;havoc main_#t~mem13; {1741#false} is VALID [2020-07-28 17:59:07,592 INFO L280 TraceCheckUtils]: 23: Hoare triple {1741#false} call main_#t~mem14 := read~int(main_~pa~0.base, main_~pa~0.offset, 4); {1741#false} is VALID [2020-07-28 17:59:07,593 INFO L280 TraceCheckUtils]: 24: Hoare triple {1741#false} assume !(main_~i~0 < main_#t~mem14);havoc main_#t~mem14; {1741#false} is VALID [2020-07-28 17:59:07,593 INFO L280 TraceCheckUtils]: 25: Hoare triple {1741#false} check_#in~pc.base, check_#in~pc.offset, check_#in~i := main_~#cont~0.base, main_~#cont~0.offset, main_~i~0;havoc check_#res;havoc check_#t~mem0.base, check_#t~mem0.offset, check_#t~mem1.base, check_#t~mem1.offset, check_#t~mem2.base, check_#t~mem2.offset, check_#t~mem3, check_~pc.base, check_~pc.offset, check_~i;check_~pc.base, check_~pc.offset := check_#in~pc.base, check_#in~pc.offset;check_~i := check_#in~i;call check_#t~mem0.base, check_#t~mem0.offset := read~$Pointer$(check_~pc.base, check_~pc.offset, 4);call check_#t~mem1.base, check_#t~mem1.offset := read~$Pointer$(check_#t~mem0.base, check_#t~mem0.offset + 4 * check_~i, 4);call check_#t~mem2.base, check_#t~mem2.offset := read~$Pointer$(check_#t~mem1.base, check_#t~mem1.offset, 4);call check_#t~mem3 := read~int(check_#t~mem2.base, check_#t~mem2.offset + 4 * check_~i, 4);check_#res := (if check_#t~mem3 == check_~i then 1 else 0);havoc check_#t~mem2.base, check_#t~mem2.offset;havoc check_#t~mem1.base, check_#t~mem1.offset;havoc check_#t~mem3;havoc check_#t~mem0.base, check_#t~mem0.offset; {1741#false} is VALID [2020-07-28 17:59:07,593 INFO L280 TraceCheckUtils]: 26: Hoare triple {1741#false} main_#t~ret16 := check_#res;assume -2147483648 <= main_#t~ret16 && main_#t~ret16 <= 2147483647; {1741#false} is VALID [2020-07-28 17:59:07,593 INFO L280 TraceCheckUtils]: 27: Hoare triple {1741#false} assume 0 == main_#t~ret16;havoc main_#t~ret16; {1741#false} is VALID [2020-07-28 17:59:07,593 INFO L280 TraceCheckUtils]: 28: Hoare triple {1741#false} assume !false; {1741#false} is VALID [2020-07-28 17:59:07,594 INFO L134 CoverageAnalysis]: Checked inductivity of 81 backedges. 0 proven. 81 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 17:59:07,595 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1556459538] [2020-07-28 17:59:07,595 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [849125874] [2020-07-28 17:59:07,595 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 10 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 10 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-28 17:59:18,413 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 10 check-sat command(s) [2020-07-28 17:59:18,413 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2020-07-28 17:59:18,426 INFO L263 TraceCheckSpWp]: Trace formula consists of 173 conjuncts, 11 conjunts are in the unsatisfiable core [2020-07-28 17:59:18,443 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:59:18,445 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 17:59:18,723 INFO L280 TraceCheckUtils]: 0: Hoare triple {1740#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {1740#true} is VALID [2020-07-28 17:59:18,724 INFO L280 TraceCheckUtils]: 1: Hoare triple {1740#true} havoc main_#res;havoc main_#t~nondet4, main_#t~nondet6, main_#t~post5, main_~j~0, main_#t~mem7.base, main_#t~mem7.offset, main_#t~mem8.base, main_#t~mem8.offset, main_#t~mem9.base, main_#t~mem9.offset, main_#t~mem10, main_#t~mem11.base, main_#t~mem11.offset, main_#t~mem12.base, main_#t~mem12.offset, main_#t~mem13, main_#t~pre15, main_#t~mem14, main_#t~ret16, main_~#cont~0.base, main_~#cont~0.offset, main_~#dummy~0.base, main_~#dummy~0.offset, main_~#dummies~0.base, main_~#dummies~0.offset, main_~#a~0.base, main_~#a~0.offset, main_~i~0, main_~pa~0.base, main_~pa~0.offset;call main_~#cont~0.base, main_~#cont~0.offset := #Ultimate.allocOnStack(4);call main_~#dummy~0.base, main_~#dummy~0.offset := #Ultimate.allocOnStack(4);call main_~#dummies~0.base, main_~#dummies~0.offset := #Ultimate.allocOnStack(40);call main_~#a~0.base, main_~#a~0.offset := #Ultimate.allocOnStack(40);havoc main_~i~0;havoc main_~pa~0.base, main_~pa~0.offset;assume -2147483648 <= main_#t~nondet4 && main_#t~nondet4 <= 2147483647;main_~i~0 := main_#t~nondet4;havoc main_#t~nondet4;main_~j~0 := 0; {1758#(<= ULTIMATE.start_main_~j~0 0)} is VALID [2020-07-28 17:59:18,725 INFO L280 TraceCheckUtils]: 2: Hoare triple {1758#(<= ULTIMATE.start_main_~j~0 0)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {1758#(<= ULTIMATE.start_main_~j~0 0)} is VALID [2020-07-28 17:59:18,725 INFO L280 TraceCheckUtils]: 3: Hoare triple {1758#(<= ULTIMATE.start_main_~j~0 0)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {1743#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:59:18,726 INFO L280 TraceCheckUtils]: 4: Hoare triple {1743#(<= ULTIMATE.start_main_~j~0 1)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {1743#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:59:18,727 INFO L280 TraceCheckUtils]: 5: Hoare triple {1743#(<= ULTIMATE.start_main_~j~0 1)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {1744#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:59:18,730 INFO L280 TraceCheckUtils]: 6: Hoare triple {1744#(<= ULTIMATE.start_main_~j~0 2)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {1744#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:59:18,731 INFO L280 TraceCheckUtils]: 7: Hoare triple {1744#(<= ULTIMATE.start_main_~j~0 2)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {1745#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:59:18,731 INFO L280 TraceCheckUtils]: 8: Hoare triple {1745#(<= ULTIMATE.start_main_~j~0 3)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {1745#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:59:18,732 INFO L280 TraceCheckUtils]: 9: Hoare triple {1745#(<= ULTIMATE.start_main_~j~0 3)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {1746#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:59:18,732 INFO L280 TraceCheckUtils]: 10: Hoare triple {1746#(<= ULTIMATE.start_main_~j~0 4)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {1746#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:59:18,733 INFO L280 TraceCheckUtils]: 11: Hoare triple {1746#(<= ULTIMATE.start_main_~j~0 4)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {1747#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:59:18,734 INFO L280 TraceCheckUtils]: 12: Hoare triple {1747#(<= ULTIMATE.start_main_~j~0 5)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {1747#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:59:18,738 INFO L280 TraceCheckUtils]: 13: Hoare triple {1747#(<= ULTIMATE.start_main_~j~0 5)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {1748#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:59:18,739 INFO L280 TraceCheckUtils]: 14: Hoare triple {1748#(<= ULTIMATE.start_main_~j~0 6)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {1748#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:59:18,740 INFO L280 TraceCheckUtils]: 15: Hoare triple {1748#(<= ULTIMATE.start_main_~j~0 6)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {1749#(<= ULTIMATE.start_main_~j~0 7)} is VALID [2020-07-28 17:59:18,741 INFO L280 TraceCheckUtils]: 16: Hoare triple {1749#(<= ULTIMATE.start_main_~j~0 7)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {1749#(<= ULTIMATE.start_main_~j~0 7)} is VALID [2020-07-28 17:59:18,742 INFO L280 TraceCheckUtils]: 17: Hoare triple {1749#(<= ULTIMATE.start_main_~j~0 7)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {1750#(<= ULTIMATE.start_main_~j~0 8)} is VALID [2020-07-28 17:59:18,743 INFO L280 TraceCheckUtils]: 18: Hoare triple {1750#(<= ULTIMATE.start_main_~j~0 8)} assume !!(main_~j~0 < 10);assume -2147483648 <= main_#t~nondet6 && main_#t~nondet6 <= 2147483647;call write~int(main_#t~nondet6, main_~#a~0.base, main_~#a~0.offset + 4 * main_~j~0, 4);havoc main_#t~nondet6;call write~$Pointer$(0, 0, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * main_~j~0, 4); {1750#(<= ULTIMATE.start_main_~j~0 8)} is VALID [2020-07-28 17:59:18,744 INFO L280 TraceCheckUtils]: 19: Hoare triple {1750#(<= ULTIMATE.start_main_~j~0 8)} main_#t~post5 := main_~j~0;main_~j~0 := 1 + main_#t~post5;havoc main_#t~post5; {1751#(<= ULTIMATE.start_main_~j~0 9)} is VALID [2020-07-28 17:59:18,745 INFO L280 TraceCheckUtils]: 20: Hoare triple {1751#(<= ULTIMATE.start_main_~j~0 9)} assume !(main_~j~0 < 10); {1741#false} is VALID [2020-07-28 17:59:18,745 INFO L280 TraceCheckUtils]: 21: Hoare triple {1741#false} assume main_~i~0 >= 0 && main_~i~0 < 9;call write~int(main_~i~0, main_~#a~0.base, main_~#a~0.offset + 4 * main_~i~0, 4);call write~$Pointer$(main_~#a~0.base, main_~#a~0.offset + 4 * main_~i~0, main_~#dummy~0.base, main_~#dummy~0.offset, 4);call write~$Pointer$(main_~#dummy~0.base, main_~#dummy~0.offset, main_~#dummies~0.base, main_~#dummies~0.offset + 4 * (1 + main_~i~0), 4);call write~$Pointer$(main_~#dummies~0.base, main_~#dummies~0.offset, main_~#cont~0.base, main_~#cont~0.offset, 4);call main_#t~mem7.base, main_#t~mem7.offset := read~$Pointer$(main_~#cont~0.base, main_~#cont~0.offset, 4);call main_#t~mem8.base, main_#t~mem8.offset := read~$Pointer$(main_#t~mem7.base, main_#t~mem7.offset + 4 * main_~i~0, 4);call main_#t~mem9.base, main_#t~mem9.offset := read~$Pointer$(main_#t~mem8.base, main_#t~mem8.offset, 4);main_~pa~0.base, main_~pa~0.offset := main_#t~mem9.base, main_#t~mem9.offset + 4 * main_~i~0;havoc main_#t~mem7.base, main_#t~mem7.offset;havoc main_#t~mem8.base, main_#t~mem8.offset;havoc main_#t~mem9.base, main_#t~mem9.offset;call main_#t~mem10 := read~int(main_~#a~0.base, main_~#a~0.offset + 4 * main_~i~0, 4); {1741#false} is VALID [2020-07-28 17:59:18,745 INFO L280 TraceCheckUtils]: 22: Hoare triple {1741#false} assume main_#t~mem10 > 0;havoc main_#t~mem10;call main_#t~mem11.base, main_#t~mem11.offset := read~$Pointer$(main_~#dummies~0.base, main_~#dummies~0.offset + 4 * (1 + main_~i~0), 4);call main_#t~mem12.base, main_#t~mem12.offset := read~$Pointer$(main_#t~mem11.base, main_#t~mem11.offset, 4);call main_#t~mem13 := read~int(main_#t~mem12.base, main_#t~mem12.offset + 4 * main_~i~0, 4);main_~i~0 := main_#t~mem13 - 10;havoc main_#t~mem12.base, main_#t~mem12.offset;havoc main_#t~mem11.base, main_#t~mem11.offset;havoc main_#t~mem13; {1741#false} is VALID [2020-07-28 17:59:18,745 INFO L280 TraceCheckUtils]: 23: Hoare triple {1741#false} call main_#t~mem14 := read~int(main_~pa~0.base, main_~pa~0.offset, 4); {1741#false} is VALID [2020-07-28 17:59:18,745 INFO L280 TraceCheckUtils]: 24: Hoare triple {1741#false} assume !(main_~i~0 < main_#t~mem14);havoc main_#t~mem14; {1741#false} is VALID [2020-07-28 17:59:18,745 INFO L280 TraceCheckUtils]: 25: Hoare triple {1741#false} check_#in~pc.base, check_#in~pc.offset, check_#in~i := main_~#cont~0.base, main_~#cont~0.offset, main_~i~0;havoc check_#res;havoc check_#t~mem0.base, check_#t~mem0.offset, check_#t~mem1.base, check_#t~mem1.offset, check_#t~mem2.base, check_#t~mem2.offset, check_#t~mem3, check_~pc.base, check_~pc.offset, check_~i;check_~pc.base, check_~pc.offset := check_#in~pc.base, check_#in~pc.offset;check_~i := check_#in~i;call check_#t~mem0.base, check_#t~mem0.offset := read~$Pointer$(check_~pc.base, check_~pc.offset, 4);call check_#t~mem1.base, check_#t~mem1.offset := read~$Pointer$(check_#t~mem0.base, check_#t~mem0.offset + 4 * check_~i, 4);call check_#t~mem2.base, check_#t~mem2.offset := read~$Pointer$(check_#t~mem1.base, check_#t~mem1.offset, 4);call check_#t~mem3 := read~int(check_#t~mem2.base, check_#t~mem2.offset + 4 * check_~i, 4);check_#res := (if check_#t~mem3 == check_~i then 1 else 0);havoc check_#t~mem2.base, check_#t~mem2.offset;havoc check_#t~mem1.base, check_#t~mem1.offset;havoc check_#t~mem3;havoc check_#t~mem0.base, check_#t~mem0.offset; {1741#false} is VALID [2020-07-28 17:59:18,746 INFO L280 TraceCheckUtils]: 26: Hoare triple {1741#false} main_#t~ret16 := check_#res;assume -2147483648 <= main_#t~ret16 && main_#t~ret16 <= 2147483647; {1741#false} is VALID [2020-07-28 17:59:18,746 INFO L280 TraceCheckUtils]: 27: Hoare triple {1741#false} assume 0 == main_#t~ret16;havoc main_#t~ret16; {1741#false} is VALID [2020-07-28 17:59:18,746 INFO L280 TraceCheckUtils]: 28: Hoare triple {1741#false} assume !false; {1741#false} is VALID [2020-07-28 17:59:18,747 INFO L134 CoverageAnalysis]: Checked inductivity of 81 backedges. 0 proven. 81 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 17:59:18,747 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-28 17:59:18,748 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12] total 13 [2020-07-28 17:59:18,748 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [661312347] [2020-07-28 17:59:18,748 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 29 [2020-07-28 17:59:18,749 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 17:59:18,749 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states. [2020-07-28 17:59:18,812 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 17:59:18,812 INFO L459 AbstractCegarLoop]: Interpolant automaton has 13 states [2020-07-28 17:59:18,813 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-28 17:59:18,813 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2020-07-28 17:59:18,813 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=78, Invalid=78, Unknown=0, NotChecked=0, Total=156 [2020-07-28 17:59:18,813 INFO L87 Difference]: Start difference. First operand 30 states and 31 transitions. Second operand 13 states. [2020-07-28 17:59:19,054 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:59:19,055 INFO L93 Difference]: Finished difference Result 41 states and 43 transitions. [2020-07-28 17:59:19,055 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2020-07-28 17:59:19,055 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 29 [2020-07-28 17:59:19,056 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 17:59:19,056 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2020-07-28 17:59:19,057 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 43 transitions. [2020-07-28 17:59:19,058 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2020-07-28 17:59:19,059 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 43 transitions. [2020-07-28 17:59:19,059 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 43 transitions. [2020-07-28 17:59:19,135 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 17:59:19,136 INFO L225 Difference]: With dead ends: 41 [2020-07-28 17:59:19,136 INFO L226 Difference]: Without dead ends: 32 [2020-07-28 17:59:19,137 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 40 GetRequests, 29 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 16 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=78, Invalid=78, Unknown=0, NotChecked=0, Total=156 [2020-07-28 17:59:19,137 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2020-07-28 17:59:19,152 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 32. [2020-07-28 17:59:19,152 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 17:59:19,152 INFO L82 GeneralOperation]: Start isEquivalent. First operand 32 states. Second operand 32 states. [2020-07-28 17:59:19,152 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand 32 states. [2020-07-28 17:59:19,152 INFO L87 Difference]: Start difference. First operand 32 states. Second operand 32 states. [2020-07-28 17:59:19,153 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:59:19,154 INFO L93 Difference]: Finished difference Result 32 states and 33 transitions. [2020-07-28 17:59:19,154 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 33 transitions. [2020-07-28 17:59:19,154 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:59:19,155 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:59:19,155 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand 32 states. [2020-07-28 17:59:19,155 INFO L87 Difference]: Start difference. First operand 32 states. Second operand 32 states. [2020-07-28 17:59:19,156 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:59:19,156 INFO L93 Difference]: Finished difference Result 32 states and 33 transitions. [2020-07-28 17:59:19,156 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 33 transitions. [2020-07-28 17:59:19,157 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:59:19,157 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:59:19,157 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 17:59:19,157 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 17:59:19,157 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 32 states. [2020-07-28 17:59:19,158 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 33 transitions. [2020-07-28 17:59:19,158 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 33 transitions. Word has length 29 [2020-07-28 17:59:19,158 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 17:59:19,158 INFO L479 AbstractCegarLoop]: Abstraction has 32 states and 33 transitions. [2020-07-28 17:59:19,158 INFO L480 AbstractCegarLoop]: Interpolant automaton has 13 states. [2020-07-28 17:59:19,158 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 33 transitions. [2020-07-28 17:59:19,159 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2020-07-28 17:59:19,159 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 17:59:19,159 INFO L422 BasicCegarLoop]: trace histogram [10, 10, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 17:59:19,360 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10,10 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-28 17:59:19,360 INFO L427 AbstractCegarLoop]: === Iteration 12 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 17:59:19,361 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 17:59:19,361 INFO L82 PathProgramCache]: Analyzing trace with hash -1003651516, now seen corresponding path program 10 times [2020-07-28 17:59:19,361 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 17:59:19,362 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1781940402] [2020-07-28 17:59:19,362 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 17:59:19,618 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-28 17:59:19,619 INFO L221 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2020-07-28 17:59:19,821 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-28 17:59:19,822 INFO L221 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2020-07-28 17:59:19,856 INFO L174 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2020-07-28 17:59:19,857 INFO L520 BasicCegarLoop]: Counterexample might be feasible [2020-07-28 17:59:19,857 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable11 [2020-07-28 17:59:19,912 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2020-07-28 17:59:19,912 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-28 17:59:19,912 WARN L170 areAnnotationChecker]: L27-3 has no Hoare annotation [2020-07-28 17:59:19,912 WARN L170 areAnnotationChecker]: L27-3 has no Hoare annotation [2020-07-28 17:59:19,912 WARN L170 areAnnotationChecker]: L27-3 has no Hoare annotation [2020-07-28 17:59:19,912 WARN L170 areAnnotationChecker]: L27-4 has no Hoare annotation [2020-07-28 17:59:19,912 WARN L170 areAnnotationChecker]: L27-4 has no Hoare annotation [2020-07-28 17:59:19,912 WARN L170 areAnnotationChecker]: L27-2 has no Hoare annotation [2020-07-28 17:59:19,912 WARN L170 areAnnotationChecker]: L40 has no Hoare annotation [2020-07-28 17:59:19,913 WARN L170 areAnnotationChecker]: L40 has no Hoare annotation [2020-07-28 17:59:19,913 WARN L170 areAnnotationChecker]: L34 has no Hoare annotation [2020-07-28 17:59:19,913 WARN L170 areAnnotationChecker]: L42-3 has no Hoare annotation [2020-07-28 17:59:19,913 WARN L170 areAnnotationChecker]: L42-3 has no Hoare annotation [2020-07-28 17:59:19,913 WARN L170 areAnnotationChecker]: L54 has no Hoare annotation [2020-07-28 17:59:19,913 WARN L170 areAnnotationChecker]: L42-4 has no Hoare annotation [2020-07-28 17:59:19,913 WARN L170 areAnnotationChecker]: L42-1 has no Hoare annotation [2020-07-28 17:59:19,913 WARN L170 areAnnotationChecker]: L42-1 has no Hoare annotation [2020-07-28 17:59:19,913 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2020-07-28 17:59:19,913 WARN L170 areAnnotationChecker]: L16 has no Hoare annotation [2020-07-28 17:59:19,914 WARN L170 areAnnotationChecker]: L45 has no Hoare annotation [2020-07-28 17:59:19,914 WARN L170 areAnnotationChecker]: L45 has no Hoare annotation [2020-07-28 17:59:19,914 WARN L170 areAnnotationChecker]: L46 has no Hoare annotation [2020-07-28 17:59:19,914 WARN L170 areAnnotationChecker]: L46 has no Hoare annotation [2020-07-28 17:59:19,914 INFO L163 areAnnotationChecker]: CFG has 0 edges. 0 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2020-07-28 17:59:19,916 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 28.07 05:59:19 BoogieIcfgContainer [2020-07-28 17:59:19,916 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2020-07-28 17:59:19,917 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2020-07-28 17:59:19,917 INFO L271 PluginConnector]: Initializing Witness Printer... [2020-07-28 17:59:19,918 INFO L275 PluginConnector]: Witness Printer initialized [2020-07-28 17:59:19,919 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.07 05:58:57" (3/4) ... [2020-07-28 17:59:19,922 INFO L131 WitnessPrinter]: Generating witness for reachability counterexample [2020-07-28 17:59:20,006 INFO L141 WitnessManager]: Wrote witness to /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/witness.graphml [2020-07-28 17:59:20,009 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2020-07-28 17:59:20,013 INFO L168 Benchmark]: Toolchain (without parser) took 23679.64 ms. Allocated memory was 1.0 GB in the beginning and 1.3 GB in the end (delta: 309.3 MB). Free memory was 954.9 MB in the beginning and 1.3 GB in the end (delta: -328.8 MB). There was no memory consumed. Max. memory is 11.5 GB. [2020-07-28 17:59:20,013 INFO L168 Benchmark]: CDTParser took 0.37 ms. Allocated memory is still 1.0 GB. Free memory is still 981.7 MB. There was no memory consumed. Max. memory is 11.5 GB. [2020-07-28 17:59:20,014 INFO L168 Benchmark]: CACSL2BoogieTranslator took 375.12 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 130.0 MB). Free memory was 954.9 MB in the beginning and 1.1 GB in the end (delta: -165.1 MB). Peak memory consumption was 21.7 MB. Max. memory is 11.5 GB. [2020-07-28 17:59:20,014 INFO L168 Benchmark]: Boogie Procedure Inliner took 54.01 ms. Allocated memory is still 1.2 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. [2020-07-28 17:59:20,015 INFO L168 Benchmark]: Boogie Preprocessor took 35.78 ms. Allocated memory is still 1.2 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. [2020-07-28 17:59:20,015 INFO L168 Benchmark]: RCFGBuilder took 636.83 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 39.2 MB). Peak memory consumption was 39.2 MB. Max. memory is 11.5 GB. [2020-07-28 17:59:20,015 INFO L168 Benchmark]: TraceAbstraction took 22477.90 ms. Allocated memory was 1.2 GB in the beginning and 1.3 GB in the end (delta: 179.3 MB). Free memory was 1.1 GB in the beginning and 1.3 GB in the end (delta: -211.9 MB). Peak memory consumption was 422.7 MB. Max. memory is 11.5 GB. [2020-07-28 17:59:20,016 INFO L168 Benchmark]: Witness Printer took 92.71 ms. Allocated memory is still 1.3 GB. Free memory was 1.3 GB in the beginning and 1.3 GB in the end (delta: 9.1 MB). Peak memory consumption was 9.1 MB. Max. memory is 11.5 GB. [2020-07-28 17:59:20,018 INFO L336 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.37 ms. Allocated memory is still 1.0 GB. Free memory is still 981.7 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 375.12 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 130.0 MB). Free memory was 954.9 MB in the beginning and 1.1 GB in the end (delta: -165.1 MB). Peak memory consumption was 21.7 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 54.01 ms. Allocated memory is still 1.2 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. * Boogie Preprocessor took 35.78 ms. Allocated memory is still 1.2 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. * RCFGBuilder took 636.83 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 39.2 MB). Peak memory consumption was 39.2 MB. Max. memory is 11.5 GB. * TraceAbstraction took 22477.90 ms. Allocated memory was 1.2 GB in the beginning and 1.3 GB in the end (delta: 179.3 MB). Free memory was 1.1 GB in the beginning and 1.3 GB in the end (delta: -211.9 MB). Peak memory consumption was 422.7 MB. Max. memory is 11.5 GB. * Witness Printer took 92.71 ms. Allocated memory is still 1.3 GB. Free memory was 1.3 GB in the beginning and 1.3 GB in the end (delta: 9.1 MB). Peak memory consumption was 9.1 MB. Max. memory is 11.5 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - CounterExampleResult [Line: 53]: a call of __VERIFIER_error() is reachable a call of __VERIFIER_error() is reachable We found a FailurePath: [L21] struct cont cont; [L22] struct dummy dummy; [L23] struct dummy *dummies[10]; [L24] int a[10]; [L25] int i, *pa; [L26] i = __VERIFIER_nondet_int() [L27] int j = 0; [L27] COND TRUE j < 10 [L28] a[j] = __VERIFIER_nondet_int() [L32] dummies[j] = 0 [L27] j++ [L27] COND TRUE j < 10 [L28] a[j] = __VERIFIER_nondet_int() [L32] dummies[j] = 0 [L27] j++ [L27] COND TRUE j < 10 [L28] a[j] = __VERIFIER_nondet_int() [L32] dummies[j] = 0 [L27] j++ [L27] COND TRUE j < 10 [L28] a[j] = __VERIFIER_nondet_int() [L32] dummies[j] = 0 [L27] j++ [L27] COND TRUE j < 10 [L28] a[j] = __VERIFIER_nondet_int() [L32] dummies[j] = 0 [L27] j++ [L27] COND TRUE j < 10 [L28] a[j] = __VERIFIER_nondet_int() [L32] dummies[j] = 0 [L27] j++ [L27] COND TRUE j < 10 [L28] a[j] = __VERIFIER_nondet_int() [L32] dummies[j] = 0 [L27] j++ [L27] COND TRUE j < 10 [L28] a[j] = __VERIFIER_nondet_int() [L32] dummies[j] = 0 [L27] j++ [L27] COND TRUE j < 10 [L28] a[j] = __VERIFIER_nondet_int() [L32] dummies[j] = 0 [L27] j++ [L27] COND TRUE j < 10 [L28] a[j] = __VERIFIER_nondet_int() [L32] dummies[j] = 0 [L27] j++ [L27] COND FALSE !(j < 10) [L34] COND TRUE i >= 0 && i < 9 [L35] a[i] = i [L36] dummy.array = &a[i] [L37] dummies[i + 1] = &dummy [L38] cont.array = &dummies[0] [L39] EXPR cont.array [L39] EXPR cont.array[i] [L39] EXPR cont.array[i]->array [L39] pa = &cont.array[i]->array[i] [L40] EXPR a[i] [L40] COND TRUE a[i] > 0 [L41] EXPR dummies[i + 1] [L41] EXPR dummies[i + 1]->array [L41] EXPR dummies[i + 1]->array[i] [L41] i = dummies[i + 1]->array[i] - 10 [L42] EXPR \read(*pa) [L42] COND FALSE !(i < *pa) [L16] EXPR pc->array [L16] EXPR pc->array[i] [L16] EXPR pc->array[i]->array [L16] EXPR pc->array[i]->array[i] [L16] return pc->array[i]->array[i] == i; [L45] COND TRUE !check(&cont, i) [L53] __VERIFIER_error() - StatisticsResult: Ultimate Automizer benchmark data CFG has 1 procedures, 17 locations, 1 error locations. Started 1 CEGAR loops. VerificationResult: UNSAFE, OverallTime: 22.3s, OverallIterations: 12, TraceHistogramMax: 10, AutomataDifference: 2.5s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 140 SDtfs, 55 SDslu, 460 SDs, 0 SdLazy, 181 SolverSat, 12 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 0.3s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 257 GetRequests, 193 SyntacticMatches, 0 SemanticMatches, 64 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 72 ImplicationChecksByTransitivity, 0.4s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=32occurred in iteration=11, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.2s AutomataMinimizationTime, 11 MinimizatonAttempts, 9 StatesRemovedByMinimization, 9 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.1s SsaConstructionTime, 13.3s SatisfiabilityAnalysisTime, 3.0s InterpolantComputationTime, 430 NumberOfCodeBlocks, 430 NumberOfCodeBlocksAsserted, 47 NumberOfCheckSat, 379 ConstructedInterpolants, 0 QuantifiedInterpolants, 16761 SizeOfPredicates, 9 NumberOfNonLiveVariables, 1197 ConjunctsInSsa, 63 ConjunctsInUnsatCore, 20 InterpolantComputations, 2 PerfectInterpolantSequences, 0/570 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available RESULT: Ultimate proved your program to be incorrect! Received shutdown request...