./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/ldv-regression/test24-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/test24-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 45294379b83c6b60e0b0199955cdf7244f057430 ........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 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:40,807 INFO L177 SettingsManager]: Resetting all preferences to default values... [2020-07-28 17:58:40,810 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2020-07-28 17:58:40,827 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2020-07-28 17:58:40,828 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2020-07-28 17:58:40,830 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2020-07-28 17:58:40,832 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2020-07-28 17:58:40,845 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2020-07-28 17:58:40,848 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2020-07-28 17:58:40,850 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2020-07-28 17:58:40,852 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2020-07-28 17:58:40,854 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2020-07-28 17:58:40,854 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2020-07-28 17:58:40,857 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2020-07-28 17:58:40,859 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2020-07-28 17:58:40,861 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2020-07-28 17:58:40,863 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2020-07-28 17:58:40,864 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2020-07-28 17:58:40,866 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2020-07-28 17:58:40,871 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2020-07-28 17:58:40,875 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2020-07-28 17:58:40,878 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2020-07-28 17:58:40,880 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2020-07-28 17:58:40,882 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2020-07-28 17:58:40,885 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2020-07-28 17:58:40,886 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2020-07-28 17:58:40,886 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2020-07-28 17:58:40,887 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2020-07-28 17:58:40,888 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2020-07-28 17:58:40,889 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2020-07-28 17:58:40,889 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2020-07-28 17:58:40,890 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2020-07-28 17:58:40,891 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2020-07-28 17:58:40,892 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2020-07-28 17:58:40,893 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2020-07-28 17:58:40,894 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2020-07-28 17:58:40,894 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2020-07-28 17:58:40,895 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2020-07-28 17:58:40,895 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2020-07-28 17:58:40,896 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2020-07-28 17:58:40,897 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2020-07-28 17:58:40,898 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:40,918 INFO L113 SettingsManager]: Loading preferences was successful [2020-07-28 17:58:40,919 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2020-07-28 17:58:40,920 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2020-07-28 17:58:40,921 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2020-07-28 17:58:40,921 INFO L138 SettingsManager]: * Use SBE=true [2020-07-28 17:58:40,921 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2020-07-28 17:58:40,922 INFO L138 SettingsManager]: * sizeof long=4 [2020-07-28 17:58:40,922 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2020-07-28 17:58:40,922 INFO L138 SettingsManager]: * sizeof POINTER=4 [2020-07-28 17:58:40,923 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2020-07-28 17:58:40,924 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2020-07-28 17:58:40,924 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2020-07-28 17:58:40,924 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2020-07-28 17:58:40,925 INFO L138 SettingsManager]: * sizeof long double=12 [2020-07-28 17:58:40,925 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2020-07-28 17:58:40,925 INFO L138 SettingsManager]: * Use constant arrays=true [2020-07-28 17:58:40,926 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2020-07-28 17:58:40,926 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2020-07-28 17:58:40,926 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2020-07-28 17:58:40,927 INFO L138 SettingsManager]: * To the following directory=./dump/ [2020-07-28 17:58:40,927 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2020-07-28 17:58:40,927 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-28 17:58:40,927 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2020-07-28 17:58:40,928 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2020-07-28 17:58:40,928 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2020-07-28 17:58:40,928 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2020-07-28 17:58:40,929 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2020-07-28 17:58:40,929 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2020-07-28 17:58:40,929 INFO L138 SettingsManager]: * Trace refinement exception blacklist=NONE [2020-07-28 17:58:40,929 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 -> 45294379b83c6b60e0b0199955cdf7244f057430 [2020-07-28 17:58:41,220 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2020-07-28 17:58:41,233 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2020-07-28 17:58:41,236 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2020-07-28 17:58:41,238 INFO L271 PluginConnector]: Initializing CDTParser... [2020-07-28 17:58:41,238 INFO L275 PluginConnector]: CDTParser initialized [2020-07-28 17:58:41,239 INFO L429 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/ldv-regression/test24-2.c [2020-07-28 17:58:41,301 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/5822f0cdb/b6cda825e61544ff9dd1de0619587de4/FLAGe7615d570 [2020-07-28 17:58:41,755 INFO L306 CDTParser]: Found 1 translation units. [2020-07-28 17:58:41,756 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/ldv-regression/test24-2.c [2020-07-28 17:58:41,765 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/5822f0cdb/b6cda825e61544ff9dd1de0619587de4/FLAGe7615d570 [2020-07-28 17:58:42,122 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/5822f0cdb/b6cda825e61544ff9dd1de0619587de4 [2020-07-28 17:58:42,125 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2020-07-28 17:58:42,127 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2020-07-28 17:58:42,128 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2020-07-28 17:58:42,128 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2020-07-28 17:58:42,132 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2020-07-28 17:58:42,134 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.07 05:58:42" (1/1) ... [2020-07-28 17:58:42,137 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@4726e3cf and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 05:58:42, skipping insertion in model container [2020-07-28 17:58:42,138 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.07 05:58:42" (1/1) ... [2020-07-28 17:58:42,147 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2020-07-28 17:58:42,169 INFO L178 MainTranslator]: Built tables and reachable declarations [2020-07-28 17:58:42,385 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-28 17:58:42,397 INFO L203 MainTranslator]: Completed pre-run [2020-07-28 17:58:42,418 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-28 17:58:42,432 INFO L208 MainTranslator]: Completed translation [2020-07-28 17:58:42,432 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 05:58:42 WrapperNode [2020-07-28 17:58:42,432 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2020-07-28 17:58:42,433 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2020-07-28 17:58:42,433 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2020-07-28 17:58:42,434 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2020-07-28 17:58:42,443 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:42" (1/1) ... [2020-07-28 17:58:42,511 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:42" (1/1) ... [2020-07-28 17:58:42,550 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2020-07-28 17:58:42,550 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2020-07-28 17:58:42,550 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2020-07-28 17:58:42,550 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2020-07-28 17:58:42,560 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:42" (1/1) ... [2020-07-28 17:58:42,560 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:42" (1/1) ... [2020-07-28 17:58:42,562 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:42" (1/1) ... [2020-07-28 17:58:42,563 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:42" (1/1) ... [2020-07-28 17:58:42,570 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:42" (1/1) ... [2020-07-28 17:58:42,575 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:42" (1/1) ... [2020-07-28 17:58:42,577 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:42" (1/1) ... [2020-07-28 17:58:42,579 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2020-07-28 17:58:42,580 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2020-07-28 17:58:42,580 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2020-07-28 17:58:42,580 INFO L275 PluginConnector]: RCFGBuilder initialized [2020-07-28 17:58:42,581 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 05:58:42" (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:42,641 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2020-07-28 17:58:42,642 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2020-07-28 17:58:42,642 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2020-07-28 17:58:42,642 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2020-07-28 17:58:42,643 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2020-07-28 17:58:42,643 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2020-07-28 17:58:43,009 INFO L290 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2020-07-28 17:58:43,010 INFO L295 CfgBuilder]: Removed 8 assume(true) statements. [2020-07-28 17:58:43,013 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.07 05:58:43 BoogieIcfgContainer [2020-07-28 17:58:43,014 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2020-07-28 17:58:43,015 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2020-07-28 17:58:43,015 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2020-07-28 17:58:43,019 INFO L275 PluginConnector]: TraceAbstraction initialized [2020-07-28 17:58:43,019 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.07 05:58:42" (1/3) ... [2020-07-28 17:58:43,020 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@739e3afc and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.07 05:58:43, skipping insertion in model container [2020-07-28 17:58:43,020 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 05:58:42" (2/3) ... [2020-07-28 17:58:43,021 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@739e3afc and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.07 05:58:43, skipping insertion in model container [2020-07-28 17:58:43,021 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.07 05:58:43" (3/3) ... [2020-07-28 17:58:43,023 INFO L109 eAbstractionObserver]: Analyzing ICFG test24-2.c [2020-07-28 17:58:43,034 INFO L157 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2020-07-28 17:58:43,041 INFO L169 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2020-07-28 17:58:43,052 INFO L251 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2020-07-28 17:58:43,070 INFO L375 AbstractCegarLoop]: Interprodecural is true [2020-07-28 17:58:43,071 INFO L376 AbstractCegarLoop]: Hoare is true [2020-07-28 17:58:43,071 INFO L377 AbstractCegarLoop]: Compute interpolants for FPandBP [2020-07-28 17:58:43,071 INFO L378 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2020-07-28 17:58:43,071 INFO L379 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2020-07-28 17:58:43,071 INFO L380 AbstractCegarLoop]: Difference is false [2020-07-28 17:58:43,072 INFO L381 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2020-07-28 17:58:43,072 INFO L385 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2020-07-28 17:58:43,085 INFO L276 IsEmpty]: Start isEmpty. Operand 17 states. [2020-07-28 17:58:43,091 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 11 [2020-07-28 17:58:43,091 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 17:58:43,092 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 17:58:43,092 INFO L427 AbstractCegarLoop]: === Iteration 1 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 17:58:43,097 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 17:58:43,098 INFO L82 PathProgramCache]: Analyzing trace with hash 1829445793, now seen corresponding path program 1 times [2020-07-28 17:58:43,108 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 17:58:43,109 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1702296280] [2020-07-28 17:58:43,109 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 17:58:43,206 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:58:43,264 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:43,265 INFO L280 TraceCheckUtils]: 1: Hoare triple {20#true} havoc main_#res;havoc main_#t~nondet2, main_#t~nondet3, main_#t~post1, main_#t~nondet4, main_#t~mem5, main_#t~pre7, main_#t~mem6, main_#t~ret8, main_~#ad1~0.base, main_~#ad1~0.offset, main_~ad2~0.base, main_~ad2~0.offset, main_~i~0, main_~j~0, main_~pa~0.base, main_~pa~0.offset;call main_~#ad1~0.base, main_~#ad1~0.offset := #Ultimate.allocOnStack(160);havoc main_~ad2~0.base, main_~ad2~0.offset;havoc main_~i~0;havoc main_~j~0;havoc main_~pa~0.base, main_~pa~0.offset;main_~j~0 := 0; {20#true} is VALID [2020-07-28 17:58:43,265 INFO L280 TraceCheckUtils]: 2: Hoare triple {20#true} assume !(main_~j~0 < 20); {20#true} is VALID [2020-07-28 17:58:43,266 INFO L280 TraceCheckUtils]: 3: Hoare triple {20#true} assume -2147483648 <= main_#t~nondet4 && main_#t~nondet4 <= 2147483647;main_~i~0 := main_#t~nondet4;havoc main_#t~nondet4; {20#true} is VALID [2020-07-28 17:58:43,266 INFO L280 TraceCheckUtils]: 4: Hoare triple {20#true} assume main_~i~0 >= 0 && main_~i~0 < 10;main_~ad2~0.base, main_~ad2~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset;call write~int(main_~i~0, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0, 4);main_~pa~0.base, main_~pa~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0;call main_#t~mem5 := read~int(main_~ad2~0.base, main_~ad2~0.offset + 8 * main_~i~0, 4);main_~i~0 := 10 + main_#t~mem5;havoc main_#t~mem5; {20#true} is VALID [2020-07-28 17:58:43,274 INFO L280 TraceCheckUtils]: 5: Hoare triple {20#true} assume !true; {21#false} is VALID [2020-07-28 17:58:43,275 INFO L280 TraceCheckUtils]: 6: Hoare triple {21#false} check_#in~ad1.base, check_#in~ad1.offset, check_#in~b := main_~#ad1~0.base, main_~#ad1~0.offset, main_~i~0;havoc check_#res;havoc check_#t~mem0, check_~ad1.base, check_~ad1.offset, check_~b;check_~ad1.base, check_~ad1.offset := check_#in~ad1.base, check_#in~ad1.offset;check_~b := check_#in~b;call check_#t~mem0 := read~int(check_~ad1.base, check_~ad1.offset + 8 * check_~b, 4);check_#res := (if check_#t~mem0 == check_~b then 1 else 0);havoc check_#t~mem0; {21#false} is VALID [2020-07-28 17:58:43,275 INFO L280 TraceCheckUtils]: 7: Hoare triple {21#false} main_#t~ret8 := check_#res;assume -2147483648 <= main_#t~ret8 && main_#t~ret8 <= 2147483647; {21#false} is VALID [2020-07-28 17:58:43,276 INFO L280 TraceCheckUtils]: 8: Hoare triple {21#false} assume 0 == main_#t~ret8;havoc main_#t~ret8; {21#false} is VALID [2020-07-28 17:58:43,276 INFO L280 TraceCheckUtils]: 9: Hoare triple {21#false} assume !false; {21#false} is VALID [2020-07-28 17:58:43,278 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:43,280 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1702296280] [2020-07-28 17:58:43,282 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-28 17:58:43,283 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2020-07-28 17:58:43,284 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [462155440] [2020-07-28 17:58:43,292 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 10 [2020-07-28 17:58:43,293 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 17:58:43,298 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states. [2020-07-28 17:58:43,355 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:43,356 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2020-07-28 17:58:43,356 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-28 17:58:43,365 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2020-07-28 17:58:43,367 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2020-07-28 17:58:43,372 INFO L87 Difference]: Start difference. First operand 17 states. Second operand 2 states. [2020-07-28 17:58:43,433 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:58:43,434 INFO L93 Difference]: Finished difference Result 30 states and 38 transitions. [2020-07-28 17:58:43,434 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2020-07-28 17:58:43,434 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 10 [2020-07-28 17:58:43,435 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 17:58:43,436 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2020-07-28 17:58:43,444 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 38 transitions. [2020-07-28 17:58:43,444 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2020-07-28 17:58:43,448 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 38 transitions. [2020-07-28 17:58:43,448 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 38 transitions. [2020-07-28 17:58:43,518 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:58:43,529 INFO L225 Difference]: With dead ends: 30 [2020-07-28 17:58:43,529 INFO L226 Difference]: Without dead ends: 13 [2020-07-28 17:58:43,533 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:43,548 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 13 states. [2020-07-28 17:58:43,569 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 13 to 13. [2020-07-28 17:58:43,569 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 17:58:43,570 INFO L82 GeneralOperation]: Start isEquivalent. First operand 13 states. Second operand 13 states. [2020-07-28 17:58:43,571 INFO L74 IsIncluded]: Start isIncluded. First operand 13 states. Second operand 13 states. [2020-07-28 17:58:43,571 INFO L87 Difference]: Start difference. First operand 13 states. Second operand 13 states. [2020-07-28 17:58:43,573 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:58:43,574 INFO L93 Difference]: Finished difference Result 13 states and 14 transitions. [2020-07-28 17:58:43,574 INFO L276 IsEmpty]: Start isEmpty. Operand 13 states and 14 transitions. [2020-07-28 17:58:43,575 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:58:43,575 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:58:43,575 INFO L74 IsIncluded]: Start isIncluded. First operand 13 states. Second operand 13 states. [2020-07-28 17:58:43,576 INFO L87 Difference]: Start difference. First operand 13 states. Second operand 13 states. [2020-07-28 17:58:43,577 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:58:43,578 INFO L93 Difference]: Finished difference Result 13 states and 14 transitions. [2020-07-28 17:58:43,578 INFO L276 IsEmpty]: Start isEmpty. Operand 13 states and 14 transitions. [2020-07-28 17:58:43,579 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:58:43,579 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:58:43,579 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 17:58:43,580 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 17:58:43,580 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2020-07-28 17:58:43,582 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 14 transitions. [2020-07-28 17:58:43,584 INFO L78 Accepts]: Start accepts. Automaton has 13 states and 14 transitions. Word has length 10 [2020-07-28 17:58:43,584 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 17:58:43,584 INFO L479 AbstractCegarLoop]: Abstraction has 13 states and 14 transitions. [2020-07-28 17:58:43,584 INFO L480 AbstractCegarLoop]: Interpolant automaton has 2 states. [2020-07-28 17:58:43,585 INFO L276 IsEmpty]: Start isEmpty. Operand 13 states and 14 transitions. [2020-07-28 17:58:43,585 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2020-07-28 17:58:43,586 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 17:58:43,586 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 17:58:43,586 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2020-07-28 17:58:43,587 INFO L427 AbstractCegarLoop]: === Iteration 2 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 17:58:43,587 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 17:58:43,588 INFO L82 PathProgramCache]: Analyzing trace with hash 672236885, now seen corresponding path program 1 times [2020-07-28 17:58:43,588 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 17:58:43,588 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1124564218] [2020-07-28 17:58:43,589 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 17:58:43,609 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:58:43,665 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:43,667 INFO L280 TraceCheckUtils]: 1: Hoare triple {106#true} havoc main_#res;havoc main_#t~nondet2, main_#t~nondet3, main_#t~post1, main_#t~nondet4, main_#t~mem5, main_#t~pre7, main_#t~mem6, main_#t~ret8, main_~#ad1~0.base, main_~#ad1~0.offset, main_~ad2~0.base, main_~ad2~0.offset, main_~i~0, main_~j~0, main_~pa~0.base, main_~pa~0.offset;call main_~#ad1~0.base, main_~#ad1~0.offset := #Ultimate.allocOnStack(160);havoc main_~ad2~0.base, main_~ad2~0.offset;havoc main_~i~0;havoc main_~j~0;havoc main_~pa~0.base, main_~pa~0.offset;main_~j~0 := 0; {108#(= 0 ULTIMATE.start_main_~j~0)} is VALID [2020-07-28 17:58:43,668 INFO L280 TraceCheckUtils]: 2: Hoare triple {108#(= 0 ULTIMATE.start_main_~j~0)} assume !(main_~j~0 < 20); {107#false} is VALID [2020-07-28 17:58:43,668 INFO L280 TraceCheckUtils]: 3: Hoare triple {107#false} assume -2147483648 <= main_#t~nondet4 && main_#t~nondet4 <= 2147483647;main_~i~0 := main_#t~nondet4;havoc main_#t~nondet4; {107#false} is VALID [2020-07-28 17:58:43,669 INFO L280 TraceCheckUtils]: 4: Hoare triple {107#false} assume main_~i~0 >= 0 && main_~i~0 < 10;main_~ad2~0.base, main_~ad2~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset;call write~int(main_~i~0, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0, 4);main_~pa~0.base, main_~pa~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0;call main_#t~mem5 := read~int(main_~ad2~0.base, main_~ad2~0.offset + 8 * main_~i~0, 4);main_~i~0 := 10 + main_#t~mem5;havoc main_#t~mem5; {107#false} is VALID [2020-07-28 17:58:43,669 INFO L280 TraceCheckUtils]: 5: Hoare triple {107#false} call main_#t~mem6 := read~int(main_~pa~0.base, main_~pa~0.offset, 4); {107#false} is VALID [2020-07-28 17:58:43,669 INFO L280 TraceCheckUtils]: 6: Hoare triple {107#false} assume !(main_~i~0 < main_#t~mem6);havoc main_#t~mem6; {107#false} is VALID [2020-07-28 17:58:43,670 INFO L280 TraceCheckUtils]: 7: Hoare triple {107#false} check_#in~ad1.base, check_#in~ad1.offset, check_#in~b := main_~#ad1~0.base, main_~#ad1~0.offset, main_~i~0;havoc check_#res;havoc check_#t~mem0, check_~ad1.base, check_~ad1.offset, check_~b;check_~ad1.base, check_~ad1.offset := check_#in~ad1.base, check_#in~ad1.offset;check_~b := check_#in~b;call check_#t~mem0 := read~int(check_~ad1.base, check_~ad1.offset + 8 * check_~b, 4);check_#res := (if check_#t~mem0 == check_~b then 1 else 0);havoc check_#t~mem0; {107#false} is VALID [2020-07-28 17:58:43,670 INFO L280 TraceCheckUtils]: 8: Hoare triple {107#false} main_#t~ret8 := check_#res;assume -2147483648 <= main_#t~ret8 && main_#t~ret8 <= 2147483647; {107#false} is VALID [2020-07-28 17:58:43,670 INFO L280 TraceCheckUtils]: 9: Hoare triple {107#false} assume 0 == main_#t~ret8;havoc main_#t~ret8; {107#false} is VALID [2020-07-28 17:58:43,671 INFO L280 TraceCheckUtils]: 10: Hoare triple {107#false} assume !false; {107#false} is VALID [2020-07-28 17:58:43,671 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:43,672 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1124564218] [2020-07-28 17:58:43,673 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-28 17:58:43,673 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2020-07-28 17:58:43,673 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1377402142] [2020-07-28 17:58:43,675 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 11 [2020-07-28 17:58:43,675 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 17:58:43,676 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2020-07-28 17:58:43,698 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:43,698 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2020-07-28 17:58:43,698 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-28 17:58:43,699 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2020-07-28 17:58:43,699 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2020-07-28 17:58:43,700 INFO L87 Difference]: Start difference. First operand 13 states and 14 transitions. Second operand 3 states. [2020-07-28 17:58:43,747 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:58:43,747 INFO L93 Difference]: Finished difference Result 24 states and 26 transitions. [2020-07-28 17:58:43,748 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2020-07-28 17:58:43,748 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 11 [2020-07-28 17:58:43,748 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 17:58:43,748 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2020-07-28 17:58:43,750 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 26 transitions. [2020-07-28 17:58:43,751 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2020-07-28 17:58:43,752 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 26 transitions. [2020-07-28 17:58:43,753 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 26 transitions. [2020-07-28 17:58:43,796 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:43,798 INFO L225 Difference]: With dead ends: 24 [2020-07-28 17:58:43,798 INFO L226 Difference]: Without dead ends: 15 [2020-07-28 17:58:43,799 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:43,800 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 15 states. [2020-07-28 17:58:43,805 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 15 to 14. [2020-07-28 17:58:43,806 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 17:58:43,806 INFO L82 GeneralOperation]: Start isEquivalent. First operand 15 states. Second operand 14 states. [2020-07-28 17:58:43,806 INFO L74 IsIncluded]: Start isIncluded. First operand 15 states. Second operand 14 states. [2020-07-28 17:58:43,807 INFO L87 Difference]: Start difference. First operand 15 states. Second operand 14 states. [2020-07-28 17:58:43,808 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:58:43,808 INFO L93 Difference]: Finished difference Result 15 states and 16 transitions. [2020-07-28 17:58:43,809 INFO L276 IsEmpty]: Start isEmpty. Operand 15 states and 16 transitions. [2020-07-28 17:58:43,809 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:58:43,810 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:58:43,810 INFO L74 IsIncluded]: Start isIncluded. First operand 14 states. Second operand 15 states. [2020-07-28 17:58:43,810 INFO L87 Difference]: Start difference. First operand 14 states. Second operand 15 states. [2020-07-28 17:58:43,812 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:58:43,813 INFO L93 Difference]: Finished difference Result 15 states and 16 transitions. [2020-07-28 17:58:43,813 INFO L276 IsEmpty]: Start isEmpty. Operand 15 states and 16 transitions. [2020-07-28 17:58:43,813 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:58:43,814 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:58:43,814 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 17:58:43,814 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 17:58:43,815 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2020-07-28 17:58:43,816 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 15 transitions. [2020-07-28 17:58:43,816 INFO L78 Accepts]: Start accepts. Automaton has 14 states and 15 transitions. Word has length 11 [2020-07-28 17:58:43,817 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 17:58:43,817 INFO L479 AbstractCegarLoop]: Abstraction has 14 states and 15 transitions. [2020-07-28 17:58:43,817 INFO L480 AbstractCegarLoop]: Interpolant automaton has 3 states. [2020-07-28 17:58:43,817 INFO L276 IsEmpty]: Start isEmpty. Operand 14 states and 15 transitions. [2020-07-28 17:58:43,818 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 14 [2020-07-28 17:58:43,818 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 17:58:43,819 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 17:58:43,819 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2020-07-28 17:58:43,819 INFO L427 AbstractCegarLoop]: === Iteration 3 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 17:58:43,820 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 17:58:43,820 INFO L82 PathProgramCache]: Analyzing trace with hash 1835948819, now seen corresponding path program 1 times [2020-07-28 17:58:43,820 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 17:58:43,821 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1634078514] [2020-07-28 17:58:43,821 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 17:58:43,839 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:58:43,910 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:43,911 INFO L280 TraceCheckUtils]: 1: Hoare triple {192#true} havoc main_#res;havoc main_#t~nondet2, main_#t~nondet3, main_#t~post1, main_#t~nondet4, main_#t~mem5, main_#t~pre7, main_#t~mem6, main_#t~ret8, main_~#ad1~0.base, main_~#ad1~0.offset, main_~ad2~0.base, main_~ad2~0.offset, main_~i~0, main_~j~0, main_~pa~0.base, main_~pa~0.offset;call main_~#ad1~0.base, main_~#ad1~0.offset := #Ultimate.allocOnStack(160);havoc main_~ad2~0.base, main_~ad2~0.offset;havoc main_~i~0;havoc main_~j~0;havoc main_~pa~0.base, main_~pa~0.offset;main_~j~0 := 0; {194#(= 0 ULTIMATE.start_main_~j~0)} is VALID [2020-07-28 17:58:43,913 INFO L280 TraceCheckUtils]: 2: Hoare triple {194#(= 0 ULTIMATE.start_main_~j~0)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {194#(= 0 ULTIMATE.start_main_~j~0)} is VALID [2020-07-28 17:58:43,914 INFO L280 TraceCheckUtils]: 3: Hoare triple {194#(= 0 ULTIMATE.start_main_~j~0)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {195#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:58:43,915 INFO L280 TraceCheckUtils]: 4: Hoare triple {195#(<= ULTIMATE.start_main_~j~0 1)} assume !(main_~j~0 < 20); {193#false} is VALID [2020-07-28 17:58:43,916 INFO L280 TraceCheckUtils]: 5: Hoare triple {193#false} assume -2147483648 <= main_#t~nondet4 && main_#t~nondet4 <= 2147483647;main_~i~0 := main_#t~nondet4;havoc main_#t~nondet4; {193#false} is VALID [2020-07-28 17:58:43,916 INFO L280 TraceCheckUtils]: 6: Hoare triple {193#false} assume main_~i~0 >= 0 && main_~i~0 < 10;main_~ad2~0.base, main_~ad2~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset;call write~int(main_~i~0, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0, 4);main_~pa~0.base, main_~pa~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0;call main_#t~mem5 := read~int(main_~ad2~0.base, main_~ad2~0.offset + 8 * main_~i~0, 4);main_~i~0 := 10 + main_#t~mem5;havoc main_#t~mem5; {193#false} is VALID [2020-07-28 17:58:43,916 INFO L280 TraceCheckUtils]: 7: Hoare triple {193#false} call main_#t~mem6 := read~int(main_~pa~0.base, main_~pa~0.offset, 4); {193#false} is VALID [2020-07-28 17:58:43,917 INFO L280 TraceCheckUtils]: 8: Hoare triple {193#false} assume !(main_~i~0 < main_#t~mem6);havoc main_#t~mem6; {193#false} is VALID [2020-07-28 17:58:43,919 INFO L280 TraceCheckUtils]: 9: Hoare triple {193#false} check_#in~ad1.base, check_#in~ad1.offset, check_#in~b := main_~#ad1~0.base, main_~#ad1~0.offset, main_~i~0;havoc check_#res;havoc check_#t~mem0, check_~ad1.base, check_~ad1.offset, check_~b;check_~ad1.base, check_~ad1.offset := check_#in~ad1.base, check_#in~ad1.offset;check_~b := check_#in~b;call check_#t~mem0 := read~int(check_~ad1.base, check_~ad1.offset + 8 * check_~b, 4);check_#res := (if check_#t~mem0 == check_~b then 1 else 0);havoc check_#t~mem0; {193#false} is VALID [2020-07-28 17:58:43,920 INFO L280 TraceCheckUtils]: 10: Hoare triple {193#false} main_#t~ret8 := check_#res;assume -2147483648 <= main_#t~ret8 && main_#t~ret8 <= 2147483647; {193#false} is VALID [2020-07-28 17:58:43,920 INFO L280 TraceCheckUtils]: 11: Hoare triple {193#false} assume 0 == main_#t~ret8;havoc main_#t~ret8; {193#false} is VALID [2020-07-28 17:58:43,922 INFO L280 TraceCheckUtils]: 12: Hoare triple {193#false} assume !false; {193#false} is VALID [2020-07-28 17:58:43,923 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:43,926 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1634078514] [2020-07-28 17:58:43,926 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [658532015] [2020-07-28 17:58:43,926 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:43,978 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:58:43,980 INFO L263 TraceCheckSpWp]: Trace formula consists of 68 conjuncts, 3 conjunts are in the unsatisfiable core [2020-07-28 17:58:43,994 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:58:43,999 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 17:58:44,124 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:44,125 INFO L280 TraceCheckUtils]: 1: Hoare triple {192#true} havoc main_#res;havoc main_#t~nondet2, main_#t~nondet3, main_#t~post1, main_#t~nondet4, main_#t~mem5, main_#t~pre7, main_#t~mem6, main_#t~ret8, main_~#ad1~0.base, main_~#ad1~0.offset, main_~ad2~0.base, main_~ad2~0.offset, main_~i~0, main_~j~0, main_~pa~0.base, main_~pa~0.offset;call main_~#ad1~0.base, main_~#ad1~0.offset := #Ultimate.allocOnStack(160);havoc main_~ad2~0.base, main_~ad2~0.offset;havoc main_~i~0;havoc main_~j~0;havoc main_~pa~0.base, main_~pa~0.offset;main_~j~0 := 0; {202#(<= ULTIMATE.start_main_~j~0 0)} is VALID [2020-07-28 17:58:44,127 INFO L280 TraceCheckUtils]: 2: Hoare triple {202#(<= ULTIMATE.start_main_~j~0 0)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {202#(<= ULTIMATE.start_main_~j~0 0)} is VALID [2020-07-28 17:58:44,128 INFO L280 TraceCheckUtils]: 3: Hoare triple {202#(<= ULTIMATE.start_main_~j~0 0)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {195#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:58:44,129 INFO L280 TraceCheckUtils]: 4: Hoare triple {195#(<= ULTIMATE.start_main_~j~0 1)} assume !(main_~j~0 < 20); {193#false} is VALID [2020-07-28 17:58:44,130 INFO L280 TraceCheckUtils]: 5: Hoare triple {193#false} assume -2147483648 <= main_#t~nondet4 && main_#t~nondet4 <= 2147483647;main_~i~0 := main_#t~nondet4;havoc main_#t~nondet4; {193#false} is VALID [2020-07-28 17:58:44,130 INFO L280 TraceCheckUtils]: 6: Hoare triple {193#false} assume main_~i~0 >= 0 && main_~i~0 < 10;main_~ad2~0.base, main_~ad2~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset;call write~int(main_~i~0, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0, 4);main_~pa~0.base, main_~pa~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0;call main_#t~mem5 := read~int(main_~ad2~0.base, main_~ad2~0.offset + 8 * main_~i~0, 4);main_~i~0 := 10 + main_#t~mem5;havoc main_#t~mem5; {193#false} is VALID [2020-07-28 17:58:44,130 INFO L280 TraceCheckUtils]: 7: Hoare triple {193#false} call main_#t~mem6 := read~int(main_~pa~0.base, main_~pa~0.offset, 4); {193#false} is VALID [2020-07-28 17:58:44,131 INFO L280 TraceCheckUtils]: 8: Hoare triple {193#false} assume !(main_~i~0 < main_#t~mem6);havoc main_#t~mem6; {193#false} is VALID [2020-07-28 17:58:44,131 INFO L280 TraceCheckUtils]: 9: Hoare triple {193#false} check_#in~ad1.base, check_#in~ad1.offset, check_#in~b := main_~#ad1~0.base, main_~#ad1~0.offset, main_~i~0;havoc check_#res;havoc check_#t~mem0, check_~ad1.base, check_~ad1.offset, check_~b;check_~ad1.base, check_~ad1.offset := check_#in~ad1.base, check_#in~ad1.offset;check_~b := check_#in~b;call check_#t~mem0 := read~int(check_~ad1.base, check_~ad1.offset + 8 * check_~b, 4);check_#res := (if check_#t~mem0 == check_~b then 1 else 0);havoc check_#t~mem0; {193#false} is VALID [2020-07-28 17:58:44,132 INFO L280 TraceCheckUtils]: 10: Hoare triple {193#false} main_#t~ret8 := check_#res;assume -2147483648 <= main_#t~ret8 && main_#t~ret8 <= 2147483647; {193#false} is VALID [2020-07-28 17:58:44,132 INFO L280 TraceCheckUtils]: 11: Hoare triple {193#false} assume 0 == main_#t~ret8;havoc main_#t~ret8; {193#false} is VALID [2020-07-28 17:58:44,132 INFO L280 TraceCheckUtils]: 12: Hoare triple {193#false} assume !false; {193#false} is VALID [2020-07-28 17:58:44,133 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:44,134 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-28 17:58:44,135 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4] total 5 [2020-07-28 17:58:44,135 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [125292414] [2020-07-28 17:58:44,136 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 13 [2020-07-28 17:58:44,136 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 17:58:44,136 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2020-07-28 17:58:44,161 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:44,162 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2020-07-28 17:58:44,162 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-28 17:58:44,162 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2020-07-28 17:58:44,162 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2020-07-28 17:58:44,163 INFO L87 Difference]: Start difference. First operand 14 states and 15 transitions. Second operand 5 states. [2020-07-28 17:58:44,241 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:58:44,241 INFO L93 Difference]: Finished difference Result 26 states and 28 transitions. [2020-07-28 17:58:44,241 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2020-07-28 17:58:44,242 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 13 [2020-07-28 17:58:44,242 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 17:58:44,242 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-28 17:58:44,243 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 28 transitions. [2020-07-28 17:58:44,244 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-28 17:58:44,245 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 28 transitions. [2020-07-28 17:58:44,246 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 28 transitions. [2020-07-28 17:58:44,285 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:44,286 INFO L225 Difference]: With dead ends: 26 [2020-07-28 17:58:44,287 INFO L226 Difference]: Without dead ends: 17 [2020-07-28 17:58:44,287 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:44,288 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 17 states. [2020-07-28 17:58:44,295 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 17 to 16. [2020-07-28 17:58:44,295 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 17:58:44,295 INFO L82 GeneralOperation]: Start isEquivalent. First operand 17 states. Second operand 16 states. [2020-07-28 17:58:44,295 INFO L74 IsIncluded]: Start isIncluded. First operand 17 states. Second operand 16 states. [2020-07-28 17:58:44,296 INFO L87 Difference]: Start difference. First operand 17 states. Second operand 16 states. [2020-07-28 17:58:44,297 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:58:44,298 INFO L93 Difference]: Finished difference Result 17 states and 18 transitions. [2020-07-28 17:58:44,298 INFO L276 IsEmpty]: Start isEmpty. Operand 17 states and 18 transitions. [2020-07-28 17:58:44,298 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:58:44,299 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:58:44,299 INFO L74 IsIncluded]: Start isIncluded. First operand 16 states. Second operand 17 states. [2020-07-28 17:58:44,299 INFO L87 Difference]: Start difference. First operand 16 states. Second operand 17 states. [2020-07-28 17:58:44,301 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:58:44,301 INFO L93 Difference]: Finished difference Result 17 states and 18 transitions. [2020-07-28 17:58:44,301 INFO L276 IsEmpty]: Start isEmpty. Operand 17 states and 18 transitions. [2020-07-28 17:58:44,302 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:58:44,302 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:58:44,303 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 17:58:44,303 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 17:58:44,303 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2020-07-28 17:58:44,305 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 17 transitions. [2020-07-28 17:58:44,305 INFO L78 Accepts]: Start accepts. Automaton has 16 states and 17 transitions. Word has length 13 [2020-07-28 17:58:44,305 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 17:58:44,305 INFO L479 AbstractCegarLoop]: Abstraction has 16 states and 17 transitions. [2020-07-28 17:58:44,306 INFO L480 AbstractCegarLoop]: Interpolant automaton has 5 states. [2020-07-28 17:58:44,306 INFO L276 IsEmpty]: Start isEmpty. Operand 16 states and 17 transitions. [2020-07-28 17:58:44,306 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2020-07-28 17:58:44,307 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 17:58:44,307 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 17:58:44,522 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2020-07-28 17:58:44,522 INFO L427 AbstractCegarLoop]: === Iteration 4 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 17:58:44,523 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 17:58:44,524 INFO L82 PathProgramCache]: Analyzing trace with hash -823346863, now seen corresponding path program 2 times [2020-07-28 17:58:44,525 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 17:58:44,525 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1830864578] [2020-07-28 17:58:44,525 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 17:58:44,569 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:58:44,624 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:44,625 INFO L280 TraceCheckUtils]: 1: Hoare triple {326#true} havoc main_#res;havoc main_#t~nondet2, main_#t~nondet3, main_#t~post1, main_#t~nondet4, main_#t~mem5, main_#t~pre7, main_#t~mem6, main_#t~ret8, main_~#ad1~0.base, main_~#ad1~0.offset, main_~ad2~0.base, main_~ad2~0.offset, main_~i~0, main_~j~0, main_~pa~0.base, main_~pa~0.offset;call main_~#ad1~0.base, main_~#ad1~0.offset := #Ultimate.allocOnStack(160);havoc main_~ad2~0.base, main_~ad2~0.offset;havoc main_~i~0;havoc main_~j~0;havoc main_~pa~0.base, main_~pa~0.offset;main_~j~0 := 0; {328#(= 0 ULTIMATE.start_main_~j~0)} is VALID [2020-07-28 17:58:44,627 INFO L280 TraceCheckUtils]: 2: Hoare triple {328#(= 0 ULTIMATE.start_main_~j~0)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {328#(= 0 ULTIMATE.start_main_~j~0)} is VALID [2020-07-28 17:58:44,629 INFO L280 TraceCheckUtils]: 3: Hoare triple {328#(= 0 ULTIMATE.start_main_~j~0)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {329#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:58:44,630 INFO L280 TraceCheckUtils]: 4: Hoare triple {329#(<= ULTIMATE.start_main_~j~0 1)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {329#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:58:44,631 INFO L280 TraceCheckUtils]: 5: Hoare triple {329#(<= ULTIMATE.start_main_~j~0 1)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {330#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:58:44,632 INFO L280 TraceCheckUtils]: 6: Hoare triple {330#(<= ULTIMATE.start_main_~j~0 2)} assume !(main_~j~0 < 20); {327#false} is VALID [2020-07-28 17:58:44,633 INFO L280 TraceCheckUtils]: 7: Hoare triple {327#false} assume -2147483648 <= main_#t~nondet4 && main_#t~nondet4 <= 2147483647;main_~i~0 := main_#t~nondet4;havoc main_#t~nondet4; {327#false} is VALID [2020-07-28 17:58:44,633 INFO L280 TraceCheckUtils]: 8: Hoare triple {327#false} assume main_~i~0 >= 0 && main_~i~0 < 10;main_~ad2~0.base, main_~ad2~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset;call write~int(main_~i~0, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0, 4);main_~pa~0.base, main_~pa~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0;call main_#t~mem5 := read~int(main_~ad2~0.base, main_~ad2~0.offset + 8 * main_~i~0, 4);main_~i~0 := 10 + main_#t~mem5;havoc main_#t~mem5; {327#false} is VALID [2020-07-28 17:58:44,633 INFO L280 TraceCheckUtils]: 9: Hoare triple {327#false} call main_#t~mem6 := read~int(main_~pa~0.base, main_~pa~0.offset, 4); {327#false} is VALID [2020-07-28 17:58:44,634 INFO L280 TraceCheckUtils]: 10: Hoare triple {327#false} assume !(main_~i~0 < main_#t~mem6);havoc main_#t~mem6; {327#false} is VALID [2020-07-28 17:58:44,634 INFO L280 TraceCheckUtils]: 11: Hoare triple {327#false} check_#in~ad1.base, check_#in~ad1.offset, check_#in~b := main_~#ad1~0.base, main_~#ad1~0.offset, main_~i~0;havoc check_#res;havoc check_#t~mem0, check_~ad1.base, check_~ad1.offset, check_~b;check_~ad1.base, check_~ad1.offset := check_#in~ad1.base, check_#in~ad1.offset;check_~b := check_#in~b;call check_#t~mem0 := read~int(check_~ad1.base, check_~ad1.offset + 8 * check_~b, 4);check_#res := (if check_#t~mem0 == check_~b then 1 else 0);havoc check_#t~mem0; {327#false} is VALID [2020-07-28 17:58:44,634 INFO L280 TraceCheckUtils]: 12: Hoare triple {327#false} main_#t~ret8 := check_#res;assume -2147483648 <= main_#t~ret8 && main_#t~ret8 <= 2147483647; {327#false} is VALID [2020-07-28 17:58:44,635 INFO L280 TraceCheckUtils]: 13: Hoare triple {327#false} assume 0 == main_#t~ret8;havoc main_#t~ret8; {327#false} is VALID [2020-07-28 17:58:44,635 INFO L280 TraceCheckUtils]: 14: Hoare triple {327#false} assume !false; {327#false} is VALID [2020-07-28 17:58:44,636 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:44,637 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1830864578] [2020-07-28 17:58:44,637 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2109396906] [2020-07-28 17:58:44,637 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:44,687 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2020-07-28 17:58:44,687 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2020-07-28 17:58:44,688 INFO L263 TraceCheckSpWp]: Trace formula consists of 76 conjuncts, 4 conjunts are in the unsatisfiable core [2020-07-28 17:58:44,699 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:58:44,701 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 17:58:44,807 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:44,809 INFO L280 TraceCheckUtils]: 1: Hoare triple {326#true} havoc main_#res;havoc main_#t~nondet2, main_#t~nondet3, main_#t~post1, main_#t~nondet4, main_#t~mem5, main_#t~pre7, main_#t~mem6, main_#t~ret8, main_~#ad1~0.base, main_~#ad1~0.offset, main_~ad2~0.base, main_~ad2~0.offset, main_~i~0, main_~j~0, main_~pa~0.base, main_~pa~0.offset;call main_~#ad1~0.base, main_~#ad1~0.offset := #Ultimate.allocOnStack(160);havoc main_~ad2~0.base, main_~ad2~0.offset;havoc main_~i~0;havoc main_~j~0;havoc main_~pa~0.base, main_~pa~0.offset;main_~j~0 := 0; {337#(<= ULTIMATE.start_main_~j~0 0)} is VALID [2020-07-28 17:58:44,810 INFO L280 TraceCheckUtils]: 2: Hoare triple {337#(<= ULTIMATE.start_main_~j~0 0)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {337#(<= ULTIMATE.start_main_~j~0 0)} is VALID [2020-07-28 17:58:44,811 INFO L280 TraceCheckUtils]: 3: Hoare triple {337#(<= ULTIMATE.start_main_~j~0 0)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {329#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:58:44,812 INFO L280 TraceCheckUtils]: 4: Hoare triple {329#(<= ULTIMATE.start_main_~j~0 1)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {329#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:58:44,814 INFO L280 TraceCheckUtils]: 5: Hoare triple {329#(<= ULTIMATE.start_main_~j~0 1)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {330#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:58:44,815 INFO L280 TraceCheckUtils]: 6: Hoare triple {330#(<= ULTIMATE.start_main_~j~0 2)} assume !(main_~j~0 < 20); {327#false} is VALID [2020-07-28 17:58:44,816 INFO L280 TraceCheckUtils]: 7: Hoare triple {327#false} assume -2147483648 <= main_#t~nondet4 && main_#t~nondet4 <= 2147483647;main_~i~0 := main_#t~nondet4;havoc main_#t~nondet4; {327#false} is VALID [2020-07-28 17:58:44,816 INFO L280 TraceCheckUtils]: 8: Hoare triple {327#false} assume main_~i~0 >= 0 && main_~i~0 < 10;main_~ad2~0.base, main_~ad2~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset;call write~int(main_~i~0, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0, 4);main_~pa~0.base, main_~pa~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0;call main_#t~mem5 := read~int(main_~ad2~0.base, main_~ad2~0.offset + 8 * main_~i~0, 4);main_~i~0 := 10 + main_#t~mem5;havoc main_#t~mem5; {327#false} is VALID [2020-07-28 17:58:44,817 INFO L280 TraceCheckUtils]: 9: Hoare triple {327#false} call main_#t~mem6 := read~int(main_~pa~0.base, main_~pa~0.offset, 4); {327#false} is VALID [2020-07-28 17:58:44,817 INFO L280 TraceCheckUtils]: 10: Hoare triple {327#false} assume !(main_~i~0 < main_#t~mem6);havoc main_#t~mem6; {327#false} is VALID [2020-07-28 17:58:44,817 INFO L280 TraceCheckUtils]: 11: Hoare triple {327#false} check_#in~ad1.base, check_#in~ad1.offset, check_#in~b := main_~#ad1~0.base, main_~#ad1~0.offset, main_~i~0;havoc check_#res;havoc check_#t~mem0, check_~ad1.base, check_~ad1.offset, check_~b;check_~ad1.base, check_~ad1.offset := check_#in~ad1.base, check_#in~ad1.offset;check_~b := check_#in~b;call check_#t~mem0 := read~int(check_~ad1.base, check_~ad1.offset + 8 * check_~b, 4);check_#res := (if check_#t~mem0 == check_~b then 1 else 0);havoc check_#t~mem0; {327#false} is VALID [2020-07-28 17:58:44,818 INFO L280 TraceCheckUtils]: 12: Hoare triple {327#false} main_#t~ret8 := check_#res;assume -2147483648 <= main_#t~ret8 && main_#t~ret8 <= 2147483647; {327#false} is VALID [2020-07-28 17:58:44,818 INFO L280 TraceCheckUtils]: 13: Hoare triple {327#false} assume 0 == main_#t~ret8;havoc main_#t~ret8; {327#false} is VALID [2020-07-28 17:58:44,818 INFO L280 TraceCheckUtils]: 14: Hoare triple {327#false} assume !false; {327#false} is VALID [2020-07-28 17:58:44,820 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:44,820 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-28 17:58:44,820 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 6 [2020-07-28 17:58:44,821 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2133924442] [2020-07-28 17:58:44,821 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 15 [2020-07-28 17:58:44,822 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 17:58:44,822 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2020-07-28 17:58:44,851 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:44,851 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2020-07-28 17:58:44,851 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-28 17:58:44,851 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2020-07-28 17:58:44,852 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=15, Unknown=0, NotChecked=0, Total=30 [2020-07-28 17:58:44,852 INFO L87 Difference]: Start difference. First operand 16 states and 17 transitions. Second operand 6 states. [2020-07-28 17:58:44,928 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:58:44,928 INFO L93 Difference]: Finished difference Result 28 states and 30 transitions. [2020-07-28 17:58:44,928 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2020-07-28 17:58:44,928 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 15 [2020-07-28 17:58:44,929 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 17:58:44,929 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-28 17:58:44,931 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 30 transitions. [2020-07-28 17:58:44,931 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-28 17:58:44,932 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 30 transitions. [2020-07-28 17:58:44,933 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 30 transitions. [2020-07-28 17:58:44,976 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:44,977 INFO L225 Difference]: With dead ends: 28 [2020-07-28 17:58:44,978 INFO L226 Difference]: Without dead ends: 19 [2020-07-28 17:58:44,978 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:44,979 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 19 states. [2020-07-28 17:58:44,989 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 19 to 18. [2020-07-28 17:58:44,989 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 17:58:44,990 INFO L82 GeneralOperation]: Start isEquivalent. First operand 19 states. Second operand 18 states. [2020-07-28 17:58:44,990 INFO L74 IsIncluded]: Start isIncluded. First operand 19 states. Second operand 18 states. [2020-07-28 17:58:44,990 INFO L87 Difference]: Start difference. First operand 19 states. Second operand 18 states. [2020-07-28 17:58:44,991 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:58:44,991 INFO L93 Difference]: Finished difference Result 19 states and 20 transitions. [2020-07-28 17:58:44,991 INFO L276 IsEmpty]: Start isEmpty. Operand 19 states and 20 transitions. [2020-07-28 17:58:44,992 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:58:44,992 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:58:44,992 INFO L74 IsIncluded]: Start isIncluded. First operand 18 states. Second operand 19 states. [2020-07-28 17:58:44,992 INFO L87 Difference]: Start difference. First operand 18 states. Second operand 19 states. [2020-07-28 17:58:44,994 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:58:44,994 INFO L93 Difference]: Finished difference Result 19 states and 20 transitions. [2020-07-28 17:58:44,994 INFO L276 IsEmpty]: Start isEmpty. Operand 19 states and 20 transitions. [2020-07-28 17:58:44,995 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:58:44,995 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:58:44,995 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 17:58:44,995 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 17:58:44,996 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2020-07-28 17:58:44,997 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 19 transitions. [2020-07-28 17:58:44,997 INFO L78 Accepts]: Start accepts. Automaton has 18 states and 19 transitions. Word has length 15 [2020-07-28 17:58:44,998 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 17:58:44,998 INFO L479 AbstractCegarLoop]: Abstraction has 18 states and 19 transitions. [2020-07-28 17:58:44,998 INFO L480 AbstractCegarLoop]: Interpolant automaton has 6 states. [2020-07-28 17:58:44,998 INFO L276 IsEmpty]: Start isEmpty. Operand 18 states and 19 transitions. [2020-07-28 17:58:44,999 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2020-07-28 17:58:44,999 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 17:58:44,999 INFO L422 BasicCegarLoop]: trace histogram [3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 17:58:45,211 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,3 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-28 17:58:45,212 INFO L427 AbstractCegarLoop]: === Iteration 5 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 17:58:45,212 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 17:58:45,212 INFO L82 PathProgramCache]: Analyzing trace with hash -900956145, now seen corresponding path program 3 times [2020-07-28 17:58:45,214 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 17:58:45,215 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1928278296] [2020-07-28 17:58:45,215 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 17:58:45,236 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:58:45,305 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:58:45,306 INFO L280 TraceCheckUtils]: 1: Hoare triple {477#true} havoc main_#res;havoc main_#t~nondet2, main_#t~nondet3, main_#t~post1, main_#t~nondet4, main_#t~mem5, main_#t~pre7, main_#t~mem6, main_#t~ret8, main_~#ad1~0.base, main_~#ad1~0.offset, main_~ad2~0.base, main_~ad2~0.offset, main_~i~0, main_~j~0, main_~pa~0.base, main_~pa~0.offset;call main_~#ad1~0.base, main_~#ad1~0.offset := #Ultimate.allocOnStack(160);havoc main_~ad2~0.base, main_~ad2~0.offset;havoc main_~i~0;havoc main_~j~0;havoc main_~pa~0.base, main_~pa~0.offset;main_~j~0 := 0; {479#(= 0 ULTIMATE.start_main_~j~0)} is VALID [2020-07-28 17:58:45,307 INFO L280 TraceCheckUtils]: 2: Hoare triple {479#(= 0 ULTIMATE.start_main_~j~0)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {479#(= 0 ULTIMATE.start_main_~j~0)} is VALID [2020-07-28 17:58:45,308 INFO L280 TraceCheckUtils]: 3: Hoare triple {479#(= 0 ULTIMATE.start_main_~j~0)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {480#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:58:45,309 INFO L280 TraceCheckUtils]: 4: Hoare triple {480#(<= ULTIMATE.start_main_~j~0 1)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {480#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:58:45,310 INFO L280 TraceCheckUtils]: 5: Hoare triple {480#(<= ULTIMATE.start_main_~j~0 1)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {481#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:58:45,311 INFO L280 TraceCheckUtils]: 6: Hoare triple {481#(<= ULTIMATE.start_main_~j~0 2)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {481#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:58:45,312 INFO L280 TraceCheckUtils]: 7: Hoare triple {481#(<= ULTIMATE.start_main_~j~0 2)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {482#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:58:45,314 INFO L280 TraceCheckUtils]: 8: Hoare triple {482#(<= ULTIMATE.start_main_~j~0 3)} assume !(main_~j~0 < 20); {478#false} is VALID [2020-07-28 17:58:45,314 INFO L280 TraceCheckUtils]: 9: Hoare triple {478#false} assume -2147483648 <= main_#t~nondet4 && main_#t~nondet4 <= 2147483647;main_~i~0 := main_#t~nondet4;havoc main_#t~nondet4; {478#false} is VALID [2020-07-28 17:58:45,314 INFO L280 TraceCheckUtils]: 10: Hoare triple {478#false} assume main_~i~0 >= 0 && main_~i~0 < 10;main_~ad2~0.base, main_~ad2~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset;call write~int(main_~i~0, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0, 4);main_~pa~0.base, main_~pa~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0;call main_#t~mem5 := read~int(main_~ad2~0.base, main_~ad2~0.offset + 8 * main_~i~0, 4);main_~i~0 := 10 + main_#t~mem5;havoc main_#t~mem5; {478#false} is VALID [2020-07-28 17:58:45,315 INFO L280 TraceCheckUtils]: 11: Hoare triple {478#false} call main_#t~mem6 := read~int(main_~pa~0.base, main_~pa~0.offset, 4); {478#false} is VALID [2020-07-28 17:58:45,315 INFO L280 TraceCheckUtils]: 12: Hoare triple {478#false} assume !(main_~i~0 < main_#t~mem6);havoc main_#t~mem6; {478#false} is VALID [2020-07-28 17:58:45,315 INFO L280 TraceCheckUtils]: 13: Hoare triple {478#false} check_#in~ad1.base, check_#in~ad1.offset, check_#in~b := main_~#ad1~0.base, main_~#ad1~0.offset, main_~i~0;havoc check_#res;havoc check_#t~mem0, check_~ad1.base, check_~ad1.offset, check_~b;check_~ad1.base, check_~ad1.offset := check_#in~ad1.base, check_#in~ad1.offset;check_~b := check_#in~b;call check_#t~mem0 := read~int(check_~ad1.base, check_~ad1.offset + 8 * check_~b, 4);check_#res := (if check_#t~mem0 == check_~b then 1 else 0);havoc check_#t~mem0; {478#false} is VALID [2020-07-28 17:58:45,316 INFO L280 TraceCheckUtils]: 14: Hoare triple {478#false} main_#t~ret8 := check_#res;assume -2147483648 <= main_#t~ret8 && main_#t~ret8 <= 2147483647; {478#false} is VALID [2020-07-28 17:58:45,316 INFO L280 TraceCheckUtils]: 15: Hoare triple {478#false} assume 0 == main_#t~ret8;havoc main_#t~ret8; {478#false} is VALID [2020-07-28 17:58:45,317 INFO L280 TraceCheckUtils]: 16: Hoare triple {478#false} assume !false; {478#false} is VALID [2020-07-28 17:58:45,318 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:58:45,318 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1928278296] [2020-07-28 17:58:45,318 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1497864803] [2020-07-28 17:58:45,319 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:58:45,395 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2020-07-28 17:58:45,396 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2020-07-28 17:58:45,397 INFO L263 TraceCheckSpWp]: Trace formula consists of 84 conjuncts, 5 conjunts are in the unsatisfiable core [2020-07-28 17:58:45,406 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:58:45,407 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 17:58:45,535 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:58:45,536 INFO L280 TraceCheckUtils]: 1: Hoare triple {477#true} havoc main_#res;havoc main_#t~nondet2, main_#t~nondet3, main_#t~post1, main_#t~nondet4, main_#t~mem5, main_#t~pre7, main_#t~mem6, main_#t~ret8, main_~#ad1~0.base, main_~#ad1~0.offset, main_~ad2~0.base, main_~ad2~0.offset, main_~i~0, main_~j~0, main_~pa~0.base, main_~pa~0.offset;call main_~#ad1~0.base, main_~#ad1~0.offset := #Ultimate.allocOnStack(160);havoc main_~ad2~0.base, main_~ad2~0.offset;havoc main_~i~0;havoc main_~j~0;havoc main_~pa~0.base, main_~pa~0.offset;main_~j~0 := 0; {489#(<= ULTIMATE.start_main_~j~0 0)} is VALID [2020-07-28 17:58:45,537 INFO L280 TraceCheckUtils]: 2: Hoare triple {489#(<= ULTIMATE.start_main_~j~0 0)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {489#(<= ULTIMATE.start_main_~j~0 0)} is VALID [2020-07-28 17:58:45,538 INFO L280 TraceCheckUtils]: 3: Hoare triple {489#(<= ULTIMATE.start_main_~j~0 0)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {480#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:58:45,539 INFO L280 TraceCheckUtils]: 4: Hoare triple {480#(<= ULTIMATE.start_main_~j~0 1)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {480#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:58:45,540 INFO L280 TraceCheckUtils]: 5: Hoare triple {480#(<= ULTIMATE.start_main_~j~0 1)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {481#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:58:45,541 INFO L280 TraceCheckUtils]: 6: Hoare triple {481#(<= ULTIMATE.start_main_~j~0 2)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {481#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:58:45,543 INFO L280 TraceCheckUtils]: 7: Hoare triple {481#(<= ULTIMATE.start_main_~j~0 2)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {482#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:58:45,544 INFO L280 TraceCheckUtils]: 8: Hoare triple {482#(<= ULTIMATE.start_main_~j~0 3)} assume !(main_~j~0 < 20); {478#false} is VALID [2020-07-28 17:58:45,544 INFO L280 TraceCheckUtils]: 9: Hoare triple {478#false} assume -2147483648 <= main_#t~nondet4 && main_#t~nondet4 <= 2147483647;main_~i~0 := main_#t~nondet4;havoc main_#t~nondet4; {478#false} is VALID [2020-07-28 17:58:45,544 INFO L280 TraceCheckUtils]: 10: Hoare triple {478#false} assume main_~i~0 >= 0 && main_~i~0 < 10;main_~ad2~0.base, main_~ad2~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset;call write~int(main_~i~0, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0, 4);main_~pa~0.base, main_~pa~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0;call main_#t~mem5 := read~int(main_~ad2~0.base, main_~ad2~0.offset + 8 * main_~i~0, 4);main_~i~0 := 10 + main_#t~mem5;havoc main_#t~mem5; {478#false} is VALID [2020-07-28 17:58:45,544 INFO L280 TraceCheckUtils]: 11: Hoare triple {478#false} call main_#t~mem6 := read~int(main_~pa~0.base, main_~pa~0.offset, 4); {478#false} is VALID [2020-07-28 17:58:45,545 INFO L280 TraceCheckUtils]: 12: Hoare triple {478#false} assume !(main_~i~0 < main_#t~mem6);havoc main_#t~mem6; {478#false} is VALID [2020-07-28 17:58:45,545 INFO L280 TraceCheckUtils]: 13: Hoare triple {478#false} check_#in~ad1.base, check_#in~ad1.offset, check_#in~b := main_~#ad1~0.base, main_~#ad1~0.offset, main_~i~0;havoc check_#res;havoc check_#t~mem0, check_~ad1.base, check_~ad1.offset, check_~b;check_~ad1.base, check_~ad1.offset := check_#in~ad1.base, check_#in~ad1.offset;check_~b := check_#in~b;call check_#t~mem0 := read~int(check_~ad1.base, check_~ad1.offset + 8 * check_~b, 4);check_#res := (if check_#t~mem0 == check_~b then 1 else 0);havoc check_#t~mem0; {478#false} is VALID [2020-07-28 17:58:45,545 INFO L280 TraceCheckUtils]: 14: Hoare triple {478#false} main_#t~ret8 := check_#res;assume -2147483648 <= main_#t~ret8 && main_#t~ret8 <= 2147483647; {478#false} is VALID [2020-07-28 17:58:45,546 INFO L280 TraceCheckUtils]: 15: Hoare triple {478#false} assume 0 == main_#t~ret8;havoc main_#t~ret8; {478#false} is VALID [2020-07-28 17:58:45,546 INFO L280 TraceCheckUtils]: 16: Hoare triple {478#false} assume !false; {478#false} is VALID [2020-07-28 17:58:45,547 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:58:45,548 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-28 17:58:45,548 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 7 [2020-07-28 17:58:45,548 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [364821667] [2020-07-28 17:58:45,549 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 17 [2020-07-28 17:58:45,549 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 17:58:45,549 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2020-07-28 17:58:45,586 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:58:45,586 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2020-07-28 17:58:45,587 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-28 17:58:45,587 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2020-07-28 17:58:45,587 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=21, Unknown=0, NotChecked=0, Total=42 [2020-07-28 17:58:45,587 INFO L87 Difference]: Start difference. First operand 18 states and 19 transitions. Second operand 7 states. [2020-07-28 17:58:45,668 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:58:45,668 INFO L93 Difference]: Finished difference Result 30 states and 32 transitions. [2020-07-28 17:58:45,668 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2020-07-28 17:58:45,668 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 17 [2020-07-28 17:58:45,668 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 17:58:45,669 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-28 17:58:45,670 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 32 transitions. [2020-07-28 17:58:45,670 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-28 17:58:45,671 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 32 transitions. [2020-07-28 17:58:45,672 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 32 transitions. [2020-07-28 17:58:45,713 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:58:45,714 INFO L225 Difference]: With dead ends: 30 [2020-07-28 17:58:45,714 INFO L226 Difference]: Without dead ends: 21 [2020-07-28 17:58:45,715 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:58:45,715 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 21 states. [2020-07-28 17:58:45,724 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 21 to 20. [2020-07-28 17:58:45,724 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 17:58:45,724 INFO L82 GeneralOperation]: Start isEquivalent. First operand 21 states. Second operand 20 states. [2020-07-28 17:58:45,725 INFO L74 IsIncluded]: Start isIncluded. First operand 21 states. Second operand 20 states. [2020-07-28 17:58:45,725 INFO L87 Difference]: Start difference. First operand 21 states. Second operand 20 states. [2020-07-28 17:58:45,726 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:58:45,727 INFO L93 Difference]: Finished difference Result 21 states and 22 transitions. [2020-07-28 17:58:45,727 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 22 transitions. [2020-07-28 17:58:45,727 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:58:45,728 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:58:45,728 INFO L74 IsIncluded]: Start isIncluded. First operand 20 states. Second operand 21 states. [2020-07-28 17:58:45,728 INFO L87 Difference]: Start difference. First operand 20 states. Second operand 21 states. [2020-07-28 17:58:45,730 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:58:45,730 INFO L93 Difference]: Finished difference Result 21 states and 22 transitions. [2020-07-28 17:58:45,730 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 22 transitions. [2020-07-28 17:58:45,731 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:58:45,731 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:58:45,731 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 17:58:45,732 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 17:58:45,732 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2020-07-28 17:58:45,733 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 21 transitions. [2020-07-28 17:58:45,734 INFO L78 Accepts]: Start accepts. Automaton has 20 states and 21 transitions. Word has length 17 [2020-07-28 17:58:45,734 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 17:58:45,734 INFO L479 AbstractCegarLoop]: Abstraction has 20 states and 21 transitions. [2020-07-28 17:58:45,734 INFO L480 AbstractCegarLoop]: Interpolant automaton has 7 states. [2020-07-28 17:58:45,734 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 21 transitions. [2020-07-28 17:58:45,735 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2020-07-28 17:58:45,735 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 17:58:45,736 INFO L422 BasicCegarLoop]: trace histogram [4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 17:58:45,947 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,4 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-28 17:58:45,948 INFO L427 AbstractCegarLoop]: === Iteration 6 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 17:58:45,948 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 17:58:45,948 INFO L82 PathProgramCache]: Analyzing trace with hash 1825935181, now seen corresponding path program 4 times [2020-07-28 17:58:45,949 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 17:58:45,949 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1572348617] [2020-07-28 17:58:45,949 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 17:58:45,969 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:58:46,050 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:58:46,051 INFO L280 TraceCheckUtils]: 1: Hoare triple {645#true} havoc main_#res;havoc main_#t~nondet2, main_#t~nondet3, main_#t~post1, main_#t~nondet4, main_#t~mem5, main_#t~pre7, main_#t~mem6, main_#t~ret8, main_~#ad1~0.base, main_~#ad1~0.offset, main_~ad2~0.base, main_~ad2~0.offset, main_~i~0, main_~j~0, main_~pa~0.base, main_~pa~0.offset;call main_~#ad1~0.base, main_~#ad1~0.offset := #Ultimate.allocOnStack(160);havoc main_~ad2~0.base, main_~ad2~0.offset;havoc main_~i~0;havoc main_~j~0;havoc main_~pa~0.base, main_~pa~0.offset;main_~j~0 := 0; {647#(= 0 ULTIMATE.start_main_~j~0)} is VALID [2020-07-28 17:58:46,052 INFO L280 TraceCheckUtils]: 2: Hoare triple {647#(= 0 ULTIMATE.start_main_~j~0)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {647#(= 0 ULTIMATE.start_main_~j~0)} is VALID [2020-07-28 17:58:46,053 INFO L280 TraceCheckUtils]: 3: Hoare triple {647#(= 0 ULTIMATE.start_main_~j~0)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {648#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:58:46,054 INFO L280 TraceCheckUtils]: 4: Hoare triple {648#(<= ULTIMATE.start_main_~j~0 1)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {648#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:58:46,055 INFO L280 TraceCheckUtils]: 5: Hoare triple {648#(<= ULTIMATE.start_main_~j~0 1)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {649#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:58:46,056 INFO L280 TraceCheckUtils]: 6: Hoare triple {649#(<= ULTIMATE.start_main_~j~0 2)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {649#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:58:46,057 INFO L280 TraceCheckUtils]: 7: Hoare triple {649#(<= ULTIMATE.start_main_~j~0 2)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {650#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:58:46,060 INFO L280 TraceCheckUtils]: 8: Hoare triple {650#(<= ULTIMATE.start_main_~j~0 3)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {650#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:58:46,070 INFO L280 TraceCheckUtils]: 9: Hoare triple {650#(<= ULTIMATE.start_main_~j~0 3)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {651#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:58:46,071 INFO L280 TraceCheckUtils]: 10: Hoare triple {651#(<= ULTIMATE.start_main_~j~0 4)} assume !(main_~j~0 < 20); {646#false} is VALID [2020-07-28 17:58:46,072 INFO L280 TraceCheckUtils]: 11: Hoare triple {646#false} assume -2147483648 <= main_#t~nondet4 && main_#t~nondet4 <= 2147483647;main_~i~0 := main_#t~nondet4;havoc main_#t~nondet4; {646#false} is VALID [2020-07-28 17:58:46,072 INFO L280 TraceCheckUtils]: 12: Hoare triple {646#false} assume main_~i~0 >= 0 && main_~i~0 < 10;main_~ad2~0.base, main_~ad2~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset;call write~int(main_~i~0, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0, 4);main_~pa~0.base, main_~pa~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0;call main_#t~mem5 := read~int(main_~ad2~0.base, main_~ad2~0.offset + 8 * main_~i~0, 4);main_~i~0 := 10 + main_#t~mem5;havoc main_#t~mem5; {646#false} is VALID [2020-07-28 17:58:46,072 INFO L280 TraceCheckUtils]: 13: Hoare triple {646#false} call main_#t~mem6 := read~int(main_~pa~0.base, main_~pa~0.offset, 4); {646#false} is VALID [2020-07-28 17:58:46,072 INFO L280 TraceCheckUtils]: 14: Hoare triple {646#false} assume !(main_~i~0 < main_#t~mem6);havoc main_#t~mem6; {646#false} is VALID [2020-07-28 17:58:46,073 INFO L280 TraceCheckUtils]: 15: Hoare triple {646#false} check_#in~ad1.base, check_#in~ad1.offset, check_#in~b := main_~#ad1~0.base, main_~#ad1~0.offset, main_~i~0;havoc check_#res;havoc check_#t~mem0, check_~ad1.base, check_~ad1.offset, check_~b;check_~ad1.base, check_~ad1.offset := check_#in~ad1.base, check_#in~ad1.offset;check_~b := check_#in~b;call check_#t~mem0 := read~int(check_~ad1.base, check_~ad1.offset + 8 * check_~b, 4);check_#res := (if check_#t~mem0 == check_~b then 1 else 0);havoc check_#t~mem0; {646#false} is VALID [2020-07-28 17:58:46,073 INFO L280 TraceCheckUtils]: 16: Hoare triple {646#false} main_#t~ret8 := check_#res;assume -2147483648 <= main_#t~ret8 && main_#t~ret8 <= 2147483647; {646#false} is VALID [2020-07-28 17:58:46,073 INFO L280 TraceCheckUtils]: 17: Hoare triple {646#false} assume 0 == main_#t~ret8;havoc main_#t~ret8; {646#false} is VALID [2020-07-28 17:58:46,073 INFO L280 TraceCheckUtils]: 18: Hoare triple {646#false} assume !false; {646#false} is VALID [2020-07-28 17:58:46,074 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:58:46,075 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1572348617] [2020-07-28 17:58:46,075 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2053009382] [2020-07-28 17:58:46,075 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:58:46,123 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2020-07-28 17:58:46,124 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2020-07-28 17:58:46,127 INFO L263 TraceCheckSpWp]: Trace formula consists of 92 conjuncts, 6 conjunts are in the unsatisfiable core [2020-07-28 17:58:46,137 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:58:46,138 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 17:58:46,330 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:58:46,331 INFO L280 TraceCheckUtils]: 1: Hoare triple {645#true} havoc main_#res;havoc main_#t~nondet2, main_#t~nondet3, main_#t~post1, main_#t~nondet4, main_#t~mem5, main_#t~pre7, main_#t~mem6, main_#t~ret8, main_~#ad1~0.base, main_~#ad1~0.offset, main_~ad2~0.base, main_~ad2~0.offset, main_~i~0, main_~j~0, main_~pa~0.base, main_~pa~0.offset;call main_~#ad1~0.base, main_~#ad1~0.offset := #Ultimate.allocOnStack(160);havoc main_~ad2~0.base, main_~ad2~0.offset;havoc main_~i~0;havoc main_~j~0;havoc main_~pa~0.base, main_~pa~0.offset;main_~j~0 := 0; {658#(<= ULTIMATE.start_main_~j~0 0)} is VALID [2020-07-28 17:58:46,332 INFO L280 TraceCheckUtils]: 2: Hoare triple {658#(<= ULTIMATE.start_main_~j~0 0)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {658#(<= ULTIMATE.start_main_~j~0 0)} is VALID [2020-07-28 17:58:46,333 INFO L280 TraceCheckUtils]: 3: Hoare triple {658#(<= ULTIMATE.start_main_~j~0 0)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {648#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:58:46,334 INFO L280 TraceCheckUtils]: 4: Hoare triple {648#(<= ULTIMATE.start_main_~j~0 1)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {648#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:58:46,335 INFO L280 TraceCheckUtils]: 5: Hoare triple {648#(<= ULTIMATE.start_main_~j~0 1)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {649#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:58:46,336 INFO L280 TraceCheckUtils]: 6: Hoare triple {649#(<= ULTIMATE.start_main_~j~0 2)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {649#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:58:46,337 INFO L280 TraceCheckUtils]: 7: Hoare triple {649#(<= ULTIMATE.start_main_~j~0 2)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {650#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:58:46,338 INFO L280 TraceCheckUtils]: 8: Hoare triple {650#(<= ULTIMATE.start_main_~j~0 3)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {650#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:58:46,339 INFO L280 TraceCheckUtils]: 9: Hoare triple {650#(<= ULTIMATE.start_main_~j~0 3)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {651#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:58:46,340 INFO L280 TraceCheckUtils]: 10: Hoare triple {651#(<= ULTIMATE.start_main_~j~0 4)} assume !(main_~j~0 < 20); {646#false} is VALID [2020-07-28 17:58:46,340 INFO L280 TraceCheckUtils]: 11: Hoare triple {646#false} assume -2147483648 <= main_#t~nondet4 && main_#t~nondet4 <= 2147483647;main_~i~0 := main_#t~nondet4;havoc main_#t~nondet4; {646#false} is VALID [2020-07-28 17:58:46,340 INFO L280 TraceCheckUtils]: 12: Hoare triple {646#false} assume main_~i~0 >= 0 && main_~i~0 < 10;main_~ad2~0.base, main_~ad2~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset;call write~int(main_~i~0, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0, 4);main_~pa~0.base, main_~pa~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0;call main_#t~mem5 := read~int(main_~ad2~0.base, main_~ad2~0.offset + 8 * main_~i~0, 4);main_~i~0 := 10 + main_#t~mem5;havoc main_#t~mem5; {646#false} is VALID [2020-07-28 17:58:46,340 INFO L280 TraceCheckUtils]: 13: Hoare triple {646#false} call main_#t~mem6 := read~int(main_~pa~0.base, main_~pa~0.offset, 4); {646#false} is VALID [2020-07-28 17:58:46,341 INFO L280 TraceCheckUtils]: 14: Hoare triple {646#false} assume !(main_~i~0 < main_#t~mem6);havoc main_#t~mem6; {646#false} is VALID [2020-07-28 17:58:46,341 INFO L280 TraceCheckUtils]: 15: Hoare triple {646#false} check_#in~ad1.base, check_#in~ad1.offset, check_#in~b := main_~#ad1~0.base, main_~#ad1~0.offset, main_~i~0;havoc check_#res;havoc check_#t~mem0, check_~ad1.base, check_~ad1.offset, check_~b;check_~ad1.base, check_~ad1.offset := check_#in~ad1.base, check_#in~ad1.offset;check_~b := check_#in~b;call check_#t~mem0 := read~int(check_~ad1.base, check_~ad1.offset + 8 * check_~b, 4);check_#res := (if check_#t~mem0 == check_~b then 1 else 0);havoc check_#t~mem0; {646#false} is VALID [2020-07-28 17:58:46,341 INFO L280 TraceCheckUtils]: 16: Hoare triple {646#false} main_#t~ret8 := check_#res;assume -2147483648 <= main_#t~ret8 && main_#t~ret8 <= 2147483647; {646#false} is VALID [2020-07-28 17:58:46,341 INFO L280 TraceCheckUtils]: 17: Hoare triple {646#false} assume 0 == main_#t~ret8;havoc main_#t~ret8; {646#false} is VALID [2020-07-28 17:58:46,341 INFO L280 TraceCheckUtils]: 18: Hoare triple {646#false} assume !false; {646#false} is VALID [2020-07-28 17:58:46,343 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:58:46,344 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-28 17:58:46,344 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 8 [2020-07-28 17:58:46,344 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [416049804] [2020-07-28 17:58:46,345 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 19 [2020-07-28 17:58:46,345 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 17:58:46,345 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2020-07-28 17:58:46,380 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:58:46,380 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2020-07-28 17:58:46,380 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-28 17:58:46,380 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2020-07-28 17:58:46,381 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=28, Unknown=0, NotChecked=0, Total=56 [2020-07-28 17:58:46,381 INFO L87 Difference]: Start difference. First operand 20 states and 21 transitions. Second operand 8 states. [2020-07-28 17:58:46,479 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:58:46,479 INFO L93 Difference]: Finished difference Result 32 states and 34 transitions. [2020-07-28 17:58:46,479 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2020-07-28 17:58:46,479 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 19 [2020-07-28 17:58:46,480 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 17:58:46,480 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2020-07-28 17:58:46,481 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 34 transitions. [2020-07-28 17:58:46,481 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2020-07-28 17:58:46,482 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 34 transitions. [2020-07-28 17:58:46,482 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 34 transitions. [2020-07-28 17:58:46,527 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:58:46,528 INFO L225 Difference]: With dead ends: 32 [2020-07-28 17:58:46,528 INFO L226 Difference]: Without dead ends: 23 [2020-07-28 17:58:46,529 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:58:46,529 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 23 states. [2020-07-28 17:58:46,538 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 23 to 22. [2020-07-28 17:58:46,539 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 17:58:46,539 INFO L82 GeneralOperation]: Start isEquivalent. First operand 23 states. Second operand 22 states. [2020-07-28 17:58:46,539 INFO L74 IsIncluded]: Start isIncluded. First operand 23 states. Second operand 22 states. [2020-07-28 17:58:46,539 INFO L87 Difference]: Start difference. First operand 23 states. Second operand 22 states. [2020-07-28 17:58:46,541 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:58:46,541 INFO L93 Difference]: Finished difference Result 23 states and 24 transitions. [2020-07-28 17:58:46,541 INFO L276 IsEmpty]: Start isEmpty. Operand 23 states and 24 transitions. [2020-07-28 17:58:46,542 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:58:46,542 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:58:46,542 INFO L74 IsIncluded]: Start isIncluded. First operand 22 states. Second operand 23 states. [2020-07-28 17:58:46,542 INFO L87 Difference]: Start difference. First operand 22 states. Second operand 23 states. [2020-07-28 17:58:46,544 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:58:46,544 INFO L93 Difference]: Finished difference Result 23 states and 24 transitions. [2020-07-28 17:58:46,544 INFO L276 IsEmpty]: Start isEmpty. Operand 23 states and 24 transitions. [2020-07-28 17:58:46,545 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:58:46,545 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:58:46,545 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 17:58:46,546 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 17:58:46,546 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2020-07-28 17:58:46,547 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 23 transitions. [2020-07-28 17:58:46,548 INFO L78 Accepts]: Start accepts. Automaton has 22 states and 23 transitions. Word has length 19 [2020-07-28 17:58:46,548 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 17:58:46,548 INFO L479 AbstractCegarLoop]: Abstraction has 22 states and 23 transitions. [2020-07-28 17:58:46,548 INFO L480 AbstractCegarLoop]: Interpolant automaton has 8 states. [2020-07-28 17:58:46,549 INFO L276 IsEmpty]: Start isEmpty. Operand 22 states and 23 transitions. [2020-07-28 17:58:46,549 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2020-07-28 17:58:46,549 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 17:58:46,550 INFO L422 BasicCegarLoop]: trace histogram [5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 17:58:46,761 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,5 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-28 17:58:46,762 INFO L427 AbstractCegarLoop]: === Iteration 7 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 17:58:46,762 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 17:58:46,762 INFO L82 PathProgramCache]: Analyzing trace with hash -1856518389, now seen corresponding path program 5 times [2020-07-28 17:58:46,762 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 17:58:46,763 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [126843513] [2020-07-28 17:58:46,763 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 17:58:46,784 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:58:46,860 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:58:46,861 INFO L280 TraceCheckUtils]: 1: Hoare triple {830#true} havoc main_#res;havoc main_#t~nondet2, main_#t~nondet3, main_#t~post1, main_#t~nondet4, main_#t~mem5, main_#t~pre7, main_#t~mem6, main_#t~ret8, main_~#ad1~0.base, main_~#ad1~0.offset, main_~ad2~0.base, main_~ad2~0.offset, main_~i~0, main_~j~0, main_~pa~0.base, main_~pa~0.offset;call main_~#ad1~0.base, main_~#ad1~0.offset := #Ultimate.allocOnStack(160);havoc main_~ad2~0.base, main_~ad2~0.offset;havoc main_~i~0;havoc main_~j~0;havoc main_~pa~0.base, main_~pa~0.offset;main_~j~0 := 0; {832#(= 0 ULTIMATE.start_main_~j~0)} is VALID [2020-07-28 17:58:46,862 INFO L280 TraceCheckUtils]: 2: Hoare triple {832#(= 0 ULTIMATE.start_main_~j~0)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {832#(= 0 ULTIMATE.start_main_~j~0)} is VALID [2020-07-28 17:58:46,863 INFO L280 TraceCheckUtils]: 3: Hoare triple {832#(= 0 ULTIMATE.start_main_~j~0)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {833#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:58:46,863 INFO L280 TraceCheckUtils]: 4: Hoare triple {833#(<= ULTIMATE.start_main_~j~0 1)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {833#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:58:46,864 INFO L280 TraceCheckUtils]: 5: Hoare triple {833#(<= ULTIMATE.start_main_~j~0 1)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {834#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:58:46,865 INFO L280 TraceCheckUtils]: 6: Hoare triple {834#(<= ULTIMATE.start_main_~j~0 2)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {834#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:58:46,866 INFO L280 TraceCheckUtils]: 7: Hoare triple {834#(<= ULTIMATE.start_main_~j~0 2)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {835#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:58:46,867 INFO L280 TraceCheckUtils]: 8: Hoare triple {835#(<= ULTIMATE.start_main_~j~0 3)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {835#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:58:46,868 INFO L280 TraceCheckUtils]: 9: Hoare triple {835#(<= ULTIMATE.start_main_~j~0 3)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {836#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:58:46,869 INFO L280 TraceCheckUtils]: 10: Hoare triple {836#(<= ULTIMATE.start_main_~j~0 4)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {836#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:58:46,870 INFO L280 TraceCheckUtils]: 11: Hoare triple {836#(<= ULTIMATE.start_main_~j~0 4)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {837#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:58:46,871 INFO L280 TraceCheckUtils]: 12: Hoare triple {837#(<= ULTIMATE.start_main_~j~0 5)} assume !(main_~j~0 < 20); {831#false} is VALID [2020-07-28 17:58:46,871 INFO L280 TraceCheckUtils]: 13: Hoare triple {831#false} assume -2147483648 <= main_#t~nondet4 && main_#t~nondet4 <= 2147483647;main_~i~0 := main_#t~nondet4;havoc main_#t~nondet4; {831#false} is VALID [2020-07-28 17:58:46,871 INFO L280 TraceCheckUtils]: 14: Hoare triple {831#false} assume main_~i~0 >= 0 && main_~i~0 < 10;main_~ad2~0.base, main_~ad2~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset;call write~int(main_~i~0, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0, 4);main_~pa~0.base, main_~pa~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0;call main_#t~mem5 := read~int(main_~ad2~0.base, main_~ad2~0.offset + 8 * main_~i~0, 4);main_~i~0 := 10 + main_#t~mem5;havoc main_#t~mem5; {831#false} is VALID [2020-07-28 17:58:46,871 INFO L280 TraceCheckUtils]: 15: Hoare triple {831#false} call main_#t~mem6 := read~int(main_~pa~0.base, main_~pa~0.offset, 4); {831#false} is VALID [2020-07-28 17:58:46,872 INFO L280 TraceCheckUtils]: 16: Hoare triple {831#false} assume !(main_~i~0 < main_#t~mem6);havoc main_#t~mem6; {831#false} is VALID [2020-07-28 17:58:46,872 INFO L280 TraceCheckUtils]: 17: Hoare triple {831#false} check_#in~ad1.base, check_#in~ad1.offset, check_#in~b := main_~#ad1~0.base, main_~#ad1~0.offset, main_~i~0;havoc check_#res;havoc check_#t~mem0, check_~ad1.base, check_~ad1.offset, check_~b;check_~ad1.base, check_~ad1.offset := check_#in~ad1.base, check_#in~ad1.offset;check_~b := check_#in~b;call check_#t~mem0 := read~int(check_~ad1.base, check_~ad1.offset + 8 * check_~b, 4);check_#res := (if check_#t~mem0 == check_~b then 1 else 0);havoc check_#t~mem0; {831#false} is VALID [2020-07-28 17:58:46,872 INFO L280 TraceCheckUtils]: 18: Hoare triple {831#false} main_#t~ret8 := check_#res;assume -2147483648 <= main_#t~ret8 && main_#t~ret8 <= 2147483647; {831#false} is VALID [2020-07-28 17:58:46,872 INFO L280 TraceCheckUtils]: 19: Hoare triple {831#false} assume 0 == main_#t~ret8;havoc main_#t~ret8; {831#false} is VALID [2020-07-28 17:58:46,873 INFO L280 TraceCheckUtils]: 20: Hoare triple {831#false} assume !false; {831#false} is VALID [2020-07-28 17:58:46,873 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:58:46,874 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [126843513] [2020-07-28 17:58:46,874 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1494975942] [2020-07-28 17:58:46,874 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:58:46,944 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 6 check-sat command(s) [2020-07-28 17:58:46,944 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2020-07-28 17:58:46,945 INFO L263 TraceCheckSpWp]: Trace formula consists of 100 conjuncts, 7 conjunts are in the unsatisfiable core [2020-07-28 17:58:46,956 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:58:46,957 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 17:58:47,128 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:58:47,129 INFO L280 TraceCheckUtils]: 1: Hoare triple {830#true} havoc main_#res;havoc main_#t~nondet2, main_#t~nondet3, main_#t~post1, main_#t~nondet4, main_#t~mem5, main_#t~pre7, main_#t~mem6, main_#t~ret8, main_~#ad1~0.base, main_~#ad1~0.offset, main_~ad2~0.base, main_~ad2~0.offset, main_~i~0, main_~j~0, main_~pa~0.base, main_~pa~0.offset;call main_~#ad1~0.base, main_~#ad1~0.offset := #Ultimate.allocOnStack(160);havoc main_~ad2~0.base, main_~ad2~0.offset;havoc main_~i~0;havoc main_~j~0;havoc main_~pa~0.base, main_~pa~0.offset;main_~j~0 := 0; {844#(<= ULTIMATE.start_main_~j~0 0)} is VALID [2020-07-28 17:58:47,130 INFO L280 TraceCheckUtils]: 2: Hoare triple {844#(<= ULTIMATE.start_main_~j~0 0)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {844#(<= ULTIMATE.start_main_~j~0 0)} is VALID [2020-07-28 17:58:47,131 INFO L280 TraceCheckUtils]: 3: Hoare triple {844#(<= ULTIMATE.start_main_~j~0 0)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {833#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:58:47,131 INFO L280 TraceCheckUtils]: 4: Hoare triple {833#(<= ULTIMATE.start_main_~j~0 1)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {833#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:58:47,132 INFO L280 TraceCheckUtils]: 5: Hoare triple {833#(<= ULTIMATE.start_main_~j~0 1)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {834#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:58:47,133 INFO L280 TraceCheckUtils]: 6: Hoare triple {834#(<= ULTIMATE.start_main_~j~0 2)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {834#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:58:47,134 INFO L280 TraceCheckUtils]: 7: Hoare triple {834#(<= ULTIMATE.start_main_~j~0 2)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {835#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:58:47,134 INFO L280 TraceCheckUtils]: 8: Hoare triple {835#(<= ULTIMATE.start_main_~j~0 3)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {835#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:58:47,135 INFO L280 TraceCheckUtils]: 9: Hoare triple {835#(<= ULTIMATE.start_main_~j~0 3)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {836#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:58:47,136 INFO L280 TraceCheckUtils]: 10: Hoare triple {836#(<= ULTIMATE.start_main_~j~0 4)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {836#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:58:47,137 INFO L280 TraceCheckUtils]: 11: Hoare triple {836#(<= ULTIMATE.start_main_~j~0 4)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {837#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:58:47,137 INFO L280 TraceCheckUtils]: 12: Hoare triple {837#(<= ULTIMATE.start_main_~j~0 5)} assume !(main_~j~0 < 20); {831#false} is VALID [2020-07-28 17:58:47,138 INFO L280 TraceCheckUtils]: 13: Hoare triple {831#false} assume -2147483648 <= main_#t~nondet4 && main_#t~nondet4 <= 2147483647;main_~i~0 := main_#t~nondet4;havoc main_#t~nondet4; {831#false} is VALID [2020-07-28 17:58:47,138 INFO L280 TraceCheckUtils]: 14: Hoare triple {831#false} assume main_~i~0 >= 0 && main_~i~0 < 10;main_~ad2~0.base, main_~ad2~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset;call write~int(main_~i~0, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0, 4);main_~pa~0.base, main_~pa~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0;call main_#t~mem5 := read~int(main_~ad2~0.base, main_~ad2~0.offset + 8 * main_~i~0, 4);main_~i~0 := 10 + main_#t~mem5;havoc main_#t~mem5; {831#false} is VALID [2020-07-28 17:58:47,138 INFO L280 TraceCheckUtils]: 15: Hoare triple {831#false} call main_#t~mem6 := read~int(main_~pa~0.base, main_~pa~0.offset, 4); {831#false} is VALID [2020-07-28 17:58:47,139 INFO L280 TraceCheckUtils]: 16: Hoare triple {831#false} assume !(main_~i~0 < main_#t~mem6);havoc main_#t~mem6; {831#false} is VALID [2020-07-28 17:58:47,139 INFO L280 TraceCheckUtils]: 17: Hoare triple {831#false} check_#in~ad1.base, check_#in~ad1.offset, check_#in~b := main_~#ad1~0.base, main_~#ad1~0.offset, main_~i~0;havoc check_#res;havoc check_#t~mem0, check_~ad1.base, check_~ad1.offset, check_~b;check_~ad1.base, check_~ad1.offset := check_#in~ad1.base, check_#in~ad1.offset;check_~b := check_#in~b;call check_#t~mem0 := read~int(check_~ad1.base, check_~ad1.offset + 8 * check_~b, 4);check_#res := (if check_#t~mem0 == check_~b then 1 else 0);havoc check_#t~mem0; {831#false} is VALID [2020-07-28 17:58:47,139 INFO L280 TraceCheckUtils]: 18: Hoare triple {831#false} main_#t~ret8 := check_#res;assume -2147483648 <= main_#t~ret8 && main_#t~ret8 <= 2147483647; {831#false} is VALID [2020-07-28 17:58:47,139 INFO L280 TraceCheckUtils]: 19: Hoare triple {831#false} assume 0 == main_#t~ret8;havoc main_#t~ret8; {831#false} is VALID [2020-07-28 17:58:47,139 INFO L280 TraceCheckUtils]: 20: Hoare triple {831#false} assume !false; {831#false} is VALID [2020-07-28 17:58:47,140 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:58:47,141 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-28 17:58:47,141 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2020-07-28 17:58:47,141 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [492513908] [2020-07-28 17:58:47,142 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 21 [2020-07-28 17:58:47,143 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 17:58:47,143 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2020-07-28 17:58:47,173 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:58:47,173 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2020-07-28 17:58:47,173 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-28 17:58:47,174 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2020-07-28 17:58:47,174 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=36, Unknown=0, NotChecked=0, Total=72 [2020-07-28 17:58:47,175 INFO L87 Difference]: Start difference. First operand 22 states and 23 transitions. Second operand 9 states. [2020-07-28 17:58:47,304 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:58:47,304 INFO L93 Difference]: Finished difference Result 34 states and 36 transitions. [2020-07-28 17:58:47,304 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2020-07-28 17:58:47,305 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 21 [2020-07-28 17:58:47,305 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 17:58:47,305 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-28 17:58:47,307 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 36 transitions. [2020-07-28 17:58:47,307 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-28 17:58:47,308 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 36 transitions. [2020-07-28 17:58:47,308 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 36 transitions. [2020-07-28 17:58:47,346 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:58:47,347 INFO L225 Difference]: With dead ends: 34 [2020-07-28 17:58:47,347 INFO L226 Difference]: Without dead ends: 25 [2020-07-28 17:58:47,348 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:58:47,348 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 25 states. [2020-07-28 17:58:47,363 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 25 to 24. [2020-07-28 17:58:47,364 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 17:58:47,364 INFO L82 GeneralOperation]: Start isEquivalent. First operand 25 states. Second operand 24 states. [2020-07-28 17:58:47,364 INFO L74 IsIncluded]: Start isIncluded. First operand 25 states. Second operand 24 states. [2020-07-28 17:58:47,364 INFO L87 Difference]: Start difference. First operand 25 states. Second operand 24 states. [2020-07-28 17:58:47,366 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:58:47,366 INFO L93 Difference]: Finished difference Result 25 states and 26 transitions. [2020-07-28 17:58:47,366 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 26 transitions. [2020-07-28 17:58:47,366 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:58:47,366 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:58:47,366 INFO L74 IsIncluded]: Start isIncluded. First operand 24 states. Second operand 25 states. [2020-07-28 17:58:47,367 INFO L87 Difference]: Start difference. First operand 24 states. Second operand 25 states. [2020-07-28 17:58:47,368 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:58:47,368 INFO L93 Difference]: Finished difference Result 25 states and 26 transitions. [2020-07-28 17:58:47,368 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 26 transitions. [2020-07-28 17:58:47,368 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:58:47,369 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:58:47,369 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 17:58:47,369 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 17:58:47,369 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2020-07-28 17:58:47,370 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 25 transitions. [2020-07-28 17:58:47,370 INFO L78 Accepts]: Start accepts. Automaton has 24 states and 25 transitions. Word has length 21 [2020-07-28 17:58:47,371 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 17:58:47,371 INFO L479 AbstractCegarLoop]: Abstraction has 24 states and 25 transitions. [2020-07-28 17:58:47,371 INFO L480 AbstractCegarLoop]: Interpolant automaton has 9 states. [2020-07-28 17:58:47,371 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 25 transitions. [2020-07-28 17:58:47,372 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2020-07-28 17:58:47,372 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 17:58:47,372 INFO L422 BasicCegarLoop]: trace histogram [6, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 17:58:47,581 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 6 z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable6 [2020-07-28 17:58:47,582 INFO L427 AbstractCegarLoop]: === Iteration 8 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 17:58:47,583 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 17:58:47,583 INFO L82 PathProgramCache]: Analyzing trace with hash -1641347255, now seen corresponding path program 6 times [2020-07-28 17:58:47,583 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 17:58:47,584 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [600303448] [2020-07-28 17:58:47,584 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 17:58:47,604 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:58:47,717 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:58:47,723 INFO L280 TraceCheckUtils]: 1: Hoare triple {1032#true} havoc main_#res;havoc main_#t~nondet2, main_#t~nondet3, main_#t~post1, main_#t~nondet4, main_#t~mem5, main_#t~pre7, main_#t~mem6, main_#t~ret8, main_~#ad1~0.base, main_~#ad1~0.offset, main_~ad2~0.base, main_~ad2~0.offset, main_~i~0, main_~j~0, main_~pa~0.base, main_~pa~0.offset;call main_~#ad1~0.base, main_~#ad1~0.offset := #Ultimate.allocOnStack(160);havoc main_~ad2~0.base, main_~ad2~0.offset;havoc main_~i~0;havoc main_~j~0;havoc main_~pa~0.base, main_~pa~0.offset;main_~j~0 := 0; {1034#(= 0 ULTIMATE.start_main_~j~0)} is VALID [2020-07-28 17:58:47,724 INFO L280 TraceCheckUtils]: 2: Hoare triple {1034#(= 0 ULTIMATE.start_main_~j~0)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {1034#(= 0 ULTIMATE.start_main_~j~0)} is VALID [2020-07-28 17:58:47,725 INFO L280 TraceCheckUtils]: 3: Hoare triple {1034#(= 0 ULTIMATE.start_main_~j~0)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {1035#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:58:47,726 INFO L280 TraceCheckUtils]: 4: Hoare triple {1035#(<= ULTIMATE.start_main_~j~0 1)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {1035#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:58:47,727 INFO L280 TraceCheckUtils]: 5: Hoare triple {1035#(<= ULTIMATE.start_main_~j~0 1)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {1036#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:58:47,728 INFO L280 TraceCheckUtils]: 6: Hoare triple {1036#(<= ULTIMATE.start_main_~j~0 2)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {1036#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:58:47,729 INFO L280 TraceCheckUtils]: 7: Hoare triple {1036#(<= ULTIMATE.start_main_~j~0 2)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {1037#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:58:47,730 INFO L280 TraceCheckUtils]: 8: Hoare triple {1037#(<= ULTIMATE.start_main_~j~0 3)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {1037#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:58:47,731 INFO L280 TraceCheckUtils]: 9: Hoare triple {1037#(<= ULTIMATE.start_main_~j~0 3)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {1038#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:58:47,732 INFO L280 TraceCheckUtils]: 10: Hoare triple {1038#(<= ULTIMATE.start_main_~j~0 4)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {1038#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:58:47,733 INFO L280 TraceCheckUtils]: 11: Hoare triple {1038#(<= ULTIMATE.start_main_~j~0 4)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {1039#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:58:47,734 INFO L280 TraceCheckUtils]: 12: Hoare triple {1039#(<= ULTIMATE.start_main_~j~0 5)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {1039#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:58:47,735 INFO L280 TraceCheckUtils]: 13: Hoare triple {1039#(<= ULTIMATE.start_main_~j~0 5)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {1040#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:58:47,742 INFO L280 TraceCheckUtils]: 14: Hoare triple {1040#(<= ULTIMATE.start_main_~j~0 6)} assume !(main_~j~0 < 20); {1033#false} is VALID [2020-07-28 17:58:47,742 INFO L280 TraceCheckUtils]: 15: Hoare triple {1033#false} assume -2147483648 <= main_#t~nondet4 && main_#t~nondet4 <= 2147483647;main_~i~0 := main_#t~nondet4;havoc main_#t~nondet4; {1033#false} is VALID [2020-07-28 17:58:47,743 INFO L280 TraceCheckUtils]: 16: Hoare triple {1033#false} assume main_~i~0 >= 0 && main_~i~0 < 10;main_~ad2~0.base, main_~ad2~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset;call write~int(main_~i~0, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0, 4);main_~pa~0.base, main_~pa~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0;call main_#t~mem5 := read~int(main_~ad2~0.base, main_~ad2~0.offset + 8 * main_~i~0, 4);main_~i~0 := 10 + main_#t~mem5;havoc main_#t~mem5; {1033#false} is VALID [2020-07-28 17:58:47,743 INFO L280 TraceCheckUtils]: 17: Hoare triple {1033#false} call main_#t~mem6 := read~int(main_~pa~0.base, main_~pa~0.offset, 4); {1033#false} is VALID [2020-07-28 17:58:47,743 INFO L280 TraceCheckUtils]: 18: Hoare triple {1033#false} assume !(main_~i~0 < main_#t~mem6);havoc main_#t~mem6; {1033#false} is VALID [2020-07-28 17:58:47,744 INFO L280 TraceCheckUtils]: 19: Hoare triple {1033#false} check_#in~ad1.base, check_#in~ad1.offset, check_#in~b := main_~#ad1~0.base, main_~#ad1~0.offset, main_~i~0;havoc check_#res;havoc check_#t~mem0, check_~ad1.base, check_~ad1.offset, check_~b;check_~ad1.base, check_~ad1.offset := check_#in~ad1.base, check_#in~ad1.offset;check_~b := check_#in~b;call check_#t~mem0 := read~int(check_~ad1.base, check_~ad1.offset + 8 * check_~b, 4);check_#res := (if check_#t~mem0 == check_~b then 1 else 0);havoc check_#t~mem0; {1033#false} is VALID [2020-07-28 17:58:47,744 INFO L280 TraceCheckUtils]: 20: Hoare triple {1033#false} main_#t~ret8 := check_#res;assume -2147483648 <= main_#t~ret8 && main_#t~ret8 <= 2147483647; {1033#false} is VALID [2020-07-28 17:58:47,744 INFO L280 TraceCheckUtils]: 21: Hoare triple {1033#false} assume 0 == main_#t~ret8;havoc main_#t~ret8; {1033#false} is VALID [2020-07-28 17:58:47,744 INFO L280 TraceCheckUtils]: 22: Hoare triple {1033#false} assume !false; {1033#false} is VALID [2020-07-28 17:58:47,745 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:58:47,746 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [600303448] [2020-07-28 17:58:47,746 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1948119219] [2020-07-28 17:58:47,746 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:58:47,869 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2020-07-28 17:58:47,869 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2020-07-28 17:58:47,870 INFO L263 TraceCheckSpWp]: Trace formula consists of 108 conjuncts, 8 conjunts are in the unsatisfiable core [2020-07-28 17:58:47,879 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:58:47,880 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 17:58:48,086 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:58:48,087 INFO L280 TraceCheckUtils]: 1: Hoare triple {1032#true} havoc main_#res;havoc main_#t~nondet2, main_#t~nondet3, main_#t~post1, main_#t~nondet4, main_#t~mem5, main_#t~pre7, main_#t~mem6, main_#t~ret8, main_~#ad1~0.base, main_~#ad1~0.offset, main_~ad2~0.base, main_~ad2~0.offset, main_~i~0, main_~j~0, main_~pa~0.base, main_~pa~0.offset;call main_~#ad1~0.base, main_~#ad1~0.offset := #Ultimate.allocOnStack(160);havoc main_~ad2~0.base, main_~ad2~0.offset;havoc main_~i~0;havoc main_~j~0;havoc main_~pa~0.base, main_~pa~0.offset;main_~j~0 := 0; {1047#(<= ULTIMATE.start_main_~j~0 0)} is VALID [2020-07-28 17:58:48,088 INFO L280 TraceCheckUtils]: 2: Hoare triple {1047#(<= ULTIMATE.start_main_~j~0 0)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {1047#(<= ULTIMATE.start_main_~j~0 0)} is VALID [2020-07-28 17:58:48,089 INFO L280 TraceCheckUtils]: 3: Hoare triple {1047#(<= ULTIMATE.start_main_~j~0 0)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {1035#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:58:48,089 INFO L280 TraceCheckUtils]: 4: Hoare triple {1035#(<= ULTIMATE.start_main_~j~0 1)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {1035#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:58:48,090 INFO L280 TraceCheckUtils]: 5: Hoare triple {1035#(<= ULTIMATE.start_main_~j~0 1)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {1036#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:58:48,090 INFO L280 TraceCheckUtils]: 6: Hoare triple {1036#(<= ULTIMATE.start_main_~j~0 2)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {1036#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:58:48,093 INFO L280 TraceCheckUtils]: 7: Hoare triple {1036#(<= ULTIMATE.start_main_~j~0 2)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {1037#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:58:48,097 INFO L280 TraceCheckUtils]: 8: Hoare triple {1037#(<= ULTIMATE.start_main_~j~0 3)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {1037#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:58:48,098 INFO L280 TraceCheckUtils]: 9: Hoare triple {1037#(<= ULTIMATE.start_main_~j~0 3)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {1038#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:58:48,098 INFO L280 TraceCheckUtils]: 10: Hoare triple {1038#(<= ULTIMATE.start_main_~j~0 4)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {1038#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:58:48,099 INFO L280 TraceCheckUtils]: 11: Hoare triple {1038#(<= ULTIMATE.start_main_~j~0 4)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {1039#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:58:48,100 INFO L280 TraceCheckUtils]: 12: Hoare triple {1039#(<= ULTIMATE.start_main_~j~0 5)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {1039#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:58:48,100 INFO L280 TraceCheckUtils]: 13: Hoare triple {1039#(<= ULTIMATE.start_main_~j~0 5)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {1040#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:58:48,101 INFO L280 TraceCheckUtils]: 14: Hoare triple {1040#(<= ULTIMATE.start_main_~j~0 6)} assume !(main_~j~0 < 20); {1033#false} is VALID [2020-07-28 17:58:48,101 INFO L280 TraceCheckUtils]: 15: Hoare triple {1033#false} assume -2147483648 <= main_#t~nondet4 && main_#t~nondet4 <= 2147483647;main_~i~0 := main_#t~nondet4;havoc main_#t~nondet4; {1033#false} is VALID [2020-07-28 17:58:48,101 INFO L280 TraceCheckUtils]: 16: Hoare triple {1033#false} assume main_~i~0 >= 0 && main_~i~0 < 10;main_~ad2~0.base, main_~ad2~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset;call write~int(main_~i~0, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0, 4);main_~pa~0.base, main_~pa~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0;call main_#t~mem5 := read~int(main_~ad2~0.base, main_~ad2~0.offset + 8 * main_~i~0, 4);main_~i~0 := 10 + main_#t~mem5;havoc main_#t~mem5; {1033#false} is VALID [2020-07-28 17:58:48,101 INFO L280 TraceCheckUtils]: 17: Hoare triple {1033#false} call main_#t~mem6 := read~int(main_~pa~0.base, main_~pa~0.offset, 4); {1033#false} is VALID [2020-07-28 17:58:48,101 INFO L280 TraceCheckUtils]: 18: Hoare triple {1033#false} assume !(main_~i~0 < main_#t~mem6);havoc main_#t~mem6; {1033#false} is VALID [2020-07-28 17:58:48,102 INFO L280 TraceCheckUtils]: 19: Hoare triple {1033#false} check_#in~ad1.base, check_#in~ad1.offset, check_#in~b := main_~#ad1~0.base, main_~#ad1~0.offset, main_~i~0;havoc check_#res;havoc check_#t~mem0, check_~ad1.base, check_~ad1.offset, check_~b;check_~ad1.base, check_~ad1.offset := check_#in~ad1.base, check_#in~ad1.offset;check_~b := check_#in~b;call check_#t~mem0 := read~int(check_~ad1.base, check_~ad1.offset + 8 * check_~b, 4);check_#res := (if check_#t~mem0 == check_~b then 1 else 0);havoc check_#t~mem0; {1033#false} is VALID [2020-07-28 17:58:48,102 INFO L280 TraceCheckUtils]: 20: Hoare triple {1033#false} main_#t~ret8 := check_#res;assume -2147483648 <= main_#t~ret8 && main_#t~ret8 <= 2147483647; {1033#false} is VALID [2020-07-28 17:58:48,102 INFO L280 TraceCheckUtils]: 21: Hoare triple {1033#false} assume 0 == main_#t~ret8;havoc main_#t~ret8; {1033#false} is VALID [2020-07-28 17:58:48,102 INFO L280 TraceCheckUtils]: 22: Hoare triple {1033#false} assume !false; {1033#false} is VALID [2020-07-28 17:58:48,103 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:58:48,103 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-28 17:58:48,103 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 10 [2020-07-28 17:58:48,104 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1522239657] [2020-07-28 17:58:48,104 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 23 [2020-07-28 17:58:48,104 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 17:58:48,104 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2020-07-28 17:58:48,142 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:48,142 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2020-07-28 17:58:48,142 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-28 17:58:48,142 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2020-07-28 17:58:48,142 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=45, Unknown=0, NotChecked=0, Total=90 [2020-07-28 17:58:48,143 INFO L87 Difference]: Start difference. First operand 24 states and 25 transitions. Second operand 10 states. [2020-07-28 17:58:48,239 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:58:48,239 INFO L93 Difference]: Finished difference Result 36 states and 38 transitions. [2020-07-28 17:58:48,239 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2020-07-28 17:58:48,239 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 23 [2020-07-28 17:58:48,239 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 17:58:48,240 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-28 17:58:48,241 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 38 transitions. [2020-07-28 17:58:48,241 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-28 17:58:48,243 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 38 transitions. [2020-07-28 17:58:48,243 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 38 transitions. [2020-07-28 17:58:48,288 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:58:48,288 INFO L225 Difference]: With dead ends: 36 [2020-07-28 17:58:48,289 INFO L226 Difference]: Without dead ends: 27 [2020-07-28 17:58:48,289 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:58:48,289 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2020-07-28 17:58:48,302 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 26. [2020-07-28 17:58:48,302 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 17:58:48,303 INFO L82 GeneralOperation]: Start isEquivalent. First operand 27 states. Second operand 26 states. [2020-07-28 17:58:48,303 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand 26 states. [2020-07-28 17:58:48,303 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 26 states. [2020-07-28 17:58:48,306 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:58:48,306 INFO L93 Difference]: Finished difference Result 27 states and 28 transitions. [2020-07-28 17:58:48,306 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 28 transitions. [2020-07-28 17:58:48,307 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:58:48,307 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:58:48,307 INFO L74 IsIncluded]: Start isIncluded. First operand 26 states. Second operand 27 states. [2020-07-28 17:58:48,307 INFO L87 Difference]: Start difference. First operand 26 states. Second operand 27 states. [2020-07-28 17:58:48,308 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:58:48,308 INFO L93 Difference]: Finished difference Result 27 states and 28 transitions. [2020-07-28 17:58:48,309 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 28 transitions. [2020-07-28 17:58:48,309 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:58:48,309 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:58:48,309 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 17:58:48,310 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 17:58:48,310 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2020-07-28 17:58:48,311 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 27 transitions. [2020-07-28 17:58:48,311 INFO L78 Accepts]: Start accepts. Automaton has 26 states and 27 transitions. Word has length 23 [2020-07-28 17:58:48,312 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 17:58:48,312 INFO L479 AbstractCegarLoop]: Abstraction has 26 states and 27 transitions. [2020-07-28 17:58:48,312 INFO L480 AbstractCegarLoop]: Interpolant automaton has 10 states. [2020-07-28 17:58:48,312 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 27 transitions. [2020-07-28 17:58:48,313 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2020-07-28 17:58:48,313 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 17:58:48,314 INFO L422 BasicCegarLoop]: trace histogram [7, 7, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 17:58:48,514 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,7 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-28 17:58:48,515 INFO L427 AbstractCegarLoop]: === Iteration 9 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 17:58:48,515 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 17:58:48,515 INFO L82 PathProgramCache]: Analyzing trace with hash -1020317689, now seen corresponding path program 7 times [2020-07-28 17:58:48,515 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 17:58:48,515 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [276154314] [2020-07-28 17:58:48,516 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 17:58:48,537 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:58:48,651 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:58:48,653 INFO L280 TraceCheckUtils]: 1: Hoare triple {1251#true} havoc main_#res;havoc main_#t~nondet2, main_#t~nondet3, main_#t~post1, main_#t~nondet4, main_#t~mem5, main_#t~pre7, main_#t~mem6, main_#t~ret8, main_~#ad1~0.base, main_~#ad1~0.offset, main_~ad2~0.base, main_~ad2~0.offset, main_~i~0, main_~j~0, main_~pa~0.base, main_~pa~0.offset;call main_~#ad1~0.base, main_~#ad1~0.offset := #Ultimate.allocOnStack(160);havoc main_~ad2~0.base, main_~ad2~0.offset;havoc main_~i~0;havoc main_~j~0;havoc main_~pa~0.base, main_~pa~0.offset;main_~j~0 := 0; {1253#(= 0 ULTIMATE.start_main_~j~0)} is VALID [2020-07-28 17:58:48,653 INFO L280 TraceCheckUtils]: 2: Hoare triple {1253#(= 0 ULTIMATE.start_main_~j~0)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {1253#(= 0 ULTIMATE.start_main_~j~0)} is VALID [2020-07-28 17:58:48,654 INFO L280 TraceCheckUtils]: 3: Hoare triple {1253#(= 0 ULTIMATE.start_main_~j~0)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {1254#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:58:48,655 INFO L280 TraceCheckUtils]: 4: Hoare triple {1254#(<= ULTIMATE.start_main_~j~0 1)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {1254#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:58:48,656 INFO L280 TraceCheckUtils]: 5: Hoare triple {1254#(<= ULTIMATE.start_main_~j~0 1)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {1255#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:58:48,657 INFO L280 TraceCheckUtils]: 6: Hoare triple {1255#(<= ULTIMATE.start_main_~j~0 2)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {1255#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:58:48,658 INFO L280 TraceCheckUtils]: 7: Hoare triple {1255#(<= ULTIMATE.start_main_~j~0 2)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {1256#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:58:48,659 INFO L280 TraceCheckUtils]: 8: Hoare triple {1256#(<= ULTIMATE.start_main_~j~0 3)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {1256#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:58:48,660 INFO L280 TraceCheckUtils]: 9: Hoare triple {1256#(<= ULTIMATE.start_main_~j~0 3)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {1257#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:58:48,661 INFO L280 TraceCheckUtils]: 10: Hoare triple {1257#(<= ULTIMATE.start_main_~j~0 4)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {1257#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:58:48,663 INFO L280 TraceCheckUtils]: 11: Hoare triple {1257#(<= ULTIMATE.start_main_~j~0 4)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {1258#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:58:48,664 INFO L280 TraceCheckUtils]: 12: Hoare triple {1258#(<= ULTIMATE.start_main_~j~0 5)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {1258#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:58:48,665 INFO L280 TraceCheckUtils]: 13: Hoare triple {1258#(<= ULTIMATE.start_main_~j~0 5)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {1259#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:58:48,667 INFO L280 TraceCheckUtils]: 14: Hoare triple {1259#(<= ULTIMATE.start_main_~j~0 6)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {1259#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:58:48,668 INFO L280 TraceCheckUtils]: 15: Hoare triple {1259#(<= ULTIMATE.start_main_~j~0 6)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {1260#(<= ULTIMATE.start_main_~j~0 7)} is VALID [2020-07-28 17:58:48,671 INFO L280 TraceCheckUtils]: 16: Hoare triple {1260#(<= ULTIMATE.start_main_~j~0 7)} assume !(main_~j~0 < 20); {1252#false} is VALID [2020-07-28 17:58:48,672 INFO L280 TraceCheckUtils]: 17: Hoare triple {1252#false} assume -2147483648 <= main_#t~nondet4 && main_#t~nondet4 <= 2147483647;main_~i~0 := main_#t~nondet4;havoc main_#t~nondet4; {1252#false} is VALID [2020-07-28 17:58:48,672 INFO L280 TraceCheckUtils]: 18: Hoare triple {1252#false} assume main_~i~0 >= 0 && main_~i~0 < 10;main_~ad2~0.base, main_~ad2~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset;call write~int(main_~i~0, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0, 4);main_~pa~0.base, main_~pa~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0;call main_#t~mem5 := read~int(main_~ad2~0.base, main_~ad2~0.offset + 8 * main_~i~0, 4);main_~i~0 := 10 + main_#t~mem5;havoc main_#t~mem5; {1252#false} is VALID [2020-07-28 17:58:48,672 INFO L280 TraceCheckUtils]: 19: Hoare triple {1252#false} call main_#t~mem6 := read~int(main_~pa~0.base, main_~pa~0.offset, 4); {1252#false} is VALID [2020-07-28 17:58:48,672 INFO L280 TraceCheckUtils]: 20: Hoare triple {1252#false} assume !(main_~i~0 < main_#t~mem6);havoc main_#t~mem6; {1252#false} is VALID [2020-07-28 17:58:48,673 INFO L280 TraceCheckUtils]: 21: Hoare triple {1252#false} check_#in~ad1.base, check_#in~ad1.offset, check_#in~b := main_~#ad1~0.base, main_~#ad1~0.offset, main_~i~0;havoc check_#res;havoc check_#t~mem0, check_~ad1.base, check_~ad1.offset, check_~b;check_~ad1.base, check_~ad1.offset := check_#in~ad1.base, check_#in~ad1.offset;check_~b := check_#in~b;call check_#t~mem0 := read~int(check_~ad1.base, check_~ad1.offset + 8 * check_~b, 4);check_#res := (if check_#t~mem0 == check_~b then 1 else 0);havoc check_#t~mem0; {1252#false} is VALID [2020-07-28 17:58:48,673 INFO L280 TraceCheckUtils]: 22: Hoare triple {1252#false} main_#t~ret8 := check_#res;assume -2147483648 <= main_#t~ret8 && main_#t~ret8 <= 2147483647; {1252#false} is VALID [2020-07-28 17:58:48,673 INFO L280 TraceCheckUtils]: 23: Hoare triple {1252#false} assume 0 == main_#t~ret8;havoc main_#t~ret8; {1252#false} is VALID [2020-07-28 17:58:48,673 INFO L280 TraceCheckUtils]: 24: Hoare triple {1252#false} assume !false; {1252#false} is VALID [2020-07-28 17:58:48,674 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:58:48,678 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [276154314] [2020-07-28 17:58:48,678 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1820725547] [2020-07-28 17:58:48,678 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:58:48,719 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:58:48,720 INFO L263 TraceCheckSpWp]: Trace formula consists of 116 conjuncts, 9 conjunts are in the unsatisfiable core [2020-07-28 17:58:48,729 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:58:48,731 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 17:58:48,978 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:58:48,979 INFO L280 TraceCheckUtils]: 1: Hoare triple {1251#true} havoc main_#res;havoc main_#t~nondet2, main_#t~nondet3, main_#t~post1, main_#t~nondet4, main_#t~mem5, main_#t~pre7, main_#t~mem6, main_#t~ret8, main_~#ad1~0.base, main_~#ad1~0.offset, main_~ad2~0.base, main_~ad2~0.offset, main_~i~0, main_~j~0, main_~pa~0.base, main_~pa~0.offset;call main_~#ad1~0.base, main_~#ad1~0.offset := #Ultimate.allocOnStack(160);havoc main_~ad2~0.base, main_~ad2~0.offset;havoc main_~i~0;havoc main_~j~0;havoc main_~pa~0.base, main_~pa~0.offset;main_~j~0 := 0; {1267#(<= ULTIMATE.start_main_~j~0 0)} is VALID [2020-07-28 17:58:48,980 INFO L280 TraceCheckUtils]: 2: Hoare triple {1267#(<= ULTIMATE.start_main_~j~0 0)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {1267#(<= ULTIMATE.start_main_~j~0 0)} is VALID [2020-07-28 17:58:48,981 INFO L280 TraceCheckUtils]: 3: Hoare triple {1267#(<= ULTIMATE.start_main_~j~0 0)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {1254#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:58:48,982 INFO L280 TraceCheckUtils]: 4: Hoare triple {1254#(<= ULTIMATE.start_main_~j~0 1)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {1254#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:58:48,982 INFO L280 TraceCheckUtils]: 5: Hoare triple {1254#(<= ULTIMATE.start_main_~j~0 1)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {1255#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:58:48,983 INFO L280 TraceCheckUtils]: 6: Hoare triple {1255#(<= ULTIMATE.start_main_~j~0 2)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {1255#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:58:48,984 INFO L280 TraceCheckUtils]: 7: Hoare triple {1255#(<= ULTIMATE.start_main_~j~0 2)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {1256#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:58:48,984 INFO L280 TraceCheckUtils]: 8: Hoare triple {1256#(<= ULTIMATE.start_main_~j~0 3)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {1256#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:58:48,985 INFO L280 TraceCheckUtils]: 9: Hoare triple {1256#(<= ULTIMATE.start_main_~j~0 3)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {1257#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:58:48,985 INFO L280 TraceCheckUtils]: 10: Hoare triple {1257#(<= ULTIMATE.start_main_~j~0 4)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {1257#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:58:48,986 INFO L280 TraceCheckUtils]: 11: Hoare triple {1257#(<= ULTIMATE.start_main_~j~0 4)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {1258#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:58:48,986 INFO L280 TraceCheckUtils]: 12: Hoare triple {1258#(<= ULTIMATE.start_main_~j~0 5)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {1258#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:58:48,987 INFO L280 TraceCheckUtils]: 13: Hoare triple {1258#(<= ULTIMATE.start_main_~j~0 5)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {1259#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:58:48,988 INFO L280 TraceCheckUtils]: 14: Hoare triple {1259#(<= ULTIMATE.start_main_~j~0 6)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {1259#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:58:48,988 INFO L280 TraceCheckUtils]: 15: Hoare triple {1259#(<= ULTIMATE.start_main_~j~0 6)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {1260#(<= ULTIMATE.start_main_~j~0 7)} is VALID [2020-07-28 17:58:48,989 INFO L280 TraceCheckUtils]: 16: Hoare triple {1260#(<= ULTIMATE.start_main_~j~0 7)} assume !(main_~j~0 < 20); {1252#false} is VALID [2020-07-28 17:58:48,989 INFO L280 TraceCheckUtils]: 17: Hoare triple {1252#false} assume -2147483648 <= main_#t~nondet4 && main_#t~nondet4 <= 2147483647;main_~i~0 := main_#t~nondet4;havoc main_#t~nondet4; {1252#false} is VALID [2020-07-28 17:58:48,989 INFO L280 TraceCheckUtils]: 18: Hoare triple {1252#false} assume main_~i~0 >= 0 && main_~i~0 < 10;main_~ad2~0.base, main_~ad2~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset;call write~int(main_~i~0, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0, 4);main_~pa~0.base, main_~pa~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0;call main_#t~mem5 := read~int(main_~ad2~0.base, main_~ad2~0.offset + 8 * main_~i~0, 4);main_~i~0 := 10 + main_#t~mem5;havoc main_#t~mem5; {1252#false} is VALID [2020-07-28 17:58:48,989 INFO L280 TraceCheckUtils]: 19: Hoare triple {1252#false} call main_#t~mem6 := read~int(main_~pa~0.base, main_~pa~0.offset, 4); {1252#false} is VALID [2020-07-28 17:58:48,990 INFO L280 TraceCheckUtils]: 20: Hoare triple {1252#false} assume !(main_~i~0 < main_#t~mem6);havoc main_#t~mem6; {1252#false} is VALID [2020-07-28 17:58:48,990 INFO L280 TraceCheckUtils]: 21: Hoare triple {1252#false} check_#in~ad1.base, check_#in~ad1.offset, check_#in~b := main_~#ad1~0.base, main_~#ad1~0.offset, main_~i~0;havoc check_#res;havoc check_#t~mem0, check_~ad1.base, check_~ad1.offset, check_~b;check_~ad1.base, check_~ad1.offset := check_#in~ad1.base, check_#in~ad1.offset;check_~b := check_#in~b;call check_#t~mem0 := read~int(check_~ad1.base, check_~ad1.offset + 8 * check_~b, 4);check_#res := (if check_#t~mem0 == check_~b then 1 else 0);havoc check_#t~mem0; {1252#false} is VALID [2020-07-28 17:58:48,990 INFO L280 TraceCheckUtils]: 22: Hoare triple {1252#false} main_#t~ret8 := check_#res;assume -2147483648 <= main_#t~ret8 && main_#t~ret8 <= 2147483647; {1252#false} is VALID [2020-07-28 17:58:48,990 INFO L280 TraceCheckUtils]: 23: Hoare triple {1252#false} assume 0 == main_#t~ret8;havoc main_#t~ret8; {1252#false} is VALID [2020-07-28 17:58:48,990 INFO L280 TraceCheckUtils]: 24: Hoare triple {1252#false} assume !false; {1252#false} is VALID [2020-07-28 17:58:48,991 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:58:48,992 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-28 17:58:48,992 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 11 [2020-07-28 17:58:48,992 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1089319611] [2020-07-28 17:58:48,993 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 25 [2020-07-28 17:58:48,993 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 17:58:48,993 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2020-07-28 17:58:49,038 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:49,038 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2020-07-28 17:58:49,039 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-28 17:58:49,039 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2020-07-28 17:58:49,040 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=55, Invalid=55, Unknown=0, NotChecked=0, Total=110 [2020-07-28 17:58:49,040 INFO L87 Difference]: Start difference. First operand 26 states and 27 transitions. Second operand 11 states. [2020-07-28 17:58:49,226 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:58:49,226 INFO L93 Difference]: Finished difference Result 38 states and 40 transitions. [2020-07-28 17:58:49,227 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2020-07-28 17:58:49,227 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 25 [2020-07-28 17:58:49,227 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 17:58:49,227 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2020-07-28 17:58:49,229 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 40 transitions. [2020-07-28 17:58:49,229 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2020-07-28 17:58:49,230 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 40 transitions. [2020-07-28 17:58:49,231 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 40 transitions. [2020-07-28 17:58:49,284 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:49,285 INFO L225 Difference]: With dead ends: 38 [2020-07-28 17:58:49,285 INFO L226 Difference]: Without dead ends: 29 [2020-07-28 17:58:49,286 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:58:49,286 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2020-07-28 17:58:49,300 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 28. [2020-07-28 17:58:49,300 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 17:58:49,301 INFO L82 GeneralOperation]: Start isEquivalent. First operand 29 states. Second operand 28 states. [2020-07-28 17:58:49,301 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 28 states. [2020-07-28 17:58:49,301 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 28 states. [2020-07-28 17:58:49,302 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:58:49,303 INFO L93 Difference]: Finished difference Result 29 states and 30 transitions. [2020-07-28 17:58:49,303 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 30 transitions. [2020-07-28 17:58:49,303 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:58:49,303 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:58:49,303 INFO L74 IsIncluded]: Start isIncluded. First operand 28 states. Second operand 29 states. [2020-07-28 17:58:49,304 INFO L87 Difference]: Start difference. First operand 28 states. Second operand 29 states. [2020-07-28 17:58:49,305 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:58:49,305 INFO L93 Difference]: Finished difference Result 29 states and 30 transitions. [2020-07-28 17:58:49,306 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 30 transitions. [2020-07-28 17:58:49,306 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:58:49,306 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:58:49,307 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 17:58:49,307 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 17:58:49,307 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 28 states. [2020-07-28 17:58:49,308 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 29 transitions. [2020-07-28 17:58:49,309 INFO L78 Accepts]: Start accepts. Automaton has 28 states and 29 transitions. Word has length 25 [2020-07-28 17:58:49,309 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 17:58:49,309 INFO L479 AbstractCegarLoop]: Abstraction has 28 states and 29 transitions. [2020-07-28 17:58:49,310 INFO L480 AbstractCegarLoop]: Interpolant automaton has 11 states. [2020-07-28 17:58:49,310 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 29 transitions. [2020-07-28 17:58:49,310 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2020-07-28 17:58:49,311 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 17:58:49,311 INFO L422 BasicCegarLoop]: trace histogram [8, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 17:58:49,523 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,8 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-28 17:58:49,524 INFO L427 AbstractCegarLoop]: === Iteration 10 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 17:58:49,524 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 17:58:49,524 INFO L82 PathProgramCache]: Analyzing trace with hash -1211358907, now seen corresponding path program 8 times [2020-07-28 17:58:49,525 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 17:58:49,525 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [766033738] [2020-07-28 17:58:49,525 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 17:58:49,556 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:58:49,721 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:58:49,723 INFO L280 TraceCheckUtils]: 1: Hoare triple {1487#true} havoc main_#res;havoc main_#t~nondet2, main_#t~nondet3, main_#t~post1, main_#t~nondet4, main_#t~mem5, main_#t~pre7, main_#t~mem6, main_#t~ret8, main_~#ad1~0.base, main_~#ad1~0.offset, main_~ad2~0.base, main_~ad2~0.offset, main_~i~0, main_~j~0, main_~pa~0.base, main_~pa~0.offset;call main_~#ad1~0.base, main_~#ad1~0.offset := #Ultimate.allocOnStack(160);havoc main_~ad2~0.base, main_~ad2~0.offset;havoc main_~i~0;havoc main_~j~0;havoc main_~pa~0.base, main_~pa~0.offset;main_~j~0 := 0; {1489#(= 0 ULTIMATE.start_main_~j~0)} is VALID [2020-07-28 17:58:49,724 INFO L280 TraceCheckUtils]: 2: Hoare triple {1489#(= 0 ULTIMATE.start_main_~j~0)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {1489#(= 0 ULTIMATE.start_main_~j~0)} is VALID [2020-07-28 17:58:49,725 INFO L280 TraceCheckUtils]: 3: Hoare triple {1489#(= 0 ULTIMATE.start_main_~j~0)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {1490#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:58:49,725 INFO L280 TraceCheckUtils]: 4: Hoare triple {1490#(<= ULTIMATE.start_main_~j~0 1)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {1490#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:58:49,726 INFO L280 TraceCheckUtils]: 5: Hoare triple {1490#(<= ULTIMATE.start_main_~j~0 1)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {1491#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:58:49,727 INFO L280 TraceCheckUtils]: 6: Hoare triple {1491#(<= ULTIMATE.start_main_~j~0 2)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {1491#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:58:49,727 INFO L280 TraceCheckUtils]: 7: Hoare triple {1491#(<= ULTIMATE.start_main_~j~0 2)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {1492#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:58:49,728 INFO L280 TraceCheckUtils]: 8: Hoare triple {1492#(<= ULTIMATE.start_main_~j~0 3)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {1492#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:58:49,729 INFO L280 TraceCheckUtils]: 9: Hoare triple {1492#(<= ULTIMATE.start_main_~j~0 3)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {1493#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:58:49,729 INFO L280 TraceCheckUtils]: 10: Hoare triple {1493#(<= ULTIMATE.start_main_~j~0 4)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {1493#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:58:49,730 INFO L280 TraceCheckUtils]: 11: Hoare triple {1493#(<= ULTIMATE.start_main_~j~0 4)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {1494#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:58:49,730 INFO L280 TraceCheckUtils]: 12: Hoare triple {1494#(<= ULTIMATE.start_main_~j~0 5)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {1494#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:58:49,731 INFO L280 TraceCheckUtils]: 13: Hoare triple {1494#(<= ULTIMATE.start_main_~j~0 5)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {1495#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:58:49,732 INFO L280 TraceCheckUtils]: 14: Hoare triple {1495#(<= ULTIMATE.start_main_~j~0 6)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {1495#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:58:49,732 INFO L280 TraceCheckUtils]: 15: Hoare triple {1495#(<= ULTIMATE.start_main_~j~0 6)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {1496#(<= ULTIMATE.start_main_~j~0 7)} is VALID [2020-07-28 17:58:49,733 INFO L280 TraceCheckUtils]: 16: Hoare triple {1496#(<= ULTIMATE.start_main_~j~0 7)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {1496#(<= ULTIMATE.start_main_~j~0 7)} is VALID [2020-07-28 17:58:49,734 INFO L280 TraceCheckUtils]: 17: Hoare triple {1496#(<= ULTIMATE.start_main_~j~0 7)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {1497#(<= ULTIMATE.start_main_~j~0 8)} is VALID [2020-07-28 17:58:49,735 INFO L280 TraceCheckUtils]: 18: Hoare triple {1497#(<= ULTIMATE.start_main_~j~0 8)} assume !(main_~j~0 < 20); {1488#false} is VALID [2020-07-28 17:58:49,735 INFO L280 TraceCheckUtils]: 19: Hoare triple {1488#false} assume -2147483648 <= main_#t~nondet4 && main_#t~nondet4 <= 2147483647;main_~i~0 := main_#t~nondet4;havoc main_#t~nondet4; {1488#false} is VALID [2020-07-28 17:58:49,735 INFO L280 TraceCheckUtils]: 20: Hoare triple {1488#false} assume main_~i~0 >= 0 && main_~i~0 < 10;main_~ad2~0.base, main_~ad2~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset;call write~int(main_~i~0, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0, 4);main_~pa~0.base, main_~pa~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0;call main_#t~mem5 := read~int(main_~ad2~0.base, main_~ad2~0.offset + 8 * main_~i~0, 4);main_~i~0 := 10 + main_#t~mem5;havoc main_#t~mem5; {1488#false} is VALID [2020-07-28 17:58:49,735 INFO L280 TraceCheckUtils]: 21: Hoare triple {1488#false} call main_#t~mem6 := read~int(main_~pa~0.base, main_~pa~0.offset, 4); {1488#false} is VALID [2020-07-28 17:58:49,736 INFO L280 TraceCheckUtils]: 22: Hoare triple {1488#false} assume !(main_~i~0 < main_#t~mem6);havoc main_#t~mem6; {1488#false} is VALID [2020-07-28 17:58:49,736 INFO L280 TraceCheckUtils]: 23: Hoare triple {1488#false} check_#in~ad1.base, check_#in~ad1.offset, check_#in~b := main_~#ad1~0.base, main_~#ad1~0.offset, main_~i~0;havoc check_#res;havoc check_#t~mem0, check_~ad1.base, check_~ad1.offset, check_~b;check_~ad1.base, check_~ad1.offset := check_#in~ad1.base, check_#in~ad1.offset;check_~b := check_#in~b;call check_#t~mem0 := read~int(check_~ad1.base, check_~ad1.offset + 8 * check_~b, 4);check_#res := (if check_#t~mem0 == check_~b then 1 else 0);havoc check_#t~mem0; {1488#false} is VALID [2020-07-28 17:58:49,736 INFO L280 TraceCheckUtils]: 24: Hoare triple {1488#false} main_#t~ret8 := check_#res;assume -2147483648 <= main_#t~ret8 && main_#t~ret8 <= 2147483647; {1488#false} is VALID [2020-07-28 17:58:49,737 INFO L280 TraceCheckUtils]: 25: Hoare triple {1488#false} assume 0 == main_#t~ret8;havoc main_#t~ret8; {1488#false} is VALID [2020-07-28 17:58:49,737 INFO L280 TraceCheckUtils]: 26: Hoare triple {1488#false} assume !false; {1488#false} is VALID [2020-07-28 17:58:49,739 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:58:49,740 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [766033738] [2020-07-28 17:58:49,740 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [269148820] [2020-07-28 17:58:49,740 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:58:49,795 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2020-07-28 17:58:49,795 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2020-07-28 17:58:49,796 INFO L263 TraceCheckSpWp]: Trace formula consists of 124 conjuncts, 10 conjunts are in the unsatisfiable core [2020-07-28 17:58:49,808 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:58:49,810 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 17:58:50,039 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:58:50,040 INFO L280 TraceCheckUtils]: 1: Hoare triple {1487#true} havoc main_#res;havoc main_#t~nondet2, main_#t~nondet3, main_#t~post1, main_#t~nondet4, main_#t~mem5, main_#t~pre7, main_#t~mem6, main_#t~ret8, main_~#ad1~0.base, main_~#ad1~0.offset, main_~ad2~0.base, main_~ad2~0.offset, main_~i~0, main_~j~0, main_~pa~0.base, main_~pa~0.offset;call main_~#ad1~0.base, main_~#ad1~0.offset := #Ultimate.allocOnStack(160);havoc main_~ad2~0.base, main_~ad2~0.offset;havoc main_~i~0;havoc main_~j~0;havoc main_~pa~0.base, main_~pa~0.offset;main_~j~0 := 0; {1504#(<= ULTIMATE.start_main_~j~0 0)} is VALID [2020-07-28 17:58:50,041 INFO L280 TraceCheckUtils]: 2: Hoare triple {1504#(<= ULTIMATE.start_main_~j~0 0)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {1504#(<= ULTIMATE.start_main_~j~0 0)} is VALID [2020-07-28 17:58:50,042 INFO L280 TraceCheckUtils]: 3: Hoare triple {1504#(<= ULTIMATE.start_main_~j~0 0)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {1490#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:58:50,042 INFO L280 TraceCheckUtils]: 4: Hoare triple {1490#(<= ULTIMATE.start_main_~j~0 1)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {1490#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:58:50,043 INFO L280 TraceCheckUtils]: 5: Hoare triple {1490#(<= ULTIMATE.start_main_~j~0 1)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {1491#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:58:50,043 INFO L280 TraceCheckUtils]: 6: Hoare triple {1491#(<= ULTIMATE.start_main_~j~0 2)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {1491#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:58:50,044 INFO L280 TraceCheckUtils]: 7: Hoare triple {1491#(<= ULTIMATE.start_main_~j~0 2)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {1492#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:58:50,044 INFO L280 TraceCheckUtils]: 8: Hoare triple {1492#(<= ULTIMATE.start_main_~j~0 3)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {1492#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:58:50,045 INFO L280 TraceCheckUtils]: 9: Hoare triple {1492#(<= ULTIMATE.start_main_~j~0 3)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {1493#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:58:50,045 INFO L280 TraceCheckUtils]: 10: Hoare triple {1493#(<= ULTIMATE.start_main_~j~0 4)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {1493#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:58:50,046 INFO L280 TraceCheckUtils]: 11: Hoare triple {1493#(<= ULTIMATE.start_main_~j~0 4)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {1494#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:58:50,046 INFO L280 TraceCheckUtils]: 12: Hoare triple {1494#(<= ULTIMATE.start_main_~j~0 5)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {1494#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:58:50,047 INFO L280 TraceCheckUtils]: 13: Hoare triple {1494#(<= ULTIMATE.start_main_~j~0 5)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {1495#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:58:50,047 INFO L280 TraceCheckUtils]: 14: Hoare triple {1495#(<= ULTIMATE.start_main_~j~0 6)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {1495#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:58:50,048 INFO L280 TraceCheckUtils]: 15: Hoare triple {1495#(<= ULTIMATE.start_main_~j~0 6)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {1496#(<= ULTIMATE.start_main_~j~0 7)} is VALID [2020-07-28 17:58:50,048 INFO L280 TraceCheckUtils]: 16: Hoare triple {1496#(<= ULTIMATE.start_main_~j~0 7)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {1496#(<= ULTIMATE.start_main_~j~0 7)} is VALID [2020-07-28 17:58:50,049 INFO L280 TraceCheckUtils]: 17: Hoare triple {1496#(<= ULTIMATE.start_main_~j~0 7)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {1497#(<= ULTIMATE.start_main_~j~0 8)} is VALID [2020-07-28 17:58:50,050 INFO L280 TraceCheckUtils]: 18: Hoare triple {1497#(<= ULTIMATE.start_main_~j~0 8)} assume !(main_~j~0 < 20); {1488#false} is VALID [2020-07-28 17:58:50,050 INFO L280 TraceCheckUtils]: 19: Hoare triple {1488#false} assume -2147483648 <= main_#t~nondet4 && main_#t~nondet4 <= 2147483647;main_~i~0 := main_#t~nondet4;havoc main_#t~nondet4; {1488#false} is VALID [2020-07-28 17:58:50,050 INFO L280 TraceCheckUtils]: 20: Hoare triple {1488#false} assume main_~i~0 >= 0 && main_~i~0 < 10;main_~ad2~0.base, main_~ad2~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset;call write~int(main_~i~0, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0, 4);main_~pa~0.base, main_~pa~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0;call main_#t~mem5 := read~int(main_~ad2~0.base, main_~ad2~0.offset + 8 * main_~i~0, 4);main_~i~0 := 10 + main_#t~mem5;havoc main_#t~mem5; {1488#false} is VALID [2020-07-28 17:58:50,050 INFO L280 TraceCheckUtils]: 21: Hoare triple {1488#false} call main_#t~mem6 := read~int(main_~pa~0.base, main_~pa~0.offset, 4); {1488#false} is VALID [2020-07-28 17:58:50,050 INFO L280 TraceCheckUtils]: 22: Hoare triple {1488#false} assume !(main_~i~0 < main_#t~mem6);havoc main_#t~mem6; {1488#false} is VALID [2020-07-28 17:58:50,050 INFO L280 TraceCheckUtils]: 23: Hoare triple {1488#false} check_#in~ad1.base, check_#in~ad1.offset, check_#in~b := main_~#ad1~0.base, main_~#ad1~0.offset, main_~i~0;havoc check_#res;havoc check_#t~mem0, check_~ad1.base, check_~ad1.offset, check_~b;check_~ad1.base, check_~ad1.offset := check_#in~ad1.base, check_#in~ad1.offset;check_~b := check_#in~b;call check_#t~mem0 := read~int(check_~ad1.base, check_~ad1.offset + 8 * check_~b, 4);check_#res := (if check_#t~mem0 == check_~b then 1 else 0);havoc check_#t~mem0; {1488#false} is VALID [2020-07-28 17:58:50,051 INFO L280 TraceCheckUtils]: 24: Hoare triple {1488#false} main_#t~ret8 := check_#res;assume -2147483648 <= main_#t~ret8 && main_#t~ret8 <= 2147483647; {1488#false} is VALID [2020-07-28 17:58:50,051 INFO L280 TraceCheckUtils]: 25: Hoare triple {1488#false} assume 0 == main_#t~ret8;havoc main_#t~ret8; {1488#false} is VALID [2020-07-28 17:58:50,051 INFO L280 TraceCheckUtils]: 26: Hoare triple {1488#false} assume !false; {1488#false} is VALID [2020-07-28 17:58:50,052 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:58:50,052 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-28 17:58:50,052 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 12 [2020-07-28 17:58:50,052 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1866889600] [2020-07-28 17:58:50,053 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 27 [2020-07-28 17:58:50,053 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 17:58:50,053 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2020-07-28 17:58:50,089 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:50,090 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2020-07-28 17:58:50,090 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-28 17:58:50,090 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2020-07-28 17:58:50,091 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=66, Invalid=66, Unknown=0, NotChecked=0, Total=132 [2020-07-28 17:58:50,091 INFO L87 Difference]: Start difference. First operand 28 states and 29 transitions. Second operand 12 states. [2020-07-28 17:58:50,255 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:58:50,256 INFO L93 Difference]: Finished difference Result 40 states and 42 transitions. [2020-07-28 17:58:50,256 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2020-07-28 17:58:50,256 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 27 [2020-07-28 17:58:50,256 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 17:58:50,256 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2020-07-28 17:58:50,257 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 42 transitions. [2020-07-28 17:58:50,257 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2020-07-28 17:58:50,258 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 42 transitions. [2020-07-28 17:58:50,259 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 42 transitions. [2020-07-28 17:58:50,309 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:58:50,310 INFO L225 Difference]: With dead ends: 40 [2020-07-28 17:58:50,310 INFO L226 Difference]: Without dead ends: 31 [2020-07-28 17:58:50,311 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:58:50,312 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 31 states. [2020-07-28 17:58:50,329 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 31 to 30. [2020-07-28 17:58:50,329 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 17:58:50,329 INFO L82 GeneralOperation]: Start isEquivalent. First operand 31 states. Second operand 30 states. [2020-07-28 17:58:50,329 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 30 states. [2020-07-28 17:58:50,329 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 30 states. [2020-07-28 17:58:50,330 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:58:50,330 INFO L93 Difference]: Finished difference Result 31 states and 32 transitions. [2020-07-28 17:58:50,330 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 32 transitions. [2020-07-28 17:58:50,330 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:58:50,330 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:58:50,331 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand 31 states. [2020-07-28 17:58:50,331 INFO L87 Difference]: Start difference. First operand 30 states. Second operand 31 states. [2020-07-28 17:58:50,331 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:58:50,331 INFO L93 Difference]: Finished difference Result 31 states and 32 transitions. [2020-07-28 17:58:50,331 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 32 transitions. [2020-07-28 17:58:50,332 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:58:50,332 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:58:50,332 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 17:58:50,332 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 17:58:50,332 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 30 states. [2020-07-28 17:58:50,332 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 31 transitions. [2020-07-28 17:58:50,333 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 31 transitions. Word has length 27 [2020-07-28 17:58:50,333 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 17:58:50,333 INFO L479 AbstractCegarLoop]: Abstraction has 30 states and 31 transitions. [2020-07-28 17:58:50,333 INFO L480 AbstractCegarLoop]: Interpolant automaton has 12 states. [2020-07-28 17:58:50,333 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 31 transitions. [2020-07-28 17:58:50,333 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2020-07-28 17:58:50,334 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 17:58:50,334 INFO L422 BasicCegarLoop]: trace histogram [9, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 17:58:50,534 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2020-07-28 17:58:50,535 INFO L427 AbstractCegarLoop]: === Iteration 11 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 17:58:50,535 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 17:58:50,535 INFO L82 PathProgramCache]: Analyzing trace with hash -118375677, now seen corresponding path program 9 times [2020-07-28 17:58:50,536 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 17:58:50,538 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1454273292] [2020-07-28 17:58:50,539 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 17:58:50,574 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:58:50,744 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:58:50,745 INFO L280 TraceCheckUtils]: 1: Hoare triple {1740#true} havoc main_#res;havoc main_#t~nondet2, main_#t~nondet3, main_#t~post1, main_#t~nondet4, main_#t~mem5, main_#t~pre7, main_#t~mem6, main_#t~ret8, main_~#ad1~0.base, main_~#ad1~0.offset, main_~ad2~0.base, main_~ad2~0.offset, main_~i~0, main_~j~0, main_~pa~0.base, main_~pa~0.offset;call main_~#ad1~0.base, main_~#ad1~0.offset := #Ultimate.allocOnStack(160);havoc main_~ad2~0.base, main_~ad2~0.offset;havoc main_~i~0;havoc main_~j~0;havoc main_~pa~0.base, main_~pa~0.offset;main_~j~0 := 0; {1742#(= 0 ULTIMATE.start_main_~j~0)} is VALID [2020-07-28 17:58:50,746 INFO L280 TraceCheckUtils]: 2: Hoare triple {1742#(= 0 ULTIMATE.start_main_~j~0)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {1742#(= 0 ULTIMATE.start_main_~j~0)} is VALID [2020-07-28 17:58:50,747 INFO L280 TraceCheckUtils]: 3: Hoare triple {1742#(= 0 ULTIMATE.start_main_~j~0)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {1743#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:58:50,750 INFO L280 TraceCheckUtils]: 4: Hoare triple {1743#(<= ULTIMATE.start_main_~j~0 1)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {1743#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:58:50,751 INFO L280 TraceCheckUtils]: 5: Hoare triple {1743#(<= ULTIMATE.start_main_~j~0 1)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {1744#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:58:50,753 INFO L280 TraceCheckUtils]: 6: Hoare triple {1744#(<= ULTIMATE.start_main_~j~0 2)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {1744#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:58:50,754 INFO L280 TraceCheckUtils]: 7: Hoare triple {1744#(<= ULTIMATE.start_main_~j~0 2)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {1745#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:58:50,754 INFO L280 TraceCheckUtils]: 8: Hoare triple {1745#(<= ULTIMATE.start_main_~j~0 3)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {1745#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:58:50,755 INFO L280 TraceCheckUtils]: 9: Hoare triple {1745#(<= ULTIMATE.start_main_~j~0 3)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {1746#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:58:50,755 INFO L280 TraceCheckUtils]: 10: Hoare triple {1746#(<= ULTIMATE.start_main_~j~0 4)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {1746#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:58:50,756 INFO L280 TraceCheckUtils]: 11: Hoare triple {1746#(<= ULTIMATE.start_main_~j~0 4)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {1747#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:58:50,757 INFO L280 TraceCheckUtils]: 12: Hoare triple {1747#(<= ULTIMATE.start_main_~j~0 5)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {1747#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:58:50,758 INFO L280 TraceCheckUtils]: 13: Hoare triple {1747#(<= ULTIMATE.start_main_~j~0 5)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {1748#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:58:50,759 INFO L280 TraceCheckUtils]: 14: Hoare triple {1748#(<= ULTIMATE.start_main_~j~0 6)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {1748#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:58:50,761 INFO L280 TraceCheckUtils]: 15: Hoare triple {1748#(<= ULTIMATE.start_main_~j~0 6)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {1749#(<= ULTIMATE.start_main_~j~0 7)} is VALID [2020-07-28 17:58:50,761 INFO L280 TraceCheckUtils]: 16: Hoare triple {1749#(<= ULTIMATE.start_main_~j~0 7)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {1749#(<= ULTIMATE.start_main_~j~0 7)} is VALID [2020-07-28 17:58:50,762 INFO L280 TraceCheckUtils]: 17: Hoare triple {1749#(<= ULTIMATE.start_main_~j~0 7)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {1750#(<= ULTIMATE.start_main_~j~0 8)} is VALID [2020-07-28 17:58:50,762 INFO L280 TraceCheckUtils]: 18: Hoare triple {1750#(<= ULTIMATE.start_main_~j~0 8)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {1750#(<= ULTIMATE.start_main_~j~0 8)} is VALID [2020-07-28 17:58:50,763 INFO L280 TraceCheckUtils]: 19: Hoare triple {1750#(<= ULTIMATE.start_main_~j~0 8)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {1751#(<= ULTIMATE.start_main_~j~0 9)} is VALID [2020-07-28 17:58:50,764 INFO L280 TraceCheckUtils]: 20: Hoare triple {1751#(<= ULTIMATE.start_main_~j~0 9)} assume !(main_~j~0 < 20); {1741#false} is VALID [2020-07-28 17:58:50,764 INFO L280 TraceCheckUtils]: 21: Hoare triple {1741#false} assume -2147483648 <= main_#t~nondet4 && main_#t~nondet4 <= 2147483647;main_~i~0 := main_#t~nondet4;havoc main_#t~nondet4; {1741#false} is VALID [2020-07-28 17:58:50,764 INFO L280 TraceCheckUtils]: 22: Hoare triple {1741#false} assume main_~i~0 >= 0 && main_~i~0 < 10;main_~ad2~0.base, main_~ad2~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset;call write~int(main_~i~0, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0, 4);main_~pa~0.base, main_~pa~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0;call main_#t~mem5 := read~int(main_~ad2~0.base, main_~ad2~0.offset + 8 * main_~i~0, 4);main_~i~0 := 10 + main_#t~mem5;havoc main_#t~mem5; {1741#false} is VALID [2020-07-28 17:58:50,764 INFO L280 TraceCheckUtils]: 23: Hoare triple {1741#false} call main_#t~mem6 := read~int(main_~pa~0.base, main_~pa~0.offset, 4); {1741#false} is VALID [2020-07-28 17:58:50,765 INFO L280 TraceCheckUtils]: 24: Hoare triple {1741#false} assume !(main_~i~0 < main_#t~mem6);havoc main_#t~mem6; {1741#false} is VALID [2020-07-28 17:58:50,765 INFO L280 TraceCheckUtils]: 25: Hoare triple {1741#false} check_#in~ad1.base, check_#in~ad1.offset, check_#in~b := main_~#ad1~0.base, main_~#ad1~0.offset, main_~i~0;havoc check_#res;havoc check_#t~mem0, check_~ad1.base, check_~ad1.offset, check_~b;check_~ad1.base, check_~ad1.offset := check_#in~ad1.base, check_#in~ad1.offset;check_~b := check_#in~b;call check_#t~mem0 := read~int(check_~ad1.base, check_~ad1.offset + 8 * check_~b, 4);check_#res := (if check_#t~mem0 == check_~b then 1 else 0);havoc check_#t~mem0; {1741#false} is VALID [2020-07-28 17:58:50,765 INFO L280 TraceCheckUtils]: 26: Hoare triple {1741#false} main_#t~ret8 := check_#res;assume -2147483648 <= main_#t~ret8 && main_#t~ret8 <= 2147483647; {1741#false} is VALID [2020-07-28 17:58:50,765 INFO L280 TraceCheckUtils]: 27: Hoare triple {1741#false} assume 0 == main_#t~ret8;havoc main_#t~ret8; {1741#false} is VALID [2020-07-28 17:58:50,766 INFO L280 TraceCheckUtils]: 28: Hoare triple {1741#false} assume !false; {1741#false} is VALID [2020-07-28 17:58:50,767 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:58:50,767 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1454273292] [2020-07-28 17:58:50,768 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [249503575] [2020-07-28 17:58:50,768 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:58:50,907 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 10 check-sat command(s) [2020-07-28 17:58:50,908 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2020-07-28 17:58:50,909 INFO L263 TraceCheckSpWp]: Trace formula consists of 132 conjuncts, 11 conjunts are in the unsatisfiable core [2020-07-28 17:58:50,922 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:58:50,923 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 17:58:51,196 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:58:51,197 INFO L280 TraceCheckUtils]: 1: Hoare triple {1740#true} havoc main_#res;havoc main_#t~nondet2, main_#t~nondet3, main_#t~post1, main_#t~nondet4, main_#t~mem5, main_#t~pre7, main_#t~mem6, main_#t~ret8, main_~#ad1~0.base, main_~#ad1~0.offset, main_~ad2~0.base, main_~ad2~0.offset, main_~i~0, main_~j~0, main_~pa~0.base, main_~pa~0.offset;call main_~#ad1~0.base, main_~#ad1~0.offset := #Ultimate.allocOnStack(160);havoc main_~ad2~0.base, main_~ad2~0.offset;havoc main_~i~0;havoc main_~j~0;havoc main_~pa~0.base, main_~pa~0.offset;main_~j~0 := 0; {1758#(<= ULTIMATE.start_main_~j~0 0)} is VALID [2020-07-28 17:58:51,197 INFO L280 TraceCheckUtils]: 2: Hoare triple {1758#(<= ULTIMATE.start_main_~j~0 0)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {1758#(<= ULTIMATE.start_main_~j~0 0)} is VALID [2020-07-28 17:58:51,198 INFO L280 TraceCheckUtils]: 3: Hoare triple {1758#(<= ULTIMATE.start_main_~j~0 0)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {1743#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:58:51,199 INFO L280 TraceCheckUtils]: 4: Hoare triple {1743#(<= ULTIMATE.start_main_~j~0 1)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {1743#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:58:51,199 INFO L280 TraceCheckUtils]: 5: Hoare triple {1743#(<= ULTIMATE.start_main_~j~0 1)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {1744#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:58:51,201 INFO L280 TraceCheckUtils]: 6: Hoare triple {1744#(<= ULTIMATE.start_main_~j~0 2)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {1744#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:58:51,202 INFO L280 TraceCheckUtils]: 7: Hoare triple {1744#(<= ULTIMATE.start_main_~j~0 2)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {1745#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:58:51,202 INFO L280 TraceCheckUtils]: 8: Hoare triple {1745#(<= ULTIMATE.start_main_~j~0 3)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {1745#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:58:51,203 INFO L280 TraceCheckUtils]: 9: Hoare triple {1745#(<= ULTIMATE.start_main_~j~0 3)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {1746#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:58:51,203 INFO L280 TraceCheckUtils]: 10: Hoare triple {1746#(<= ULTIMATE.start_main_~j~0 4)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {1746#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:58:51,204 INFO L280 TraceCheckUtils]: 11: Hoare triple {1746#(<= ULTIMATE.start_main_~j~0 4)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {1747#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:58:51,208 INFO L280 TraceCheckUtils]: 12: Hoare triple {1747#(<= ULTIMATE.start_main_~j~0 5)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {1747#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:58:51,215 INFO L280 TraceCheckUtils]: 13: Hoare triple {1747#(<= ULTIMATE.start_main_~j~0 5)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {1748#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:58:51,219 INFO L280 TraceCheckUtils]: 14: Hoare triple {1748#(<= ULTIMATE.start_main_~j~0 6)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {1748#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:58:51,220 INFO L280 TraceCheckUtils]: 15: Hoare triple {1748#(<= ULTIMATE.start_main_~j~0 6)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {1749#(<= ULTIMATE.start_main_~j~0 7)} is VALID [2020-07-28 17:58:51,221 INFO L280 TraceCheckUtils]: 16: Hoare triple {1749#(<= ULTIMATE.start_main_~j~0 7)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {1749#(<= ULTIMATE.start_main_~j~0 7)} is VALID [2020-07-28 17:58:51,222 INFO L280 TraceCheckUtils]: 17: Hoare triple {1749#(<= ULTIMATE.start_main_~j~0 7)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {1750#(<= ULTIMATE.start_main_~j~0 8)} is VALID [2020-07-28 17:58:51,222 INFO L280 TraceCheckUtils]: 18: Hoare triple {1750#(<= ULTIMATE.start_main_~j~0 8)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {1750#(<= ULTIMATE.start_main_~j~0 8)} is VALID [2020-07-28 17:58:51,223 INFO L280 TraceCheckUtils]: 19: Hoare triple {1750#(<= ULTIMATE.start_main_~j~0 8)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {1751#(<= ULTIMATE.start_main_~j~0 9)} is VALID [2020-07-28 17:58:51,224 INFO L280 TraceCheckUtils]: 20: Hoare triple {1751#(<= ULTIMATE.start_main_~j~0 9)} assume !(main_~j~0 < 20); {1741#false} is VALID [2020-07-28 17:58:51,225 INFO L280 TraceCheckUtils]: 21: Hoare triple {1741#false} assume -2147483648 <= main_#t~nondet4 && main_#t~nondet4 <= 2147483647;main_~i~0 := main_#t~nondet4;havoc main_#t~nondet4; {1741#false} is VALID [2020-07-28 17:58:51,225 INFO L280 TraceCheckUtils]: 22: Hoare triple {1741#false} assume main_~i~0 >= 0 && main_~i~0 < 10;main_~ad2~0.base, main_~ad2~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset;call write~int(main_~i~0, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0, 4);main_~pa~0.base, main_~pa~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0;call main_#t~mem5 := read~int(main_~ad2~0.base, main_~ad2~0.offset + 8 * main_~i~0, 4);main_~i~0 := 10 + main_#t~mem5;havoc main_#t~mem5; {1741#false} is VALID [2020-07-28 17:58:51,225 INFO L280 TraceCheckUtils]: 23: Hoare triple {1741#false} call main_#t~mem6 := read~int(main_~pa~0.base, main_~pa~0.offset, 4); {1741#false} is VALID [2020-07-28 17:58:51,225 INFO L280 TraceCheckUtils]: 24: Hoare triple {1741#false} assume !(main_~i~0 < main_#t~mem6);havoc main_#t~mem6; {1741#false} is VALID [2020-07-28 17:58:51,225 INFO L280 TraceCheckUtils]: 25: Hoare triple {1741#false} check_#in~ad1.base, check_#in~ad1.offset, check_#in~b := main_~#ad1~0.base, main_~#ad1~0.offset, main_~i~0;havoc check_#res;havoc check_#t~mem0, check_~ad1.base, check_~ad1.offset, check_~b;check_~ad1.base, check_~ad1.offset := check_#in~ad1.base, check_#in~ad1.offset;check_~b := check_#in~b;call check_#t~mem0 := read~int(check_~ad1.base, check_~ad1.offset + 8 * check_~b, 4);check_#res := (if check_#t~mem0 == check_~b then 1 else 0);havoc check_#t~mem0; {1741#false} is VALID [2020-07-28 17:58:51,225 INFO L280 TraceCheckUtils]: 26: Hoare triple {1741#false} main_#t~ret8 := check_#res;assume -2147483648 <= main_#t~ret8 && main_#t~ret8 <= 2147483647; {1741#false} is VALID [2020-07-28 17:58:51,226 INFO L280 TraceCheckUtils]: 27: Hoare triple {1741#false} assume 0 == main_#t~ret8;havoc main_#t~ret8; {1741#false} is VALID [2020-07-28 17:58:51,226 INFO L280 TraceCheckUtils]: 28: Hoare triple {1741#false} assume !false; {1741#false} is VALID [2020-07-28 17:58:51,227 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:58:51,228 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-28 17:58:51,228 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12] total 13 [2020-07-28 17:58:51,228 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1978937070] [2020-07-28 17:58:51,230 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 29 [2020-07-28 17:58:51,230 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 17:58:51,230 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states. [2020-07-28 17:58:51,272 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:58:51,272 INFO L459 AbstractCegarLoop]: Interpolant automaton has 13 states [2020-07-28 17:58:51,272 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-28 17:58:51,273 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2020-07-28 17:58:51,273 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=78, Invalid=78, Unknown=0, NotChecked=0, Total=156 [2020-07-28 17:58:51,273 INFO L87 Difference]: Start difference. First operand 30 states and 31 transitions. Second operand 13 states. [2020-07-28 17:58:51,440 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:58:51,440 INFO L93 Difference]: Finished difference Result 42 states and 44 transitions. [2020-07-28 17:58:51,440 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2020-07-28 17:58:51,440 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 29 [2020-07-28 17:58:51,440 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 17:58:51,440 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2020-07-28 17:58:51,441 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 44 transitions. [2020-07-28 17:58:51,441 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2020-07-28 17:58:51,442 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 44 transitions. [2020-07-28 17:58:51,442 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 44 transitions. [2020-07-28 17:58:51,496 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 17:58:51,498 INFO L225 Difference]: With dead ends: 42 [2020-07-28 17:58:51,498 INFO L226 Difference]: Without dead ends: 33 [2020-07-28 17:58:51,499 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:58:51,499 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states. [2020-07-28 17:58:51,516 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 32. [2020-07-28 17:58:51,516 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 17:58:51,517 INFO L82 GeneralOperation]: Start isEquivalent. First operand 33 states. Second operand 32 states. [2020-07-28 17:58:51,517 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand 32 states. [2020-07-28 17:58:51,517 INFO L87 Difference]: Start difference. First operand 33 states. Second operand 32 states. [2020-07-28 17:58:51,518 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:58:51,518 INFO L93 Difference]: Finished difference Result 33 states and 34 transitions. [2020-07-28 17:58:51,519 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 34 transitions. [2020-07-28 17:58:51,519 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:58:51,519 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:58:51,519 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand 33 states. [2020-07-28 17:58:51,520 INFO L87 Difference]: Start difference. First operand 32 states. Second operand 33 states. [2020-07-28 17:58:51,520 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:58:51,521 INFO L93 Difference]: Finished difference Result 33 states and 34 transitions. [2020-07-28 17:58:51,521 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 34 transitions. [2020-07-28 17:58:51,521 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:58:51,521 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:58:51,521 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 17:58:51,521 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 17:58:51,521 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 32 states. [2020-07-28 17:58:51,522 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 33 transitions. [2020-07-28 17:58:51,523 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 33 transitions. Word has length 29 [2020-07-28 17:58:51,523 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 17:58:51,523 INFO L479 AbstractCegarLoop]: Abstraction has 32 states and 33 transitions. [2020-07-28 17:58:51,524 INFO L480 AbstractCegarLoop]: Interpolant automaton has 13 states. [2020-07-28 17:58:51,524 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 33 transitions. [2020-07-28 17:58:51,524 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2020-07-28 17:58:51,524 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 17:58:51,525 INFO L422 BasicCegarLoop]: trace histogram [10, 10, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 17:58:51,732 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10,10 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-28 17:58:51,733 INFO L427 AbstractCegarLoop]: === Iteration 12 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 17:58:51,733 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 17:58:51,733 INFO L82 PathProgramCache]: Analyzing trace with hash -2028479167, now seen corresponding path program 10 times [2020-07-28 17:58:51,734 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 17:58:51,734 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2105731108] [2020-07-28 17:58:51,734 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 17:58:51,752 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:58:51,901 INFO L280 TraceCheckUtils]: 0: Hoare triple {2010#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {2010#true} is VALID [2020-07-28 17:58:51,902 INFO L280 TraceCheckUtils]: 1: Hoare triple {2010#true} havoc main_#res;havoc main_#t~nondet2, main_#t~nondet3, main_#t~post1, main_#t~nondet4, main_#t~mem5, main_#t~pre7, main_#t~mem6, main_#t~ret8, main_~#ad1~0.base, main_~#ad1~0.offset, main_~ad2~0.base, main_~ad2~0.offset, main_~i~0, main_~j~0, main_~pa~0.base, main_~pa~0.offset;call main_~#ad1~0.base, main_~#ad1~0.offset := #Ultimate.allocOnStack(160);havoc main_~ad2~0.base, main_~ad2~0.offset;havoc main_~i~0;havoc main_~j~0;havoc main_~pa~0.base, main_~pa~0.offset;main_~j~0 := 0; {2012#(= 0 ULTIMATE.start_main_~j~0)} is VALID [2020-07-28 17:58:51,903 INFO L280 TraceCheckUtils]: 2: Hoare triple {2012#(= 0 ULTIMATE.start_main_~j~0)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2012#(= 0 ULTIMATE.start_main_~j~0)} is VALID [2020-07-28 17:58:51,903 INFO L280 TraceCheckUtils]: 3: Hoare triple {2012#(= 0 ULTIMATE.start_main_~j~0)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2013#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:58:51,904 INFO L280 TraceCheckUtils]: 4: Hoare triple {2013#(<= ULTIMATE.start_main_~j~0 1)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2013#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:58:51,905 INFO L280 TraceCheckUtils]: 5: Hoare triple {2013#(<= ULTIMATE.start_main_~j~0 1)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2014#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:58:51,905 INFO L280 TraceCheckUtils]: 6: Hoare triple {2014#(<= ULTIMATE.start_main_~j~0 2)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2014#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:58:51,906 INFO L280 TraceCheckUtils]: 7: Hoare triple {2014#(<= ULTIMATE.start_main_~j~0 2)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2015#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:58:51,907 INFO L280 TraceCheckUtils]: 8: Hoare triple {2015#(<= ULTIMATE.start_main_~j~0 3)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2015#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:58:51,908 INFO L280 TraceCheckUtils]: 9: Hoare triple {2015#(<= ULTIMATE.start_main_~j~0 3)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2016#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:58:51,908 INFO L280 TraceCheckUtils]: 10: Hoare triple {2016#(<= ULTIMATE.start_main_~j~0 4)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2016#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:58:51,909 INFO L280 TraceCheckUtils]: 11: Hoare triple {2016#(<= ULTIMATE.start_main_~j~0 4)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2017#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:58:51,910 INFO L280 TraceCheckUtils]: 12: Hoare triple {2017#(<= ULTIMATE.start_main_~j~0 5)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2017#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:58:51,911 INFO L280 TraceCheckUtils]: 13: Hoare triple {2017#(<= ULTIMATE.start_main_~j~0 5)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2018#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:58:51,911 INFO L280 TraceCheckUtils]: 14: Hoare triple {2018#(<= ULTIMATE.start_main_~j~0 6)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2018#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:58:51,912 INFO L280 TraceCheckUtils]: 15: Hoare triple {2018#(<= ULTIMATE.start_main_~j~0 6)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2019#(<= ULTIMATE.start_main_~j~0 7)} is VALID [2020-07-28 17:58:51,913 INFO L280 TraceCheckUtils]: 16: Hoare triple {2019#(<= ULTIMATE.start_main_~j~0 7)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2019#(<= ULTIMATE.start_main_~j~0 7)} is VALID [2020-07-28 17:58:51,914 INFO L280 TraceCheckUtils]: 17: Hoare triple {2019#(<= ULTIMATE.start_main_~j~0 7)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2020#(<= ULTIMATE.start_main_~j~0 8)} is VALID [2020-07-28 17:58:51,915 INFO L280 TraceCheckUtils]: 18: Hoare triple {2020#(<= ULTIMATE.start_main_~j~0 8)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2020#(<= ULTIMATE.start_main_~j~0 8)} is VALID [2020-07-28 17:58:51,916 INFO L280 TraceCheckUtils]: 19: Hoare triple {2020#(<= ULTIMATE.start_main_~j~0 8)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2021#(<= ULTIMATE.start_main_~j~0 9)} is VALID [2020-07-28 17:58:51,916 INFO L280 TraceCheckUtils]: 20: Hoare triple {2021#(<= ULTIMATE.start_main_~j~0 9)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2021#(<= ULTIMATE.start_main_~j~0 9)} is VALID [2020-07-28 17:58:51,917 INFO L280 TraceCheckUtils]: 21: Hoare triple {2021#(<= ULTIMATE.start_main_~j~0 9)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2022#(<= ULTIMATE.start_main_~j~0 10)} is VALID [2020-07-28 17:58:51,918 INFO L280 TraceCheckUtils]: 22: Hoare triple {2022#(<= ULTIMATE.start_main_~j~0 10)} assume !(main_~j~0 < 20); {2011#false} is VALID [2020-07-28 17:58:51,919 INFO L280 TraceCheckUtils]: 23: Hoare triple {2011#false} assume -2147483648 <= main_#t~nondet4 && main_#t~nondet4 <= 2147483647;main_~i~0 := main_#t~nondet4;havoc main_#t~nondet4; {2011#false} is VALID [2020-07-28 17:58:51,919 INFO L280 TraceCheckUtils]: 24: Hoare triple {2011#false} assume main_~i~0 >= 0 && main_~i~0 < 10;main_~ad2~0.base, main_~ad2~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset;call write~int(main_~i~0, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0, 4);main_~pa~0.base, main_~pa~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0;call main_#t~mem5 := read~int(main_~ad2~0.base, main_~ad2~0.offset + 8 * main_~i~0, 4);main_~i~0 := 10 + main_#t~mem5;havoc main_#t~mem5; {2011#false} is VALID [2020-07-28 17:58:51,919 INFO L280 TraceCheckUtils]: 25: Hoare triple {2011#false} call main_#t~mem6 := read~int(main_~pa~0.base, main_~pa~0.offset, 4); {2011#false} is VALID [2020-07-28 17:58:51,919 INFO L280 TraceCheckUtils]: 26: Hoare triple {2011#false} assume !(main_~i~0 < main_#t~mem6);havoc main_#t~mem6; {2011#false} is VALID [2020-07-28 17:58:51,920 INFO L280 TraceCheckUtils]: 27: Hoare triple {2011#false} check_#in~ad1.base, check_#in~ad1.offset, check_#in~b := main_~#ad1~0.base, main_~#ad1~0.offset, main_~i~0;havoc check_#res;havoc check_#t~mem0, check_~ad1.base, check_~ad1.offset, check_~b;check_~ad1.base, check_~ad1.offset := check_#in~ad1.base, check_#in~ad1.offset;check_~b := check_#in~b;call check_#t~mem0 := read~int(check_~ad1.base, check_~ad1.offset + 8 * check_~b, 4);check_#res := (if check_#t~mem0 == check_~b then 1 else 0);havoc check_#t~mem0; {2011#false} is VALID [2020-07-28 17:58:51,920 INFO L280 TraceCheckUtils]: 28: Hoare triple {2011#false} main_#t~ret8 := check_#res;assume -2147483648 <= main_#t~ret8 && main_#t~ret8 <= 2147483647; {2011#false} is VALID [2020-07-28 17:58:51,920 INFO L280 TraceCheckUtils]: 29: Hoare triple {2011#false} assume 0 == main_#t~ret8;havoc main_#t~ret8; {2011#false} is VALID [2020-07-28 17:58:51,920 INFO L280 TraceCheckUtils]: 30: Hoare triple {2011#false} assume !false; {2011#false} is VALID [2020-07-28 17:58:51,921 INFO L134 CoverageAnalysis]: Checked inductivity of 100 backedges. 0 proven. 100 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 17:58:51,922 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2105731108] [2020-07-28 17:58:51,922 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1147712506] [2020-07-28 17:58:51,922 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 11 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 11 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-28 17:58:51,972 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2020-07-28 17:58:51,973 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2020-07-28 17:58:51,974 INFO L263 TraceCheckSpWp]: Trace formula consists of 140 conjuncts, 12 conjunts are in the unsatisfiable core [2020-07-28 17:58:51,987 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:58:51,988 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 17:58:52,303 INFO L280 TraceCheckUtils]: 0: Hoare triple {2010#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {2010#true} is VALID [2020-07-28 17:58:52,304 INFO L280 TraceCheckUtils]: 1: Hoare triple {2010#true} havoc main_#res;havoc main_#t~nondet2, main_#t~nondet3, main_#t~post1, main_#t~nondet4, main_#t~mem5, main_#t~pre7, main_#t~mem6, main_#t~ret8, main_~#ad1~0.base, main_~#ad1~0.offset, main_~ad2~0.base, main_~ad2~0.offset, main_~i~0, main_~j~0, main_~pa~0.base, main_~pa~0.offset;call main_~#ad1~0.base, main_~#ad1~0.offset := #Ultimate.allocOnStack(160);havoc main_~ad2~0.base, main_~ad2~0.offset;havoc main_~i~0;havoc main_~j~0;havoc main_~pa~0.base, main_~pa~0.offset;main_~j~0 := 0; {2029#(<= ULTIMATE.start_main_~j~0 0)} is VALID [2020-07-28 17:58:52,305 INFO L280 TraceCheckUtils]: 2: Hoare triple {2029#(<= ULTIMATE.start_main_~j~0 0)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2029#(<= ULTIMATE.start_main_~j~0 0)} is VALID [2020-07-28 17:58:52,306 INFO L280 TraceCheckUtils]: 3: Hoare triple {2029#(<= ULTIMATE.start_main_~j~0 0)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2013#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:58:52,307 INFO L280 TraceCheckUtils]: 4: Hoare triple {2013#(<= ULTIMATE.start_main_~j~0 1)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2013#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:58:52,307 INFO L280 TraceCheckUtils]: 5: Hoare triple {2013#(<= ULTIMATE.start_main_~j~0 1)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2014#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:58:52,308 INFO L280 TraceCheckUtils]: 6: Hoare triple {2014#(<= ULTIMATE.start_main_~j~0 2)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2014#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:58:52,309 INFO L280 TraceCheckUtils]: 7: Hoare triple {2014#(<= ULTIMATE.start_main_~j~0 2)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2015#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:58:52,310 INFO L280 TraceCheckUtils]: 8: Hoare triple {2015#(<= ULTIMATE.start_main_~j~0 3)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2015#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:58:52,310 INFO L280 TraceCheckUtils]: 9: Hoare triple {2015#(<= ULTIMATE.start_main_~j~0 3)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2016#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:58:52,311 INFO L280 TraceCheckUtils]: 10: Hoare triple {2016#(<= ULTIMATE.start_main_~j~0 4)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2016#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:58:52,312 INFO L280 TraceCheckUtils]: 11: Hoare triple {2016#(<= ULTIMATE.start_main_~j~0 4)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2017#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:58:52,313 INFO L280 TraceCheckUtils]: 12: Hoare triple {2017#(<= ULTIMATE.start_main_~j~0 5)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2017#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:58:52,314 INFO L280 TraceCheckUtils]: 13: Hoare triple {2017#(<= ULTIMATE.start_main_~j~0 5)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2018#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:58:52,314 INFO L280 TraceCheckUtils]: 14: Hoare triple {2018#(<= ULTIMATE.start_main_~j~0 6)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2018#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:58:52,315 INFO L280 TraceCheckUtils]: 15: Hoare triple {2018#(<= ULTIMATE.start_main_~j~0 6)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2019#(<= ULTIMATE.start_main_~j~0 7)} is VALID [2020-07-28 17:58:52,316 INFO L280 TraceCheckUtils]: 16: Hoare triple {2019#(<= ULTIMATE.start_main_~j~0 7)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2019#(<= ULTIMATE.start_main_~j~0 7)} is VALID [2020-07-28 17:58:52,316 INFO L280 TraceCheckUtils]: 17: Hoare triple {2019#(<= ULTIMATE.start_main_~j~0 7)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2020#(<= ULTIMATE.start_main_~j~0 8)} is VALID [2020-07-28 17:58:52,317 INFO L280 TraceCheckUtils]: 18: Hoare triple {2020#(<= ULTIMATE.start_main_~j~0 8)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2020#(<= ULTIMATE.start_main_~j~0 8)} is VALID [2020-07-28 17:58:52,318 INFO L280 TraceCheckUtils]: 19: Hoare triple {2020#(<= ULTIMATE.start_main_~j~0 8)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2021#(<= ULTIMATE.start_main_~j~0 9)} is VALID [2020-07-28 17:58:52,318 INFO L280 TraceCheckUtils]: 20: Hoare triple {2021#(<= ULTIMATE.start_main_~j~0 9)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2021#(<= ULTIMATE.start_main_~j~0 9)} is VALID [2020-07-28 17:58:52,319 INFO L280 TraceCheckUtils]: 21: Hoare triple {2021#(<= ULTIMATE.start_main_~j~0 9)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2022#(<= ULTIMATE.start_main_~j~0 10)} is VALID [2020-07-28 17:58:52,320 INFO L280 TraceCheckUtils]: 22: Hoare triple {2022#(<= ULTIMATE.start_main_~j~0 10)} assume !(main_~j~0 < 20); {2011#false} is VALID [2020-07-28 17:58:52,320 INFO L280 TraceCheckUtils]: 23: Hoare triple {2011#false} assume -2147483648 <= main_#t~nondet4 && main_#t~nondet4 <= 2147483647;main_~i~0 := main_#t~nondet4;havoc main_#t~nondet4; {2011#false} is VALID [2020-07-28 17:58:52,320 INFO L280 TraceCheckUtils]: 24: Hoare triple {2011#false} assume main_~i~0 >= 0 && main_~i~0 < 10;main_~ad2~0.base, main_~ad2~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset;call write~int(main_~i~0, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0, 4);main_~pa~0.base, main_~pa~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0;call main_#t~mem5 := read~int(main_~ad2~0.base, main_~ad2~0.offset + 8 * main_~i~0, 4);main_~i~0 := 10 + main_#t~mem5;havoc main_#t~mem5; {2011#false} is VALID [2020-07-28 17:58:52,321 INFO L280 TraceCheckUtils]: 25: Hoare triple {2011#false} call main_#t~mem6 := read~int(main_~pa~0.base, main_~pa~0.offset, 4); {2011#false} is VALID [2020-07-28 17:58:52,321 INFO L280 TraceCheckUtils]: 26: Hoare triple {2011#false} assume !(main_~i~0 < main_#t~mem6);havoc main_#t~mem6; {2011#false} is VALID [2020-07-28 17:58:52,321 INFO L280 TraceCheckUtils]: 27: Hoare triple {2011#false} check_#in~ad1.base, check_#in~ad1.offset, check_#in~b := main_~#ad1~0.base, main_~#ad1~0.offset, main_~i~0;havoc check_#res;havoc check_#t~mem0, check_~ad1.base, check_~ad1.offset, check_~b;check_~ad1.base, check_~ad1.offset := check_#in~ad1.base, check_#in~ad1.offset;check_~b := check_#in~b;call check_#t~mem0 := read~int(check_~ad1.base, check_~ad1.offset + 8 * check_~b, 4);check_#res := (if check_#t~mem0 == check_~b then 1 else 0);havoc check_#t~mem0; {2011#false} is VALID [2020-07-28 17:58:52,321 INFO L280 TraceCheckUtils]: 28: Hoare triple {2011#false} main_#t~ret8 := check_#res;assume -2147483648 <= main_#t~ret8 && main_#t~ret8 <= 2147483647; {2011#false} is VALID [2020-07-28 17:58:52,321 INFO L280 TraceCheckUtils]: 29: Hoare triple {2011#false} assume 0 == main_#t~ret8;havoc main_#t~ret8; {2011#false} is VALID [2020-07-28 17:58:52,321 INFO L280 TraceCheckUtils]: 30: Hoare triple {2011#false} assume !false; {2011#false} is VALID [2020-07-28 17:58:52,323 INFO L134 CoverageAnalysis]: Checked inductivity of 100 backedges. 0 proven. 100 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 17:58:52,323 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-28 17:58:52,323 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13] total 14 [2020-07-28 17:58:52,324 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1230806668] [2020-07-28 17:58:52,324 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 31 [2020-07-28 17:58:52,324 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 17:58:52,325 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states. [2020-07-28 17:58:52,364 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:58:52,365 INFO L459 AbstractCegarLoop]: Interpolant automaton has 14 states [2020-07-28 17:58:52,365 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-28 17:58:52,365 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2020-07-28 17:58:52,366 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=91, Invalid=91, Unknown=0, NotChecked=0, Total=182 [2020-07-28 17:58:52,366 INFO L87 Difference]: Start difference. First operand 32 states and 33 transitions. Second operand 14 states. [2020-07-28 17:58:52,518 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:58:52,518 INFO L93 Difference]: Finished difference Result 44 states and 46 transitions. [2020-07-28 17:58:52,518 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2020-07-28 17:58:52,519 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 31 [2020-07-28 17:58:52,519 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 17:58:52,519 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2020-07-28 17:58:52,520 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 46 transitions. [2020-07-28 17:58:52,520 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2020-07-28 17:58:52,521 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 46 transitions. [2020-07-28 17:58:52,521 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 46 transitions. [2020-07-28 17:58:52,585 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 17:58:52,587 INFO L225 Difference]: With dead ends: 44 [2020-07-28 17:58:52,587 INFO L226 Difference]: Without dead ends: 35 [2020-07-28 17:58:52,589 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 43 GetRequests, 31 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 18 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=91, Invalid=91, Unknown=0, NotChecked=0, Total=182 [2020-07-28 17:58:52,590 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2020-07-28 17:58:52,609 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 34. [2020-07-28 17:58:52,609 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 17:58:52,610 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand 34 states. [2020-07-28 17:58:52,610 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand 34 states. [2020-07-28 17:58:52,610 INFO L87 Difference]: Start difference. First operand 35 states. Second operand 34 states. [2020-07-28 17:58:52,611 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:58:52,612 INFO L93 Difference]: Finished difference Result 35 states and 36 transitions. [2020-07-28 17:58:52,612 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 36 transitions. [2020-07-28 17:58:52,612 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:58:52,613 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:58:52,613 INFO L74 IsIncluded]: Start isIncluded. First operand 34 states. Second operand 35 states. [2020-07-28 17:58:52,613 INFO L87 Difference]: Start difference. First operand 34 states. Second operand 35 states. [2020-07-28 17:58:52,614 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:58:52,615 INFO L93 Difference]: Finished difference Result 35 states and 36 transitions. [2020-07-28 17:58:52,615 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 36 transitions. [2020-07-28 17:58:52,615 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:58:52,615 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:58:52,616 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 17:58:52,616 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 17:58:52,616 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 34 states. [2020-07-28 17:58:52,617 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 35 transitions. [2020-07-28 17:58:52,617 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 35 transitions. Word has length 31 [2020-07-28 17:58:52,618 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 17:58:52,618 INFO L479 AbstractCegarLoop]: Abstraction has 34 states and 35 transitions. [2020-07-28 17:58:52,618 INFO L480 AbstractCegarLoop]: Interpolant automaton has 14 states. [2020-07-28 17:58:52,618 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 35 transitions. [2020-07-28 17:58:52,619 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2020-07-28 17:58:52,619 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 17:58:52,619 INFO L422 BasicCegarLoop]: trace histogram [11, 11, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 17:58:52,829 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable11,11 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-28 17:58:52,830 INFO L427 AbstractCegarLoop]: === Iteration 13 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 17:58:52,830 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 17:58:52,830 INFO L82 PathProgramCache]: Analyzing trace with hash 608069631, now seen corresponding path program 11 times [2020-07-28 17:58:52,831 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 17:58:52,831 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1467224830] [2020-07-28 17:58:52,831 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 17:58:52,855 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:58:53,028 INFO L280 TraceCheckUtils]: 0: Hoare triple {2297#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {2297#true} is VALID [2020-07-28 17:58:53,030 INFO L280 TraceCheckUtils]: 1: Hoare triple {2297#true} havoc main_#res;havoc main_#t~nondet2, main_#t~nondet3, main_#t~post1, main_#t~nondet4, main_#t~mem5, main_#t~pre7, main_#t~mem6, main_#t~ret8, main_~#ad1~0.base, main_~#ad1~0.offset, main_~ad2~0.base, main_~ad2~0.offset, main_~i~0, main_~j~0, main_~pa~0.base, main_~pa~0.offset;call main_~#ad1~0.base, main_~#ad1~0.offset := #Ultimate.allocOnStack(160);havoc main_~ad2~0.base, main_~ad2~0.offset;havoc main_~i~0;havoc main_~j~0;havoc main_~pa~0.base, main_~pa~0.offset;main_~j~0 := 0; {2299#(= 0 ULTIMATE.start_main_~j~0)} is VALID [2020-07-28 17:58:53,031 INFO L280 TraceCheckUtils]: 2: Hoare triple {2299#(= 0 ULTIMATE.start_main_~j~0)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2299#(= 0 ULTIMATE.start_main_~j~0)} is VALID [2020-07-28 17:58:53,032 INFO L280 TraceCheckUtils]: 3: Hoare triple {2299#(= 0 ULTIMATE.start_main_~j~0)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2300#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:58:53,033 INFO L280 TraceCheckUtils]: 4: Hoare triple {2300#(<= ULTIMATE.start_main_~j~0 1)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2300#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:58:53,034 INFO L280 TraceCheckUtils]: 5: Hoare triple {2300#(<= ULTIMATE.start_main_~j~0 1)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2301#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:58:53,034 INFO L280 TraceCheckUtils]: 6: Hoare triple {2301#(<= ULTIMATE.start_main_~j~0 2)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2301#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:58:53,035 INFO L280 TraceCheckUtils]: 7: Hoare triple {2301#(<= ULTIMATE.start_main_~j~0 2)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2302#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:58:53,036 INFO L280 TraceCheckUtils]: 8: Hoare triple {2302#(<= ULTIMATE.start_main_~j~0 3)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2302#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:58:53,037 INFO L280 TraceCheckUtils]: 9: Hoare triple {2302#(<= ULTIMATE.start_main_~j~0 3)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2303#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:58:53,038 INFO L280 TraceCheckUtils]: 10: Hoare triple {2303#(<= ULTIMATE.start_main_~j~0 4)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2303#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:58:53,039 INFO L280 TraceCheckUtils]: 11: Hoare triple {2303#(<= ULTIMATE.start_main_~j~0 4)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2304#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:58:53,039 INFO L280 TraceCheckUtils]: 12: Hoare triple {2304#(<= ULTIMATE.start_main_~j~0 5)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2304#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:58:53,040 INFO L280 TraceCheckUtils]: 13: Hoare triple {2304#(<= ULTIMATE.start_main_~j~0 5)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2305#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:58:53,041 INFO L280 TraceCheckUtils]: 14: Hoare triple {2305#(<= ULTIMATE.start_main_~j~0 6)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2305#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:58:53,042 INFO L280 TraceCheckUtils]: 15: Hoare triple {2305#(<= ULTIMATE.start_main_~j~0 6)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2306#(<= ULTIMATE.start_main_~j~0 7)} is VALID [2020-07-28 17:58:53,043 INFO L280 TraceCheckUtils]: 16: Hoare triple {2306#(<= ULTIMATE.start_main_~j~0 7)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2306#(<= ULTIMATE.start_main_~j~0 7)} is VALID [2020-07-28 17:58:53,044 INFO L280 TraceCheckUtils]: 17: Hoare triple {2306#(<= ULTIMATE.start_main_~j~0 7)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2307#(<= ULTIMATE.start_main_~j~0 8)} is VALID [2020-07-28 17:58:53,044 INFO L280 TraceCheckUtils]: 18: Hoare triple {2307#(<= ULTIMATE.start_main_~j~0 8)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2307#(<= ULTIMATE.start_main_~j~0 8)} is VALID [2020-07-28 17:58:53,045 INFO L280 TraceCheckUtils]: 19: Hoare triple {2307#(<= ULTIMATE.start_main_~j~0 8)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2308#(<= ULTIMATE.start_main_~j~0 9)} is VALID [2020-07-28 17:58:53,046 INFO L280 TraceCheckUtils]: 20: Hoare triple {2308#(<= ULTIMATE.start_main_~j~0 9)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2308#(<= ULTIMATE.start_main_~j~0 9)} is VALID [2020-07-28 17:58:53,047 INFO L280 TraceCheckUtils]: 21: Hoare triple {2308#(<= ULTIMATE.start_main_~j~0 9)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2309#(<= ULTIMATE.start_main_~j~0 10)} is VALID [2020-07-28 17:58:53,048 INFO L280 TraceCheckUtils]: 22: Hoare triple {2309#(<= ULTIMATE.start_main_~j~0 10)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2309#(<= ULTIMATE.start_main_~j~0 10)} is VALID [2020-07-28 17:58:53,049 INFO L280 TraceCheckUtils]: 23: Hoare triple {2309#(<= ULTIMATE.start_main_~j~0 10)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2310#(<= ULTIMATE.start_main_~j~0 11)} is VALID [2020-07-28 17:58:53,049 INFO L280 TraceCheckUtils]: 24: Hoare triple {2310#(<= ULTIMATE.start_main_~j~0 11)} assume !(main_~j~0 < 20); {2298#false} is VALID [2020-07-28 17:58:53,050 INFO L280 TraceCheckUtils]: 25: Hoare triple {2298#false} assume -2147483648 <= main_#t~nondet4 && main_#t~nondet4 <= 2147483647;main_~i~0 := main_#t~nondet4;havoc main_#t~nondet4; {2298#false} is VALID [2020-07-28 17:58:53,050 INFO L280 TraceCheckUtils]: 26: Hoare triple {2298#false} assume main_~i~0 >= 0 && main_~i~0 < 10;main_~ad2~0.base, main_~ad2~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset;call write~int(main_~i~0, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0, 4);main_~pa~0.base, main_~pa~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0;call main_#t~mem5 := read~int(main_~ad2~0.base, main_~ad2~0.offset + 8 * main_~i~0, 4);main_~i~0 := 10 + main_#t~mem5;havoc main_#t~mem5; {2298#false} is VALID [2020-07-28 17:58:53,050 INFO L280 TraceCheckUtils]: 27: Hoare triple {2298#false} call main_#t~mem6 := read~int(main_~pa~0.base, main_~pa~0.offset, 4); {2298#false} is VALID [2020-07-28 17:58:53,050 INFO L280 TraceCheckUtils]: 28: Hoare triple {2298#false} assume !(main_~i~0 < main_#t~mem6);havoc main_#t~mem6; {2298#false} is VALID [2020-07-28 17:58:53,050 INFO L280 TraceCheckUtils]: 29: Hoare triple {2298#false} check_#in~ad1.base, check_#in~ad1.offset, check_#in~b := main_~#ad1~0.base, main_~#ad1~0.offset, main_~i~0;havoc check_#res;havoc check_#t~mem0, check_~ad1.base, check_~ad1.offset, check_~b;check_~ad1.base, check_~ad1.offset := check_#in~ad1.base, check_#in~ad1.offset;check_~b := check_#in~b;call check_#t~mem0 := read~int(check_~ad1.base, check_~ad1.offset + 8 * check_~b, 4);check_#res := (if check_#t~mem0 == check_~b then 1 else 0);havoc check_#t~mem0; {2298#false} is VALID [2020-07-28 17:58:53,051 INFO L280 TraceCheckUtils]: 30: Hoare triple {2298#false} main_#t~ret8 := check_#res;assume -2147483648 <= main_#t~ret8 && main_#t~ret8 <= 2147483647; {2298#false} is VALID [2020-07-28 17:58:53,051 INFO L280 TraceCheckUtils]: 31: Hoare triple {2298#false} assume 0 == main_#t~ret8;havoc main_#t~ret8; {2298#false} is VALID [2020-07-28 17:58:53,051 INFO L280 TraceCheckUtils]: 32: Hoare triple {2298#false} assume !false; {2298#false} is VALID [2020-07-28 17:58:53,053 INFO L134 CoverageAnalysis]: Checked inductivity of 121 backedges. 0 proven. 121 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 17:58:53,053 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1467224830] [2020-07-28 17:58:53,054 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [303450554] [2020-07-28 17:58:53,054 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 12 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 12 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-28 17:58:53,368 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 12 check-sat command(s) [2020-07-28 17:58:53,368 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2020-07-28 17:58:53,371 INFO L263 TraceCheckSpWp]: Trace formula consists of 148 conjuncts, 13 conjunts are in the unsatisfiable core [2020-07-28 17:58:53,388 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:58:53,389 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 17:58:53,694 INFO L280 TraceCheckUtils]: 0: Hoare triple {2297#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {2297#true} is VALID [2020-07-28 17:58:53,695 INFO L280 TraceCheckUtils]: 1: Hoare triple {2297#true} havoc main_#res;havoc main_#t~nondet2, main_#t~nondet3, main_#t~post1, main_#t~nondet4, main_#t~mem5, main_#t~pre7, main_#t~mem6, main_#t~ret8, main_~#ad1~0.base, main_~#ad1~0.offset, main_~ad2~0.base, main_~ad2~0.offset, main_~i~0, main_~j~0, main_~pa~0.base, main_~pa~0.offset;call main_~#ad1~0.base, main_~#ad1~0.offset := #Ultimate.allocOnStack(160);havoc main_~ad2~0.base, main_~ad2~0.offset;havoc main_~i~0;havoc main_~j~0;havoc main_~pa~0.base, main_~pa~0.offset;main_~j~0 := 0; {2317#(<= ULTIMATE.start_main_~j~0 0)} is VALID [2020-07-28 17:58:53,696 INFO L280 TraceCheckUtils]: 2: Hoare triple {2317#(<= ULTIMATE.start_main_~j~0 0)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2317#(<= ULTIMATE.start_main_~j~0 0)} is VALID [2020-07-28 17:58:53,697 INFO L280 TraceCheckUtils]: 3: Hoare triple {2317#(<= ULTIMATE.start_main_~j~0 0)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2300#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:58:53,697 INFO L280 TraceCheckUtils]: 4: Hoare triple {2300#(<= ULTIMATE.start_main_~j~0 1)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2300#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:58:53,698 INFO L280 TraceCheckUtils]: 5: Hoare triple {2300#(<= ULTIMATE.start_main_~j~0 1)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2301#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:58:53,699 INFO L280 TraceCheckUtils]: 6: Hoare triple {2301#(<= ULTIMATE.start_main_~j~0 2)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2301#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:58:53,699 INFO L280 TraceCheckUtils]: 7: Hoare triple {2301#(<= ULTIMATE.start_main_~j~0 2)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2302#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:58:53,700 INFO L280 TraceCheckUtils]: 8: Hoare triple {2302#(<= ULTIMATE.start_main_~j~0 3)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2302#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:58:53,701 INFO L280 TraceCheckUtils]: 9: Hoare triple {2302#(<= ULTIMATE.start_main_~j~0 3)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2303#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:58:53,701 INFO L280 TraceCheckUtils]: 10: Hoare triple {2303#(<= ULTIMATE.start_main_~j~0 4)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2303#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:58:53,702 INFO L280 TraceCheckUtils]: 11: Hoare triple {2303#(<= ULTIMATE.start_main_~j~0 4)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2304#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:58:53,702 INFO L280 TraceCheckUtils]: 12: Hoare triple {2304#(<= ULTIMATE.start_main_~j~0 5)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2304#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:58:53,703 INFO L280 TraceCheckUtils]: 13: Hoare triple {2304#(<= ULTIMATE.start_main_~j~0 5)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2305#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:58:53,704 INFO L280 TraceCheckUtils]: 14: Hoare triple {2305#(<= ULTIMATE.start_main_~j~0 6)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2305#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:58:53,704 INFO L280 TraceCheckUtils]: 15: Hoare triple {2305#(<= ULTIMATE.start_main_~j~0 6)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2306#(<= ULTIMATE.start_main_~j~0 7)} is VALID [2020-07-28 17:58:53,705 INFO L280 TraceCheckUtils]: 16: Hoare triple {2306#(<= ULTIMATE.start_main_~j~0 7)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2306#(<= ULTIMATE.start_main_~j~0 7)} is VALID [2020-07-28 17:58:53,706 INFO L280 TraceCheckUtils]: 17: Hoare triple {2306#(<= ULTIMATE.start_main_~j~0 7)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2307#(<= ULTIMATE.start_main_~j~0 8)} is VALID [2020-07-28 17:58:53,722 INFO L280 TraceCheckUtils]: 18: Hoare triple {2307#(<= ULTIMATE.start_main_~j~0 8)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2307#(<= ULTIMATE.start_main_~j~0 8)} is VALID [2020-07-28 17:58:53,723 INFO L280 TraceCheckUtils]: 19: Hoare triple {2307#(<= ULTIMATE.start_main_~j~0 8)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2308#(<= ULTIMATE.start_main_~j~0 9)} is VALID [2020-07-28 17:58:53,724 INFO L280 TraceCheckUtils]: 20: Hoare triple {2308#(<= ULTIMATE.start_main_~j~0 9)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2308#(<= ULTIMATE.start_main_~j~0 9)} is VALID [2020-07-28 17:58:53,725 INFO L280 TraceCheckUtils]: 21: Hoare triple {2308#(<= ULTIMATE.start_main_~j~0 9)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2309#(<= ULTIMATE.start_main_~j~0 10)} is VALID [2020-07-28 17:58:53,725 INFO L280 TraceCheckUtils]: 22: Hoare triple {2309#(<= ULTIMATE.start_main_~j~0 10)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2309#(<= ULTIMATE.start_main_~j~0 10)} is VALID [2020-07-28 17:58:53,726 INFO L280 TraceCheckUtils]: 23: Hoare triple {2309#(<= ULTIMATE.start_main_~j~0 10)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2310#(<= ULTIMATE.start_main_~j~0 11)} is VALID [2020-07-28 17:58:53,727 INFO L280 TraceCheckUtils]: 24: Hoare triple {2310#(<= ULTIMATE.start_main_~j~0 11)} assume !(main_~j~0 < 20); {2298#false} is VALID [2020-07-28 17:58:53,727 INFO L280 TraceCheckUtils]: 25: Hoare triple {2298#false} assume -2147483648 <= main_#t~nondet4 && main_#t~nondet4 <= 2147483647;main_~i~0 := main_#t~nondet4;havoc main_#t~nondet4; {2298#false} is VALID [2020-07-28 17:58:53,727 INFO L280 TraceCheckUtils]: 26: Hoare triple {2298#false} assume main_~i~0 >= 0 && main_~i~0 < 10;main_~ad2~0.base, main_~ad2~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset;call write~int(main_~i~0, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0, 4);main_~pa~0.base, main_~pa~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0;call main_#t~mem5 := read~int(main_~ad2~0.base, main_~ad2~0.offset + 8 * main_~i~0, 4);main_~i~0 := 10 + main_#t~mem5;havoc main_#t~mem5; {2298#false} is VALID [2020-07-28 17:58:53,727 INFO L280 TraceCheckUtils]: 27: Hoare triple {2298#false} call main_#t~mem6 := read~int(main_~pa~0.base, main_~pa~0.offset, 4); {2298#false} is VALID [2020-07-28 17:58:53,728 INFO L280 TraceCheckUtils]: 28: Hoare triple {2298#false} assume !(main_~i~0 < main_#t~mem6);havoc main_#t~mem6; {2298#false} is VALID [2020-07-28 17:58:53,728 INFO L280 TraceCheckUtils]: 29: Hoare triple {2298#false} check_#in~ad1.base, check_#in~ad1.offset, check_#in~b := main_~#ad1~0.base, main_~#ad1~0.offset, main_~i~0;havoc check_#res;havoc check_#t~mem0, check_~ad1.base, check_~ad1.offset, check_~b;check_~ad1.base, check_~ad1.offset := check_#in~ad1.base, check_#in~ad1.offset;check_~b := check_#in~b;call check_#t~mem0 := read~int(check_~ad1.base, check_~ad1.offset + 8 * check_~b, 4);check_#res := (if check_#t~mem0 == check_~b then 1 else 0);havoc check_#t~mem0; {2298#false} is VALID [2020-07-28 17:58:53,728 INFO L280 TraceCheckUtils]: 30: Hoare triple {2298#false} main_#t~ret8 := check_#res;assume -2147483648 <= main_#t~ret8 && main_#t~ret8 <= 2147483647; {2298#false} is VALID [2020-07-28 17:58:53,728 INFO L280 TraceCheckUtils]: 31: Hoare triple {2298#false} assume 0 == main_#t~ret8;havoc main_#t~ret8; {2298#false} is VALID [2020-07-28 17:58:53,728 INFO L280 TraceCheckUtils]: 32: Hoare triple {2298#false} assume !false; {2298#false} is VALID [2020-07-28 17:58:53,729 INFO L134 CoverageAnalysis]: Checked inductivity of 121 backedges. 0 proven. 121 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 17:58:53,730 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-28 17:58:53,730 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 14] total 15 [2020-07-28 17:58:53,730 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1275106197] [2020-07-28 17:58:53,730 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 33 [2020-07-28 17:58:53,731 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 17:58:53,731 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states. [2020-07-28 17:58:53,779 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:58:53,779 INFO L459 AbstractCegarLoop]: Interpolant automaton has 15 states [2020-07-28 17:58:53,779 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-28 17:58:53,779 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2020-07-28 17:58:53,780 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=105, Invalid=105, Unknown=0, NotChecked=0, Total=210 [2020-07-28 17:58:53,780 INFO L87 Difference]: Start difference. First operand 34 states and 35 transitions. Second operand 15 states. [2020-07-28 17:58:53,947 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:58:53,947 INFO L93 Difference]: Finished difference Result 46 states and 48 transitions. [2020-07-28 17:58:53,947 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2020-07-28 17:58:53,948 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 33 [2020-07-28 17:58:53,948 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 17:58:53,948 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2020-07-28 17:58:53,949 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 48 transitions. [2020-07-28 17:58:53,949 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2020-07-28 17:58:53,950 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 48 transitions. [2020-07-28 17:58:53,950 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states and 48 transitions. [2020-07-28 17:58:54,009 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 17:58:54,010 INFO L225 Difference]: With dead ends: 46 [2020-07-28 17:58:54,010 INFO L226 Difference]: Without dead ends: 37 [2020-07-28 17:58:54,011 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 46 GetRequests, 33 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 20 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=105, Invalid=105, Unknown=0, NotChecked=0, Total=210 [2020-07-28 17:58:54,011 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2020-07-28 17:58:54,030 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 36. [2020-07-28 17:58:54,030 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 17:58:54,030 INFO L82 GeneralOperation]: Start isEquivalent. First operand 37 states. Second operand 36 states. [2020-07-28 17:58:54,030 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand 36 states. [2020-07-28 17:58:54,030 INFO L87 Difference]: Start difference. First operand 37 states. Second operand 36 states. [2020-07-28 17:58:54,031 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:58:54,031 INFO L93 Difference]: Finished difference Result 37 states and 38 transitions. [2020-07-28 17:58:54,031 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 38 transitions. [2020-07-28 17:58:54,031 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:58:54,031 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:58:54,032 INFO L74 IsIncluded]: Start isIncluded. First operand 36 states. Second operand 37 states. [2020-07-28 17:58:54,032 INFO L87 Difference]: Start difference. First operand 36 states. Second operand 37 states. [2020-07-28 17:58:54,033 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:58:54,033 INFO L93 Difference]: Finished difference Result 37 states and 38 transitions. [2020-07-28 17:58:54,033 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 38 transitions. [2020-07-28 17:58:54,033 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:58:54,033 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:58:54,033 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 17:58:54,034 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 17:58:54,034 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 36 states. [2020-07-28 17:58:54,034 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 37 transitions. [2020-07-28 17:58:54,034 INFO L78 Accepts]: Start accepts. Automaton has 36 states and 37 transitions. Word has length 33 [2020-07-28 17:58:54,034 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 17:58:54,034 INFO L479 AbstractCegarLoop]: Abstraction has 36 states and 37 transitions. [2020-07-28 17:58:54,035 INFO L480 AbstractCegarLoop]: Interpolant automaton has 15 states. [2020-07-28 17:58:54,035 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 37 transitions. [2020-07-28 17:58:54,035 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2020-07-28 17:58:54,035 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 17:58:54,035 INFO L422 BasicCegarLoop]: trace histogram [12, 12, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 17:58:54,236 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2020-07-28 17:58:54,236 INFO L427 AbstractCegarLoop]: === Iteration 14 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 17:58:54,237 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 17:58:54,237 INFO L82 PathProgramCache]: Analyzing trace with hash 300759869, now seen corresponding path program 12 times [2020-07-28 17:58:54,237 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 17:58:54,238 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1192874448] [2020-07-28 17:58:54,238 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 17:58:54,257 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:58:54,436 INFO L280 TraceCheckUtils]: 0: Hoare triple {2601#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {2601#true} is VALID [2020-07-28 17:58:54,437 INFO L280 TraceCheckUtils]: 1: Hoare triple {2601#true} havoc main_#res;havoc main_#t~nondet2, main_#t~nondet3, main_#t~post1, main_#t~nondet4, main_#t~mem5, main_#t~pre7, main_#t~mem6, main_#t~ret8, main_~#ad1~0.base, main_~#ad1~0.offset, main_~ad2~0.base, main_~ad2~0.offset, main_~i~0, main_~j~0, main_~pa~0.base, main_~pa~0.offset;call main_~#ad1~0.base, main_~#ad1~0.offset := #Ultimate.allocOnStack(160);havoc main_~ad2~0.base, main_~ad2~0.offset;havoc main_~i~0;havoc main_~j~0;havoc main_~pa~0.base, main_~pa~0.offset;main_~j~0 := 0; {2603#(= 0 ULTIMATE.start_main_~j~0)} is VALID [2020-07-28 17:58:54,438 INFO L280 TraceCheckUtils]: 2: Hoare triple {2603#(= 0 ULTIMATE.start_main_~j~0)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2603#(= 0 ULTIMATE.start_main_~j~0)} is VALID [2020-07-28 17:58:54,439 INFO L280 TraceCheckUtils]: 3: Hoare triple {2603#(= 0 ULTIMATE.start_main_~j~0)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2604#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:58:54,440 INFO L280 TraceCheckUtils]: 4: Hoare triple {2604#(<= ULTIMATE.start_main_~j~0 1)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2604#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:58:54,441 INFO L280 TraceCheckUtils]: 5: Hoare triple {2604#(<= ULTIMATE.start_main_~j~0 1)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2605#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:58:54,441 INFO L280 TraceCheckUtils]: 6: Hoare triple {2605#(<= ULTIMATE.start_main_~j~0 2)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2605#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:58:54,442 INFO L280 TraceCheckUtils]: 7: Hoare triple {2605#(<= ULTIMATE.start_main_~j~0 2)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2606#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:58:54,443 INFO L280 TraceCheckUtils]: 8: Hoare triple {2606#(<= ULTIMATE.start_main_~j~0 3)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2606#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:58:54,444 INFO L280 TraceCheckUtils]: 9: Hoare triple {2606#(<= ULTIMATE.start_main_~j~0 3)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2607#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:58:54,445 INFO L280 TraceCheckUtils]: 10: Hoare triple {2607#(<= ULTIMATE.start_main_~j~0 4)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2607#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:58:54,446 INFO L280 TraceCheckUtils]: 11: Hoare triple {2607#(<= ULTIMATE.start_main_~j~0 4)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2608#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:58:54,447 INFO L280 TraceCheckUtils]: 12: Hoare triple {2608#(<= ULTIMATE.start_main_~j~0 5)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2608#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:58:54,448 INFO L280 TraceCheckUtils]: 13: Hoare triple {2608#(<= ULTIMATE.start_main_~j~0 5)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2609#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:58:54,449 INFO L280 TraceCheckUtils]: 14: Hoare triple {2609#(<= ULTIMATE.start_main_~j~0 6)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2609#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:58:54,450 INFO L280 TraceCheckUtils]: 15: Hoare triple {2609#(<= ULTIMATE.start_main_~j~0 6)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2610#(<= ULTIMATE.start_main_~j~0 7)} is VALID [2020-07-28 17:58:54,451 INFO L280 TraceCheckUtils]: 16: Hoare triple {2610#(<= ULTIMATE.start_main_~j~0 7)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2610#(<= ULTIMATE.start_main_~j~0 7)} is VALID [2020-07-28 17:58:54,452 INFO L280 TraceCheckUtils]: 17: Hoare triple {2610#(<= ULTIMATE.start_main_~j~0 7)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2611#(<= ULTIMATE.start_main_~j~0 8)} is VALID [2020-07-28 17:58:54,452 INFO L280 TraceCheckUtils]: 18: Hoare triple {2611#(<= ULTIMATE.start_main_~j~0 8)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2611#(<= ULTIMATE.start_main_~j~0 8)} is VALID [2020-07-28 17:58:54,453 INFO L280 TraceCheckUtils]: 19: Hoare triple {2611#(<= ULTIMATE.start_main_~j~0 8)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2612#(<= ULTIMATE.start_main_~j~0 9)} is VALID [2020-07-28 17:58:54,454 INFO L280 TraceCheckUtils]: 20: Hoare triple {2612#(<= ULTIMATE.start_main_~j~0 9)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2612#(<= ULTIMATE.start_main_~j~0 9)} is VALID [2020-07-28 17:58:54,455 INFO L280 TraceCheckUtils]: 21: Hoare triple {2612#(<= ULTIMATE.start_main_~j~0 9)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2613#(<= ULTIMATE.start_main_~j~0 10)} is VALID [2020-07-28 17:58:54,455 INFO L280 TraceCheckUtils]: 22: Hoare triple {2613#(<= ULTIMATE.start_main_~j~0 10)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2613#(<= ULTIMATE.start_main_~j~0 10)} is VALID [2020-07-28 17:58:54,456 INFO L280 TraceCheckUtils]: 23: Hoare triple {2613#(<= ULTIMATE.start_main_~j~0 10)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2614#(<= ULTIMATE.start_main_~j~0 11)} is VALID [2020-07-28 17:58:54,457 INFO L280 TraceCheckUtils]: 24: Hoare triple {2614#(<= ULTIMATE.start_main_~j~0 11)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2614#(<= ULTIMATE.start_main_~j~0 11)} is VALID [2020-07-28 17:58:54,458 INFO L280 TraceCheckUtils]: 25: Hoare triple {2614#(<= ULTIMATE.start_main_~j~0 11)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2615#(<= ULTIMATE.start_main_~j~0 12)} is VALID [2020-07-28 17:58:54,459 INFO L280 TraceCheckUtils]: 26: Hoare triple {2615#(<= ULTIMATE.start_main_~j~0 12)} assume !(main_~j~0 < 20); {2602#false} is VALID [2020-07-28 17:58:54,460 INFO L280 TraceCheckUtils]: 27: Hoare triple {2602#false} assume -2147483648 <= main_#t~nondet4 && main_#t~nondet4 <= 2147483647;main_~i~0 := main_#t~nondet4;havoc main_#t~nondet4; {2602#false} is VALID [2020-07-28 17:58:54,460 INFO L280 TraceCheckUtils]: 28: Hoare triple {2602#false} assume main_~i~0 >= 0 && main_~i~0 < 10;main_~ad2~0.base, main_~ad2~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset;call write~int(main_~i~0, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0, 4);main_~pa~0.base, main_~pa~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0;call main_#t~mem5 := read~int(main_~ad2~0.base, main_~ad2~0.offset + 8 * main_~i~0, 4);main_~i~0 := 10 + main_#t~mem5;havoc main_#t~mem5; {2602#false} is VALID [2020-07-28 17:58:54,460 INFO L280 TraceCheckUtils]: 29: Hoare triple {2602#false} call main_#t~mem6 := read~int(main_~pa~0.base, main_~pa~0.offset, 4); {2602#false} is VALID [2020-07-28 17:58:54,460 INFO L280 TraceCheckUtils]: 30: Hoare triple {2602#false} assume !(main_~i~0 < main_#t~mem6);havoc main_#t~mem6; {2602#false} is VALID [2020-07-28 17:58:54,461 INFO L280 TraceCheckUtils]: 31: Hoare triple {2602#false} check_#in~ad1.base, check_#in~ad1.offset, check_#in~b := main_~#ad1~0.base, main_~#ad1~0.offset, main_~i~0;havoc check_#res;havoc check_#t~mem0, check_~ad1.base, check_~ad1.offset, check_~b;check_~ad1.base, check_~ad1.offset := check_#in~ad1.base, check_#in~ad1.offset;check_~b := check_#in~b;call check_#t~mem0 := read~int(check_~ad1.base, check_~ad1.offset + 8 * check_~b, 4);check_#res := (if check_#t~mem0 == check_~b then 1 else 0);havoc check_#t~mem0; {2602#false} is VALID [2020-07-28 17:58:54,461 INFO L280 TraceCheckUtils]: 32: Hoare triple {2602#false} main_#t~ret8 := check_#res;assume -2147483648 <= main_#t~ret8 && main_#t~ret8 <= 2147483647; {2602#false} is VALID [2020-07-28 17:58:54,461 INFO L280 TraceCheckUtils]: 33: Hoare triple {2602#false} assume 0 == main_#t~ret8;havoc main_#t~ret8; {2602#false} is VALID [2020-07-28 17:58:54,461 INFO L280 TraceCheckUtils]: 34: Hoare triple {2602#false} assume !false; {2602#false} is VALID [2020-07-28 17:58:54,464 INFO L134 CoverageAnalysis]: Checked inductivity of 144 backedges. 0 proven. 144 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 17:58:54,464 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1192874448] [2020-07-28 17:58:54,465 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1453585585] [2020-07-28 17:58:54,465 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 13 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 13 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-28 17:58:55,348 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 13 check-sat command(s) [2020-07-28 17:58:55,348 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2020-07-28 17:58:55,359 INFO L263 TraceCheckSpWp]: Trace formula consists of 156 conjuncts, 14 conjunts are in the unsatisfiable core [2020-07-28 17:58:55,369 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:58:55,370 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 17:58:55,679 INFO L280 TraceCheckUtils]: 0: Hoare triple {2601#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {2601#true} is VALID [2020-07-28 17:58:55,680 INFO L280 TraceCheckUtils]: 1: Hoare triple {2601#true} havoc main_#res;havoc main_#t~nondet2, main_#t~nondet3, main_#t~post1, main_#t~nondet4, main_#t~mem5, main_#t~pre7, main_#t~mem6, main_#t~ret8, main_~#ad1~0.base, main_~#ad1~0.offset, main_~ad2~0.base, main_~ad2~0.offset, main_~i~0, main_~j~0, main_~pa~0.base, main_~pa~0.offset;call main_~#ad1~0.base, main_~#ad1~0.offset := #Ultimate.allocOnStack(160);havoc main_~ad2~0.base, main_~ad2~0.offset;havoc main_~i~0;havoc main_~j~0;havoc main_~pa~0.base, main_~pa~0.offset;main_~j~0 := 0; {2622#(<= ULTIMATE.start_main_~j~0 0)} is VALID [2020-07-28 17:58:55,681 INFO L280 TraceCheckUtils]: 2: Hoare triple {2622#(<= ULTIMATE.start_main_~j~0 0)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2622#(<= ULTIMATE.start_main_~j~0 0)} is VALID [2020-07-28 17:58:55,682 INFO L280 TraceCheckUtils]: 3: Hoare triple {2622#(<= ULTIMATE.start_main_~j~0 0)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2604#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:58:55,683 INFO L280 TraceCheckUtils]: 4: Hoare triple {2604#(<= ULTIMATE.start_main_~j~0 1)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2604#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:58:55,683 INFO L280 TraceCheckUtils]: 5: Hoare triple {2604#(<= ULTIMATE.start_main_~j~0 1)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2605#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:58:55,684 INFO L280 TraceCheckUtils]: 6: Hoare triple {2605#(<= ULTIMATE.start_main_~j~0 2)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2605#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:58:55,685 INFO L280 TraceCheckUtils]: 7: Hoare triple {2605#(<= ULTIMATE.start_main_~j~0 2)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2606#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:58:55,685 INFO L280 TraceCheckUtils]: 8: Hoare triple {2606#(<= ULTIMATE.start_main_~j~0 3)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2606#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:58:55,686 INFO L280 TraceCheckUtils]: 9: Hoare triple {2606#(<= ULTIMATE.start_main_~j~0 3)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2607#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:58:55,686 INFO L280 TraceCheckUtils]: 10: Hoare triple {2607#(<= ULTIMATE.start_main_~j~0 4)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2607#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:58:55,686 INFO L280 TraceCheckUtils]: 11: Hoare triple {2607#(<= ULTIMATE.start_main_~j~0 4)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2608#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:58:55,687 INFO L280 TraceCheckUtils]: 12: Hoare triple {2608#(<= ULTIMATE.start_main_~j~0 5)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2608#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:58:55,687 INFO L280 TraceCheckUtils]: 13: Hoare triple {2608#(<= ULTIMATE.start_main_~j~0 5)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2609#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:58:55,688 INFO L280 TraceCheckUtils]: 14: Hoare triple {2609#(<= ULTIMATE.start_main_~j~0 6)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2609#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:58:55,688 INFO L280 TraceCheckUtils]: 15: Hoare triple {2609#(<= ULTIMATE.start_main_~j~0 6)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2610#(<= ULTIMATE.start_main_~j~0 7)} is VALID [2020-07-28 17:58:55,689 INFO L280 TraceCheckUtils]: 16: Hoare triple {2610#(<= ULTIMATE.start_main_~j~0 7)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2610#(<= ULTIMATE.start_main_~j~0 7)} is VALID [2020-07-28 17:58:55,689 INFO L280 TraceCheckUtils]: 17: Hoare triple {2610#(<= ULTIMATE.start_main_~j~0 7)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2611#(<= ULTIMATE.start_main_~j~0 8)} is VALID [2020-07-28 17:58:55,690 INFO L280 TraceCheckUtils]: 18: Hoare triple {2611#(<= ULTIMATE.start_main_~j~0 8)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2611#(<= ULTIMATE.start_main_~j~0 8)} is VALID [2020-07-28 17:58:55,690 INFO L280 TraceCheckUtils]: 19: Hoare triple {2611#(<= ULTIMATE.start_main_~j~0 8)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2612#(<= ULTIMATE.start_main_~j~0 9)} is VALID [2020-07-28 17:58:55,691 INFO L280 TraceCheckUtils]: 20: Hoare triple {2612#(<= ULTIMATE.start_main_~j~0 9)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2612#(<= ULTIMATE.start_main_~j~0 9)} is VALID [2020-07-28 17:58:55,691 INFO L280 TraceCheckUtils]: 21: Hoare triple {2612#(<= ULTIMATE.start_main_~j~0 9)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2613#(<= ULTIMATE.start_main_~j~0 10)} is VALID [2020-07-28 17:58:55,692 INFO L280 TraceCheckUtils]: 22: Hoare triple {2613#(<= ULTIMATE.start_main_~j~0 10)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2613#(<= ULTIMATE.start_main_~j~0 10)} is VALID [2020-07-28 17:58:55,692 INFO L280 TraceCheckUtils]: 23: Hoare triple {2613#(<= ULTIMATE.start_main_~j~0 10)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2614#(<= ULTIMATE.start_main_~j~0 11)} is VALID [2020-07-28 17:58:55,693 INFO L280 TraceCheckUtils]: 24: Hoare triple {2614#(<= ULTIMATE.start_main_~j~0 11)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2614#(<= ULTIMATE.start_main_~j~0 11)} is VALID [2020-07-28 17:58:55,693 INFO L280 TraceCheckUtils]: 25: Hoare triple {2614#(<= ULTIMATE.start_main_~j~0 11)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2615#(<= ULTIMATE.start_main_~j~0 12)} is VALID [2020-07-28 17:58:55,694 INFO L280 TraceCheckUtils]: 26: Hoare triple {2615#(<= ULTIMATE.start_main_~j~0 12)} assume !(main_~j~0 < 20); {2602#false} is VALID [2020-07-28 17:58:55,694 INFO L280 TraceCheckUtils]: 27: Hoare triple {2602#false} assume -2147483648 <= main_#t~nondet4 && main_#t~nondet4 <= 2147483647;main_~i~0 := main_#t~nondet4;havoc main_#t~nondet4; {2602#false} is VALID [2020-07-28 17:58:55,695 INFO L280 TraceCheckUtils]: 28: Hoare triple {2602#false} assume main_~i~0 >= 0 && main_~i~0 < 10;main_~ad2~0.base, main_~ad2~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset;call write~int(main_~i~0, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0, 4);main_~pa~0.base, main_~pa~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0;call main_#t~mem5 := read~int(main_~ad2~0.base, main_~ad2~0.offset + 8 * main_~i~0, 4);main_~i~0 := 10 + main_#t~mem5;havoc main_#t~mem5; {2602#false} is VALID [2020-07-28 17:58:55,695 INFO L280 TraceCheckUtils]: 29: Hoare triple {2602#false} call main_#t~mem6 := read~int(main_~pa~0.base, main_~pa~0.offset, 4); {2602#false} is VALID [2020-07-28 17:58:55,695 INFO L280 TraceCheckUtils]: 30: Hoare triple {2602#false} assume !(main_~i~0 < main_#t~mem6);havoc main_#t~mem6; {2602#false} is VALID [2020-07-28 17:58:55,695 INFO L280 TraceCheckUtils]: 31: Hoare triple {2602#false} check_#in~ad1.base, check_#in~ad1.offset, check_#in~b := main_~#ad1~0.base, main_~#ad1~0.offset, main_~i~0;havoc check_#res;havoc check_#t~mem0, check_~ad1.base, check_~ad1.offset, check_~b;check_~ad1.base, check_~ad1.offset := check_#in~ad1.base, check_#in~ad1.offset;check_~b := check_#in~b;call check_#t~mem0 := read~int(check_~ad1.base, check_~ad1.offset + 8 * check_~b, 4);check_#res := (if check_#t~mem0 == check_~b then 1 else 0);havoc check_#t~mem0; {2602#false} is VALID [2020-07-28 17:58:55,696 INFO L280 TraceCheckUtils]: 32: Hoare triple {2602#false} main_#t~ret8 := check_#res;assume -2147483648 <= main_#t~ret8 && main_#t~ret8 <= 2147483647; {2602#false} is VALID [2020-07-28 17:58:55,696 INFO L280 TraceCheckUtils]: 33: Hoare triple {2602#false} assume 0 == main_#t~ret8;havoc main_#t~ret8; {2602#false} is VALID [2020-07-28 17:58:55,696 INFO L280 TraceCheckUtils]: 34: Hoare triple {2602#false} assume !false; {2602#false} is VALID [2020-07-28 17:58:55,697 INFO L134 CoverageAnalysis]: Checked inductivity of 144 backedges. 0 proven. 144 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 17:58:55,698 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-28 17:58:55,698 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 15] total 16 [2020-07-28 17:58:55,698 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [242073953] [2020-07-28 17:58:55,699 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 35 [2020-07-28 17:58:55,699 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 17:58:55,699 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states. [2020-07-28 17:58:55,746 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:58:55,747 INFO L459 AbstractCegarLoop]: Interpolant automaton has 16 states [2020-07-28 17:58:55,747 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-28 17:58:55,747 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2020-07-28 17:58:55,748 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=120, Invalid=120, Unknown=0, NotChecked=0, Total=240 [2020-07-28 17:58:55,748 INFO L87 Difference]: Start difference. First operand 36 states and 37 transitions. Second operand 16 states. [2020-07-28 17:58:55,947 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:58:55,947 INFO L93 Difference]: Finished difference Result 48 states and 50 transitions. [2020-07-28 17:58:55,947 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2020-07-28 17:58:55,947 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 35 [2020-07-28 17:58:55,947 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 17:58:55,947 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2020-07-28 17:58:55,948 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 50 transitions. [2020-07-28 17:58:55,948 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2020-07-28 17:58:55,949 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 50 transitions. [2020-07-28 17:58:55,949 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states and 50 transitions. [2020-07-28 17:58:56,009 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 17:58:56,010 INFO L225 Difference]: With dead ends: 48 [2020-07-28 17:58:56,010 INFO L226 Difference]: Without dead ends: 39 [2020-07-28 17:58:56,010 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 49 GetRequests, 35 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 22 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=120, Invalid=120, Unknown=0, NotChecked=0, Total=240 [2020-07-28 17:58:56,011 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 39 states. [2020-07-28 17:58:56,032 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 39 to 38. [2020-07-28 17:58:56,032 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 17:58:56,032 INFO L82 GeneralOperation]: Start isEquivalent. First operand 39 states. Second operand 38 states. [2020-07-28 17:58:56,032 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand 38 states. [2020-07-28 17:58:56,032 INFO L87 Difference]: Start difference. First operand 39 states. Second operand 38 states. [2020-07-28 17:58:56,033 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:58:56,034 INFO L93 Difference]: Finished difference Result 39 states and 40 transitions. [2020-07-28 17:58:56,034 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 40 transitions. [2020-07-28 17:58:56,034 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:58:56,034 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:58:56,035 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand 39 states. [2020-07-28 17:58:56,035 INFO L87 Difference]: Start difference. First operand 38 states. Second operand 39 states. [2020-07-28 17:58:56,036 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:58:56,036 INFO L93 Difference]: Finished difference Result 39 states and 40 transitions. [2020-07-28 17:58:56,036 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 40 transitions. [2020-07-28 17:58:56,036 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:58:56,036 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:58:56,036 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 17:58:56,036 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 17:58:56,036 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 38 states. [2020-07-28 17:58:56,037 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 39 transitions. [2020-07-28 17:58:56,037 INFO L78 Accepts]: Start accepts. Automaton has 38 states and 39 transitions. Word has length 35 [2020-07-28 17:58:56,037 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 17:58:56,038 INFO L479 AbstractCegarLoop]: Abstraction has 38 states and 39 transitions. [2020-07-28 17:58:56,038 INFO L480 AbstractCegarLoop]: Interpolant automaton has 16 states. [2020-07-28 17:58:56,038 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 39 transitions. [2020-07-28 17:58:56,038 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2020-07-28 17:58:56,038 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 17:58:56,039 INFO L422 BasicCegarLoop]: trace histogram [13, 13, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 17:58:56,246 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2020-07-28 17:58:56,247 INFO L427 AbstractCegarLoop]: === Iteration 15 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 17:58:56,247 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 17:58:56,248 INFO L82 PathProgramCache]: Analyzing trace with hash 1328822011, now seen corresponding path program 13 times [2020-07-28 17:58:56,248 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 17:58:56,248 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [810373460] [2020-07-28 17:58:56,248 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 17:58:56,263 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:58:56,438 INFO L280 TraceCheckUtils]: 0: Hoare triple {2922#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {2922#true} is VALID [2020-07-28 17:58:56,439 INFO L280 TraceCheckUtils]: 1: Hoare triple {2922#true} havoc main_#res;havoc main_#t~nondet2, main_#t~nondet3, main_#t~post1, main_#t~nondet4, main_#t~mem5, main_#t~pre7, main_#t~mem6, main_#t~ret8, main_~#ad1~0.base, main_~#ad1~0.offset, main_~ad2~0.base, main_~ad2~0.offset, main_~i~0, main_~j~0, main_~pa~0.base, main_~pa~0.offset;call main_~#ad1~0.base, main_~#ad1~0.offset := #Ultimate.allocOnStack(160);havoc main_~ad2~0.base, main_~ad2~0.offset;havoc main_~i~0;havoc main_~j~0;havoc main_~pa~0.base, main_~pa~0.offset;main_~j~0 := 0; {2924#(= 0 ULTIMATE.start_main_~j~0)} is VALID [2020-07-28 17:58:56,440 INFO L280 TraceCheckUtils]: 2: Hoare triple {2924#(= 0 ULTIMATE.start_main_~j~0)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2924#(= 0 ULTIMATE.start_main_~j~0)} is VALID [2020-07-28 17:58:56,441 INFO L280 TraceCheckUtils]: 3: Hoare triple {2924#(= 0 ULTIMATE.start_main_~j~0)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2925#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:58:56,441 INFO L280 TraceCheckUtils]: 4: Hoare triple {2925#(<= ULTIMATE.start_main_~j~0 1)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2925#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:58:56,442 INFO L280 TraceCheckUtils]: 5: Hoare triple {2925#(<= ULTIMATE.start_main_~j~0 1)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2926#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:58:56,443 INFO L280 TraceCheckUtils]: 6: Hoare triple {2926#(<= ULTIMATE.start_main_~j~0 2)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2926#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:58:56,444 INFO L280 TraceCheckUtils]: 7: Hoare triple {2926#(<= ULTIMATE.start_main_~j~0 2)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2927#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:58:56,444 INFO L280 TraceCheckUtils]: 8: Hoare triple {2927#(<= ULTIMATE.start_main_~j~0 3)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2927#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:58:56,445 INFO L280 TraceCheckUtils]: 9: Hoare triple {2927#(<= ULTIMATE.start_main_~j~0 3)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2928#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:58:56,446 INFO L280 TraceCheckUtils]: 10: Hoare triple {2928#(<= ULTIMATE.start_main_~j~0 4)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2928#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:58:56,447 INFO L280 TraceCheckUtils]: 11: Hoare triple {2928#(<= ULTIMATE.start_main_~j~0 4)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2929#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:58:56,448 INFO L280 TraceCheckUtils]: 12: Hoare triple {2929#(<= ULTIMATE.start_main_~j~0 5)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2929#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:58:56,449 INFO L280 TraceCheckUtils]: 13: Hoare triple {2929#(<= ULTIMATE.start_main_~j~0 5)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2930#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:58:56,449 INFO L280 TraceCheckUtils]: 14: Hoare triple {2930#(<= ULTIMATE.start_main_~j~0 6)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2930#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:58:56,450 INFO L280 TraceCheckUtils]: 15: Hoare triple {2930#(<= ULTIMATE.start_main_~j~0 6)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2931#(<= ULTIMATE.start_main_~j~0 7)} is VALID [2020-07-28 17:58:56,451 INFO L280 TraceCheckUtils]: 16: Hoare triple {2931#(<= ULTIMATE.start_main_~j~0 7)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2931#(<= ULTIMATE.start_main_~j~0 7)} is VALID [2020-07-28 17:58:56,452 INFO L280 TraceCheckUtils]: 17: Hoare triple {2931#(<= ULTIMATE.start_main_~j~0 7)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2932#(<= ULTIMATE.start_main_~j~0 8)} is VALID [2020-07-28 17:58:56,452 INFO L280 TraceCheckUtils]: 18: Hoare triple {2932#(<= ULTIMATE.start_main_~j~0 8)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2932#(<= ULTIMATE.start_main_~j~0 8)} is VALID [2020-07-28 17:58:56,453 INFO L280 TraceCheckUtils]: 19: Hoare triple {2932#(<= ULTIMATE.start_main_~j~0 8)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2933#(<= ULTIMATE.start_main_~j~0 9)} is VALID [2020-07-28 17:58:56,454 INFO L280 TraceCheckUtils]: 20: Hoare triple {2933#(<= ULTIMATE.start_main_~j~0 9)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2933#(<= ULTIMATE.start_main_~j~0 9)} is VALID [2020-07-28 17:58:56,455 INFO L280 TraceCheckUtils]: 21: Hoare triple {2933#(<= ULTIMATE.start_main_~j~0 9)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2934#(<= ULTIMATE.start_main_~j~0 10)} is VALID [2020-07-28 17:58:56,455 INFO L280 TraceCheckUtils]: 22: Hoare triple {2934#(<= ULTIMATE.start_main_~j~0 10)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2934#(<= ULTIMATE.start_main_~j~0 10)} is VALID [2020-07-28 17:58:56,456 INFO L280 TraceCheckUtils]: 23: Hoare triple {2934#(<= ULTIMATE.start_main_~j~0 10)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2935#(<= ULTIMATE.start_main_~j~0 11)} is VALID [2020-07-28 17:58:56,457 INFO L280 TraceCheckUtils]: 24: Hoare triple {2935#(<= ULTIMATE.start_main_~j~0 11)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2935#(<= ULTIMATE.start_main_~j~0 11)} is VALID [2020-07-28 17:58:56,458 INFO L280 TraceCheckUtils]: 25: Hoare triple {2935#(<= ULTIMATE.start_main_~j~0 11)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2936#(<= ULTIMATE.start_main_~j~0 12)} is VALID [2020-07-28 17:58:56,458 INFO L280 TraceCheckUtils]: 26: Hoare triple {2936#(<= ULTIMATE.start_main_~j~0 12)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2936#(<= ULTIMATE.start_main_~j~0 12)} is VALID [2020-07-28 17:58:56,459 INFO L280 TraceCheckUtils]: 27: Hoare triple {2936#(<= ULTIMATE.start_main_~j~0 12)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2937#(<= ULTIMATE.start_main_~j~0 13)} is VALID [2020-07-28 17:58:56,460 INFO L280 TraceCheckUtils]: 28: Hoare triple {2937#(<= ULTIMATE.start_main_~j~0 13)} assume !(main_~j~0 < 20); {2923#false} is VALID [2020-07-28 17:58:56,460 INFO L280 TraceCheckUtils]: 29: Hoare triple {2923#false} assume -2147483648 <= main_#t~nondet4 && main_#t~nondet4 <= 2147483647;main_~i~0 := main_#t~nondet4;havoc main_#t~nondet4; {2923#false} is VALID [2020-07-28 17:58:56,460 INFO L280 TraceCheckUtils]: 30: Hoare triple {2923#false} assume main_~i~0 >= 0 && main_~i~0 < 10;main_~ad2~0.base, main_~ad2~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset;call write~int(main_~i~0, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0, 4);main_~pa~0.base, main_~pa~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0;call main_#t~mem5 := read~int(main_~ad2~0.base, main_~ad2~0.offset + 8 * main_~i~0, 4);main_~i~0 := 10 + main_#t~mem5;havoc main_#t~mem5; {2923#false} is VALID [2020-07-28 17:58:56,460 INFO L280 TraceCheckUtils]: 31: Hoare triple {2923#false} call main_#t~mem6 := read~int(main_~pa~0.base, main_~pa~0.offset, 4); {2923#false} is VALID [2020-07-28 17:58:56,461 INFO L280 TraceCheckUtils]: 32: Hoare triple {2923#false} assume !(main_~i~0 < main_#t~mem6);havoc main_#t~mem6; {2923#false} is VALID [2020-07-28 17:58:56,461 INFO L280 TraceCheckUtils]: 33: Hoare triple {2923#false} check_#in~ad1.base, check_#in~ad1.offset, check_#in~b := main_~#ad1~0.base, main_~#ad1~0.offset, main_~i~0;havoc check_#res;havoc check_#t~mem0, check_~ad1.base, check_~ad1.offset, check_~b;check_~ad1.base, check_~ad1.offset := check_#in~ad1.base, check_#in~ad1.offset;check_~b := check_#in~b;call check_#t~mem0 := read~int(check_~ad1.base, check_~ad1.offset + 8 * check_~b, 4);check_#res := (if check_#t~mem0 == check_~b then 1 else 0);havoc check_#t~mem0; {2923#false} is VALID [2020-07-28 17:58:56,461 INFO L280 TraceCheckUtils]: 34: Hoare triple {2923#false} main_#t~ret8 := check_#res;assume -2147483648 <= main_#t~ret8 && main_#t~ret8 <= 2147483647; {2923#false} is VALID [2020-07-28 17:58:56,461 INFO L280 TraceCheckUtils]: 35: Hoare triple {2923#false} assume 0 == main_#t~ret8;havoc main_#t~ret8; {2923#false} is VALID [2020-07-28 17:58:56,461 INFO L280 TraceCheckUtils]: 36: Hoare triple {2923#false} assume !false; {2923#false} is VALID [2020-07-28 17:58:56,463 INFO L134 CoverageAnalysis]: Checked inductivity of 169 backedges. 0 proven. 169 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 17:58:56,464 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [810373460] [2020-07-28 17:58:56,464 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1109148140] [2020-07-28 17:58:56,464 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 14 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 14 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-28 17:58:56,522 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:58:56,523 INFO L263 TraceCheckSpWp]: Trace formula consists of 164 conjuncts, 15 conjunts are in the unsatisfiable core [2020-07-28 17:58:56,534 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:58:56,536 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 17:58:56,853 INFO L280 TraceCheckUtils]: 0: Hoare triple {2922#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {2922#true} is VALID [2020-07-28 17:58:56,854 INFO L280 TraceCheckUtils]: 1: Hoare triple {2922#true} havoc main_#res;havoc main_#t~nondet2, main_#t~nondet3, main_#t~post1, main_#t~nondet4, main_#t~mem5, main_#t~pre7, main_#t~mem6, main_#t~ret8, main_~#ad1~0.base, main_~#ad1~0.offset, main_~ad2~0.base, main_~ad2~0.offset, main_~i~0, main_~j~0, main_~pa~0.base, main_~pa~0.offset;call main_~#ad1~0.base, main_~#ad1~0.offset := #Ultimate.allocOnStack(160);havoc main_~ad2~0.base, main_~ad2~0.offset;havoc main_~i~0;havoc main_~j~0;havoc main_~pa~0.base, main_~pa~0.offset;main_~j~0 := 0; {2944#(<= ULTIMATE.start_main_~j~0 0)} is VALID [2020-07-28 17:58:56,855 INFO L280 TraceCheckUtils]: 2: Hoare triple {2944#(<= ULTIMATE.start_main_~j~0 0)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2944#(<= ULTIMATE.start_main_~j~0 0)} is VALID [2020-07-28 17:58:56,856 INFO L280 TraceCheckUtils]: 3: Hoare triple {2944#(<= ULTIMATE.start_main_~j~0 0)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2925#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:58:56,857 INFO L280 TraceCheckUtils]: 4: Hoare triple {2925#(<= ULTIMATE.start_main_~j~0 1)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2925#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:58:56,858 INFO L280 TraceCheckUtils]: 5: Hoare triple {2925#(<= ULTIMATE.start_main_~j~0 1)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2926#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:58:56,859 INFO L280 TraceCheckUtils]: 6: Hoare triple {2926#(<= ULTIMATE.start_main_~j~0 2)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2926#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:58:56,860 INFO L280 TraceCheckUtils]: 7: Hoare triple {2926#(<= ULTIMATE.start_main_~j~0 2)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2927#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:58:56,860 INFO L280 TraceCheckUtils]: 8: Hoare triple {2927#(<= ULTIMATE.start_main_~j~0 3)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2927#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:58:56,861 INFO L280 TraceCheckUtils]: 9: Hoare triple {2927#(<= ULTIMATE.start_main_~j~0 3)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2928#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:58:56,861 INFO L280 TraceCheckUtils]: 10: Hoare triple {2928#(<= ULTIMATE.start_main_~j~0 4)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2928#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:58:56,862 INFO L280 TraceCheckUtils]: 11: Hoare triple {2928#(<= ULTIMATE.start_main_~j~0 4)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2929#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:58:56,862 INFO L280 TraceCheckUtils]: 12: Hoare triple {2929#(<= ULTIMATE.start_main_~j~0 5)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2929#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:58:56,863 INFO L280 TraceCheckUtils]: 13: Hoare triple {2929#(<= ULTIMATE.start_main_~j~0 5)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2930#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:58:56,864 INFO L280 TraceCheckUtils]: 14: Hoare triple {2930#(<= ULTIMATE.start_main_~j~0 6)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2930#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:58:56,864 INFO L280 TraceCheckUtils]: 15: Hoare triple {2930#(<= ULTIMATE.start_main_~j~0 6)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2931#(<= ULTIMATE.start_main_~j~0 7)} is VALID [2020-07-28 17:58:56,865 INFO L280 TraceCheckUtils]: 16: Hoare triple {2931#(<= ULTIMATE.start_main_~j~0 7)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2931#(<= ULTIMATE.start_main_~j~0 7)} is VALID [2020-07-28 17:58:56,865 INFO L280 TraceCheckUtils]: 17: Hoare triple {2931#(<= ULTIMATE.start_main_~j~0 7)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2932#(<= ULTIMATE.start_main_~j~0 8)} is VALID [2020-07-28 17:58:56,866 INFO L280 TraceCheckUtils]: 18: Hoare triple {2932#(<= ULTIMATE.start_main_~j~0 8)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2932#(<= ULTIMATE.start_main_~j~0 8)} is VALID [2020-07-28 17:58:56,866 INFO L280 TraceCheckUtils]: 19: Hoare triple {2932#(<= ULTIMATE.start_main_~j~0 8)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2933#(<= ULTIMATE.start_main_~j~0 9)} is VALID [2020-07-28 17:58:56,867 INFO L280 TraceCheckUtils]: 20: Hoare triple {2933#(<= ULTIMATE.start_main_~j~0 9)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2933#(<= ULTIMATE.start_main_~j~0 9)} is VALID [2020-07-28 17:58:56,867 INFO L280 TraceCheckUtils]: 21: Hoare triple {2933#(<= ULTIMATE.start_main_~j~0 9)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2934#(<= ULTIMATE.start_main_~j~0 10)} is VALID [2020-07-28 17:58:56,868 INFO L280 TraceCheckUtils]: 22: Hoare triple {2934#(<= ULTIMATE.start_main_~j~0 10)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2934#(<= ULTIMATE.start_main_~j~0 10)} is VALID [2020-07-28 17:58:56,868 INFO L280 TraceCheckUtils]: 23: Hoare triple {2934#(<= ULTIMATE.start_main_~j~0 10)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2935#(<= ULTIMATE.start_main_~j~0 11)} is VALID [2020-07-28 17:58:56,868 INFO L280 TraceCheckUtils]: 24: Hoare triple {2935#(<= ULTIMATE.start_main_~j~0 11)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2935#(<= ULTIMATE.start_main_~j~0 11)} is VALID [2020-07-28 17:58:56,869 INFO L280 TraceCheckUtils]: 25: Hoare triple {2935#(<= ULTIMATE.start_main_~j~0 11)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2936#(<= ULTIMATE.start_main_~j~0 12)} is VALID [2020-07-28 17:58:56,869 INFO L280 TraceCheckUtils]: 26: Hoare triple {2936#(<= ULTIMATE.start_main_~j~0 12)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {2936#(<= ULTIMATE.start_main_~j~0 12)} is VALID [2020-07-28 17:58:56,870 INFO L280 TraceCheckUtils]: 27: Hoare triple {2936#(<= ULTIMATE.start_main_~j~0 12)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {2937#(<= ULTIMATE.start_main_~j~0 13)} is VALID [2020-07-28 17:58:56,870 INFO L280 TraceCheckUtils]: 28: Hoare triple {2937#(<= ULTIMATE.start_main_~j~0 13)} assume !(main_~j~0 < 20); {2923#false} is VALID [2020-07-28 17:58:56,871 INFO L280 TraceCheckUtils]: 29: Hoare triple {2923#false} assume -2147483648 <= main_#t~nondet4 && main_#t~nondet4 <= 2147483647;main_~i~0 := main_#t~nondet4;havoc main_#t~nondet4; {2923#false} is VALID [2020-07-28 17:58:56,871 INFO L280 TraceCheckUtils]: 30: Hoare triple {2923#false} assume main_~i~0 >= 0 && main_~i~0 < 10;main_~ad2~0.base, main_~ad2~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset;call write~int(main_~i~0, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0, 4);main_~pa~0.base, main_~pa~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0;call main_#t~mem5 := read~int(main_~ad2~0.base, main_~ad2~0.offset + 8 * main_~i~0, 4);main_~i~0 := 10 + main_#t~mem5;havoc main_#t~mem5; {2923#false} is VALID [2020-07-28 17:58:56,871 INFO L280 TraceCheckUtils]: 31: Hoare triple {2923#false} call main_#t~mem6 := read~int(main_~pa~0.base, main_~pa~0.offset, 4); {2923#false} is VALID [2020-07-28 17:58:56,871 INFO L280 TraceCheckUtils]: 32: Hoare triple {2923#false} assume !(main_~i~0 < main_#t~mem6);havoc main_#t~mem6; {2923#false} is VALID [2020-07-28 17:58:56,871 INFO L280 TraceCheckUtils]: 33: Hoare triple {2923#false} check_#in~ad1.base, check_#in~ad1.offset, check_#in~b := main_~#ad1~0.base, main_~#ad1~0.offset, main_~i~0;havoc check_#res;havoc check_#t~mem0, check_~ad1.base, check_~ad1.offset, check_~b;check_~ad1.base, check_~ad1.offset := check_#in~ad1.base, check_#in~ad1.offset;check_~b := check_#in~b;call check_#t~mem0 := read~int(check_~ad1.base, check_~ad1.offset + 8 * check_~b, 4);check_#res := (if check_#t~mem0 == check_~b then 1 else 0);havoc check_#t~mem0; {2923#false} is VALID [2020-07-28 17:58:56,871 INFO L280 TraceCheckUtils]: 34: Hoare triple {2923#false} main_#t~ret8 := check_#res;assume -2147483648 <= main_#t~ret8 && main_#t~ret8 <= 2147483647; {2923#false} is VALID [2020-07-28 17:58:56,872 INFO L280 TraceCheckUtils]: 35: Hoare triple {2923#false} assume 0 == main_#t~ret8;havoc main_#t~ret8; {2923#false} is VALID [2020-07-28 17:58:56,872 INFO L280 TraceCheckUtils]: 36: Hoare triple {2923#false} assume !false; {2923#false} is VALID [2020-07-28 17:58:56,874 INFO L134 CoverageAnalysis]: Checked inductivity of 169 backedges. 0 proven. 169 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 17:58:56,874 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-28 17:58:56,874 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 16] total 17 [2020-07-28 17:58:56,874 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [739398692] [2020-07-28 17:58:56,875 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 37 [2020-07-28 17:58:56,875 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 17:58:56,875 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states. [2020-07-28 17:58:56,924 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:56,924 INFO L459 AbstractCegarLoop]: Interpolant automaton has 17 states [2020-07-28 17:58:56,924 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-28 17:58:56,925 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2020-07-28 17:58:56,925 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=136, Invalid=136, Unknown=0, NotChecked=0, Total=272 [2020-07-28 17:58:56,925 INFO L87 Difference]: Start difference. First operand 38 states and 39 transitions. Second operand 17 states. [2020-07-28 17:58:57,150 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:58:57,150 INFO L93 Difference]: Finished difference Result 50 states and 52 transitions. [2020-07-28 17:58:57,151 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2020-07-28 17:58:57,151 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 37 [2020-07-28 17:58:57,151 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 17:58:57,151 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2020-07-28 17:58:57,152 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 52 transitions. [2020-07-28 17:58:57,152 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2020-07-28 17:58:57,153 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 52 transitions. [2020-07-28 17:58:57,153 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states and 52 transitions. [2020-07-28 17:58:57,215 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 17:58:57,217 INFO L225 Difference]: With dead ends: 50 [2020-07-28 17:58:57,217 INFO L226 Difference]: Without dead ends: 41 [2020-07-28 17:58:57,218 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 52 GetRequests, 37 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=136, Invalid=136, Unknown=0, NotChecked=0, Total=272 [2020-07-28 17:58:57,218 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2020-07-28 17:58:57,250 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 40. [2020-07-28 17:58:57,250 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 17:58:57,250 INFO L82 GeneralOperation]: Start isEquivalent. First operand 41 states. Second operand 40 states. [2020-07-28 17:58:57,250 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand 40 states. [2020-07-28 17:58:57,250 INFO L87 Difference]: Start difference. First operand 41 states. Second operand 40 states. [2020-07-28 17:58:57,251 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:58:57,251 INFO L93 Difference]: Finished difference Result 41 states and 42 transitions. [2020-07-28 17:58:57,251 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 42 transitions. [2020-07-28 17:58:57,251 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:58:57,251 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:58:57,251 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand 41 states. [2020-07-28 17:58:57,252 INFO L87 Difference]: Start difference. First operand 40 states. Second operand 41 states. [2020-07-28 17:58:57,252 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:58:57,252 INFO L93 Difference]: Finished difference Result 41 states and 42 transitions. [2020-07-28 17:58:57,252 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 42 transitions. [2020-07-28 17:58:57,253 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:58:57,253 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:58:57,253 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 17:58:57,253 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 17:58:57,253 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 40 states. [2020-07-28 17:58:57,254 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 41 transitions. [2020-07-28 17:58:57,254 INFO L78 Accepts]: Start accepts. Automaton has 40 states and 41 transitions. Word has length 37 [2020-07-28 17:58:57,254 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 17:58:57,254 INFO L479 AbstractCegarLoop]: Abstraction has 40 states and 41 transitions. [2020-07-28 17:58:57,254 INFO L480 AbstractCegarLoop]: Interpolant automaton has 17 states. [2020-07-28 17:58:57,255 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 41 transitions. [2020-07-28 17:58:57,255 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2020-07-28 17:58:57,255 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 17:58:57,255 INFO L422 BasicCegarLoop]: trace histogram [14, 14, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 17:58:57,456 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable14 [2020-07-28 17:58:57,457 INFO L427 AbstractCegarLoop]: === Iteration 16 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 17:58:57,457 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 17:58:57,457 INFO L82 PathProgramCache]: Analyzing trace with hash 1454062393, now seen corresponding path program 14 times [2020-07-28 17:58:57,457 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 17:58:57,458 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [936212207] [2020-07-28 17:58:57,458 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 17:58:57,481 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:58:57,723 INFO L280 TraceCheckUtils]: 0: Hoare triple {3260#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {3260#true} is VALID [2020-07-28 17:58:57,724 INFO L280 TraceCheckUtils]: 1: Hoare triple {3260#true} havoc main_#res;havoc main_#t~nondet2, main_#t~nondet3, main_#t~post1, main_#t~nondet4, main_#t~mem5, main_#t~pre7, main_#t~mem6, main_#t~ret8, main_~#ad1~0.base, main_~#ad1~0.offset, main_~ad2~0.base, main_~ad2~0.offset, main_~i~0, main_~j~0, main_~pa~0.base, main_~pa~0.offset;call main_~#ad1~0.base, main_~#ad1~0.offset := #Ultimate.allocOnStack(160);havoc main_~ad2~0.base, main_~ad2~0.offset;havoc main_~i~0;havoc main_~j~0;havoc main_~pa~0.base, main_~pa~0.offset;main_~j~0 := 0; {3262#(= 0 ULTIMATE.start_main_~j~0)} is VALID [2020-07-28 17:58:57,725 INFO L280 TraceCheckUtils]: 2: Hoare triple {3262#(= 0 ULTIMATE.start_main_~j~0)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3262#(= 0 ULTIMATE.start_main_~j~0)} is VALID [2020-07-28 17:58:57,725 INFO L280 TraceCheckUtils]: 3: Hoare triple {3262#(= 0 ULTIMATE.start_main_~j~0)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3263#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:58:57,726 INFO L280 TraceCheckUtils]: 4: Hoare triple {3263#(<= ULTIMATE.start_main_~j~0 1)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3263#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:58:57,726 INFO L280 TraceCheckUtils]: 5: Hoare triple {3263#(<= ULTIMATE.start_main_~j~0 1)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3264#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:58:57,727 INFO L280 TraceCheckUtils]: 6: Hoare triple {3264#(<= ULTIMATE.start_main_~j~0 2)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3264#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:58:57,727 INFO L280 TraceCheckUtils]: 7: Hoare triple {3264#(<= ULTIMATE.start_main_~j~0 2)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3265#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:58:57,728 INFO L280 TraceCheckUtils]: 8: Hoare triple {3265#(<= ULTIMATE.start_main_~j~0 3)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3265#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:58:57,728 INFO L280 TraceCheckUtils]: 9: Hoare triple {3265#(<= ULTIMATE.start_main_~j~0 3)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3266#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:58:57,729 INFO L280 TraceCheckUtils]: 10: Hoare triple {3266#(<= ULTIMATE.start_main_~j~0 4)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3266#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:58:57,729 INFO L280 TraceCheckUtils]: 11: Hoare triple {3266#(<= ULTIMATE.start_main_~j~0 4)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3267#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:58:57,730 INFO L280 TraceCheckUtils]: 12: Hoare triple {3267#(<= ULTIMATE.start_main_~j~0 5)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3267#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:58:57,733 INFO L280 TraceCheckUtils]: 13: Hoare triple {3267#(<= ULTIMATE.start_main_~j~0 5)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3268#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:58:57,735 INFO L280 TraceCheckUtils]: 14: Hoare triple {3268#(<= ULTIMATE.start_main_~j~0 6)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3268#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:58:57,739 INFO L280 TraceCheckUtils]: 15: Hoare triple {3268#(<= ULTIMATE.start_main_~j~0 6)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3269#(<= ULTIMATE.start_main_~j~0 7)} is VALID [2020-07-28 17:58:57,740 INFO L280 TraceCheckUtils]: 16: Hoare triple {3269#(<= ULTIMATE.start_main_~j~0 7)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3269#(<= ULTIMATE.start_main_~j~0 7)} is VALID [2020-07-28 17:58:57,740 INFO L280 TraceCheckUtils]: 17: Hoare triple {3269#(<= ULTIMATE.start_main_~j~0 7)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3270#(<= ULTIMATE.start_main_~j~0 8)} is VALID [2020-07-28 17:58:57,741 INFO L280 TraceCheckUtils]: 18: Hoare triple {3270#(<= ULTIMATE.start_main_~j~0 8)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3270#(<= ULTIMATE.start_main_~j~0 8)} is VALID [2020-07-28 17:58:57,741 INFO L280 TraceCheckUtils]: 19: Hoare triple {3270#(<= ULTIMATE.start_main_~j~0 8)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3271#(<= ULTIMATE.start_main_~j~0 9)} is VALID [2020-07-28 17:58:57,742 INFO L280 TraceCheckUtils]: 20: Hoare triple {3271#(<= ULTIMATE.start_main_~j~0 9)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3271#(<= ULTIMATE.start_main_~j~0 9)} is VALID [2020-07-28 17:58:57,743 INFO L280 TraceCheckUtils]: 21: Hoare triple {3271#(<= ULTIMATE.start_main_~j~0 9)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3272#(<= ULTIMATE.start_main_~j~0 10)} is VALID [2020-07-28 17:58:57,744 INFO L280 TraceCheckUtils]: 22: Hoare triple {3272#(<= ULTIMATE.start_main_~j~0 10)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3272#(<= ULTIMATE.start_main_~j~0 10)} is VALID [2020-07-28 17:58:57,745 INFO L280 TraceCheckUtils]: 23: Hoare triple {3272#(<= ULTIMATE.start_main_~j~0 10)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3273#(<= ULTIMATE.start_main_~j~0 11)} is VALID [2020-07-28 17:58:57,745 INFO L280 TraceCheckUtils]: 24: Hoare triple {3273#(<= ULTIMATE.start_main_~j~0 11)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3273#(<= ULTIMATE.start_main_~j~0 11)} is VALID [2020-07-28 17:58:57,746 INFO L280 TraceCheckUtils]: 25: Hoare triple {3273#(<= ULTIMATE.start_main_~j~0 11)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3274#(<= ULTIMATE.start_main_~j~0 12)} is VALID [2020-07-28 17:58:57,747 INFO L280 TraceCheckUtils]: 26: Hoare triple {3274#(<= ULTIMATE.start_main_~j~0 12)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3274#(<= ULTIMATE.start_main_~j~0 12)} is VALID [2020-07-28 17:58:57,748 INFO L280 TraceCheckUtils]: 27: Hoare triple {3274#(<= ULTIMATE.start_main_~j~0 12)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3275#(<= ULTIMATE.start_main_~j~0 13)} is VALID [2020-07-28 17:58:57,748 INFO L280 TraceCheckUtils]: 28: Hoare triple {3275#(<= ULTIMATE.start_main_~j~0 13)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3275#(<= ULTIMATE.start_main_~j~0 13)} is VALID [2020-07-28 17:58:57,749 INFO L280 TraceCheckUtils]: 29: Hoare triple {3275#(<= ULTIMATE.start_main_~j~0 13)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3276#(<= ULTIMATE.start_main_~j~0 14)} is VALID [2020-07-28 17:58:57,750 INFO L280 TraceCheckUtils]: 30: Hoare triple {3276#(<= ULTIMATE.start_main_~j~0 14)} assume !(main_~j~0 < 20); {3261#false} is VALID [2020-07-28 17:58:57,750 INFO L280 TraceCheckUtils]: 31: Hoare triple {3261#false} assume -2147483648 <= main_#t~nondet4 && main_#t~nondet4 <= 2147483647;main_~i~0 := main_#t~nondet4;havoc main_#t~nondet4; {3261#false} is VALID [2020-07-28 17:58:57,751 INFO L280 TraceCheckUtils]: 32: Hoare triple {3261#false} assume main_~i~0 >= 0 && main_~i~0 < 10;main_~ad2~0.base, main_~ad2~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset;call write~int(main_~i~0, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0, 4);main_~pa~0.base, main_~pa~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0;call main_#t~mem5 := read~int(main_~ad2~0.base, main_~ad2~0.offset + 8 * main_~i~0, 4);main_~i~0 := 10 + main_#t~mem5;havoc main_#t~mem5; {3261#false} is VALID [2020-07-28 17:58:57,751 INFO L280 TraceCheckUtils]: 33: Hoare triple {3261#false} call main_#t~mem6 := read~int(main_~pa~0.base, main_~pa~0.offset, 4); {3261#false} is VALID [2020-07-28 17:58:57,751 INFO L280 TraceCheckUtils]: 34: Hoare triple {3261#false} assume !(main_~i~0 < main_#t~mem6);havoc main_#t~mem6; {3261#false} is VALID [2020-07-28 17:58:57,751 INFO L280 TraceCheckUtils]: 35: Hoare triple {3261#false} check_#in~ad1.base, check_#in~ad1.offset, check_#in~b := main_~#ad1~0.base, main_~#ad1~0.offset, main_~i~0;havoc check_#res;havoc check_#t~mem0, check_~ad1.base, check_~ad1.offset, check_~b;check_~ad1.base, check_~ad1.offset := check_#in~ad1.base, check_#in~ad1.offset;check_~b := check_#in~b;call check_#t~mem0 := read~int(check_~ad1.base, check_~ad1.offset + 8 * check_~b, 4);check_#res := (if check_#t~mem0 == check_~b then 1 else 0);havoc check_#t~mem0; {3261#false} is VALID [2020-07-28 17:58:57,752 INFO L280 TraceCheckUtils]: 36: Hoare triple {3261#false} main_#t~ret8 := check_#res;assume -2147483648 <= main_#t~ret8 && main_#t~ret8 <= 2147483647; {3261#false} is VALID [2020-07-28 17:58:57,752 INFO L280 TraceCheckUtils]: 37: Hoare triple {3261#false} assume 0 == main_#t~ret8;havoc main_#t~ret8; {3261#false} is VALID [2020-07-28 17:58:57,752 INFO L280 TraceCheckUtils]: 38: Hoare triple {3261#false} assume !false; {3261#false} is VALID [2020-07-28 17:58:57,754 INFO L134 CoverageAnalysis]: Checked inductivity of 196 backedges. 0 proven. 196 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 17:58:57,754 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [936212207] [2020-07-28 17:58:57,754 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1058376441] [2020-07-28 17:58:57,754 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 15 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 15 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-28 17:58:57,802 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2020-07-28 17:58:57,802 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2020-07-28 17:58:57,803 INFO L263 TraceCheckSpWp]: Trace formula consists of 172 conjuncts, 16 conjunts are in the unsatisfiable core [2020-07-28 17:58:57,823 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:58:57,825 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 17:58:58,179 INFO L280 TraceCheckUtils]: 0: Hoare triple {3260#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {3260#true} is VALID [2020-07-28 17:58:58,180 INFO L280 TraceCheckUtils]: 1: Hoare triple {3260#true} havoc main_#res;havoc main_#t~nondet2, main_#t~nondet3, main_#t~post1, main_#t~nondet4, main_#t~mem5, main_#t~pre7, main_#t~mem6, main_#t~ret8, main_~#ad1~0.base, main_~#ad1~0.offset, main_~ad2~0.base, main_~ad2~0.offset, main_~i~0, main_~j~0, main_~pa~0.base, main_~pa~0.offset;call main_~#ad1~0.base, main_~#ad1~0.offset := #Ultimate.allocOnStack(160);havoc main_~ad2~0.base, main_~ad2~0.offset;havoc main_~i~0;havoc main_~j~0;havoc main_~pa~0.base, main_~pa~0.offset;main_~j~0 := 0; {3283#(<= ULTIMATE.start_main_~j~0 0)} is VALID [2020-07-28 17:58:58,181 INFO L280 TraceCheckUtils]: 2: Hoare triple {3283#(<= ULTIMATE.start_main_~j~0 0)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3283#(<= ULTIMATE.start_main_~j~0 0)} is VALID [2020-07-28 17:58:58,182 INFO L280 TraceCheckUtils]: 3: Hoare triple {3283#(<= ULTIMATE.start_main_~j~0 0)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3263#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:58:58,182 INFO L280 TraceCheckUtils]: 4: Hoare triple {3263#(<= ULTIMATE.start_main_~j~0 1)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3263#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:58:58,183 INFO L280 TraceCheckUtils]: 5: Hoare triple {3263#(<= ULTIMATE.start_main_~j~0 1)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3264#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:58:58,183 INFO L280 TraceCheckUtils]: 6: Hoare triple {3264#(<= ULTIMATE.start_main_~j~0 2)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3264#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:58:58,184 INFO L280 TraceCheckUtils]: 7: Hoare triple {3264#(<= ULTIMATE.start_main_~j~0 2)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3265#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:58:58,185 INFO L280 TraceCheckUtils]: 8: Hoare triple {3265#(<= ULTIMATE.start_main_~j~0 3)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3265#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:58:58,185 INFO L280 TraceCheckUtils]: 9: Hoare triple {3265#(<= ULTIMATE.start_main_~j~0 3)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3266#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:58:58,186 INFO L280 TraceCheckUtils]: 10: Hoare triple {3266#(<= ULTIMATE.start_main_~j~0 4)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3266#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:58:58,186 INFO L280 TraceCheckUtils]: 11: Hoare triple {3266#(<= ULTIMATE.start_main_~j~0 4)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3267#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:58:58,187 INFO L280 TraceCheckUtils]: 12: Hoare triple {3267#(<= ULTIMATE.start_main_~j~0 5)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3267#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:58:58,188 INFO L280 TraceCheckUtils]: 13: Hoare triple {3267#(<= ULTIMATE.start_main_~j~0 5)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3268#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:58:58,188 INFO L280 TraceCheckUtils]: 14: Hoare triple {3268#(<= ULTIMATE.start_main_~j~0 6)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3268#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:58:58,189 INFO L280 TraceCheckUtils]: 15: Hoare triple {3268#(<= ULTIMATE.start_main_~j~0 6)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3269#(<= ULTIMATE.start_main_~j~0 7)} is VALID [2020-07-28 17:58:58,189 INFO L280 TraceCheckUtils]: 16: Hoare triple {3269#(<= ULTIMATE.start_main_~j~0 7)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3269#(<= ULTIMATE.start_main_~j~0 7)} is VALID [2020-07-28 17:58:58,190 INFO L280 TraceCheckUtils]: 17: Hoare triple {3269#(<= ULTIMATE.start_main_~j~0 7)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3270#(<= ULTIMATE.start_main_~j~0 8)} is VALID [2020-07-28 17:58:58,190 INFO L280 TraceCheckUtils]: 18: Hoare triple {3270#(<= ULTIMATE.start_main_~j~0 8)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3270#(<= ULTIMATE.start_main_~j~0 8)} is VALID [2020-07-28 17:58:58,191 INFO L280 TraceCheckUtils]: 19: Hoare triple {3270#(<= ULTIMATE.start_main_~j~0 8)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3271#(<= ULTIMATE.start_main_~j~0 9)} is VALID [2020-07-28 17:58:58,192 INFO L280 TraceCheckUtils]: 20: Hoare triple {3271#(<= ULTIMATE.start_main_~j~0 9)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3271#(<= ULTIMATE.start_main_~j~0 9)} is VALID [2020-07-28 17:58:58,192 INFO L280 TraceCheckUtils]: 21: Hoare triple {3271#(<= ULTIMATE.start_main_~j~0 9)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3272#(<= ULTIMATE.start_main_~j~0 10)} is VALID [2020-07-28 17:58:58,193 INFO L280 TraceCheckUtils]: 22: Hoare triple {3272#(<= ULTIMATE.start_main_~j~0 10)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3272#(<= ULTIMATE.start_main_~j~0 10)} is VALID [2020-07-28 17:58:58,193 INFO L280 TraceCheckUtils]: 23: Hoare triple {3272#(<= ULTIMATE.start_main_~j~0 10)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3273#(<= ULTIMATE.start_main_~j~0 11)} is VALID [2020-07-28 17:58:58,194 INFO L280 TraceCheckUtils]: 24: Hoare triple {3273#(<= ULTIMATE.start_main_~j~0 11)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3273#(<= ULTIMATE.start_main_~j~0 11)} is VALID [2020-07-28 17:58:58,195 INFO L280 TraceCheckUtils]: 25: Hoare triple {3273#(<= ULTIMATE.start_main_~j~0 11)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3274#(<= ULTIMATE.start_main_~j~0 12)} is VALID [2020-07-28 17:58:58,196 INFO L280 TraceCheckUtils]: 26: Hoare triple {3274#(<= ULTIMATE.start_main_~j~0 12)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3274#(<= ULTIMATE.start_main_~j~0 12)} is VALID [2020-07-28 17:58:58,197 INFO L280 TraceCheckUtils]: 27: Hoare triple {3274#(<= ULTIMATE.start_main_~j~0 12)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3275#(<= ULTIMATE.start_main_~j~0 13)} is VALID [2020-07-28 17:58:58,198 INFO L280 TraceCheckUtils]: 28: Hoare triple {3275#(<= ULTIMATE.start_main_~j~0 13)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3275#(<= ULTIMATE.start_main_~j~0 13)} is VALID [2020-07-28 17:58:58,198 INFO L280 TraceCheckUtils]: 29: Hoare triple {3275#(<= ULTIMATE.start_main_~j~0 13)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3276#(<= ULTIMATE.start_main_~j~0 14)} is VALID [2020-07-28 17:58:58,199 INFO L280 TraceCheckUtils]: 30: Hoare triple {3276#(<= ULTIMATE.start_main_~j~0 14)} assume !(main_~j~0 < 20); {3261#false} is VALID [2020-07-28 17:58:58,199 INFO L280 TraceCheckUtils]: 31: Hoare triple {3261#false} assume -2147483648 <= main_#t~nondet4 && main_#t~nondet4 <= 2147483647;main_~i~0 := main_#t~nondet4;havoc main_#t~nondet4; {3261#false} is VALID [2020-07-28 17:58:58,199 INFO L280 TraceCheckUtils]: 32: Hoare triple {3261#false} assume main_~i~0 >= 0 && main_~i~0 < 10;main_~ad2~0.base, main_~ad2~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset;call write~int(main_~i~0, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0, 4);main_~pa~0.base, main_~pa~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0;call main_#t~mem5 := read~int(main_~ad2~0.base, main_~ad2~0.offset + 8 * main_~i~0, 4);main_~i~0 := 10 + main_#t~mem5;havoc main_#t~mem5; {3261#false} is VALID [2020-07-28 17:58:58,199 INFO L280 TraceCheckUtils]: 33: Hoare triple {3261#false} call main_#t~mem6 := read~int(main_~pa~0.base, main_~pa~0.offset, 4); {3261#false} is VALID [2020-07-28 17:58:58,199 INFO L280 TraceCheckUtils]: 34: Hoare triple {3261#false} assume !(main_~i~0 < main_#t~mem6);havoc main_#t~mem6; {3261#false} is VALID [2020-07-28 17:58:58,200 INFO L280 TraceCheckUtils]: 35: Hoare triple {3261#false} check_#in~ad1.base, check_#in~ad1.offset, check_#in~b := main_~#ad1~0.base, main_~#ad1~0.offset, main_~i~0;havoc check_#res;havoc check_#t~mem0, check_~ad1.base, check_~ad1.offset, check_~b;check_~ad1.base, check_~ad1.offset := check_#in~ad1.base, check_#in~ad1.offset;check_~b := check_#in~b;call check_#t~mem0 := read~int(check_~ad1.base, check_~ad1.offset + 8 * check_~b, 4);check_#res := (if check_#t~mem0 == check_~b then 1 else 0);havoc check_#t~mem0; {3261#false} is VALID [2020-07-28 17:58:58,200 INFO L280 TraceCheckUtils]: 36: Hoare triple {3261#false} main_#t~ret8 := check_#res;assume -2147483648 <= main_#t~ret8 && main_#t~ret8 <= 2147483647; {3261#false} is VALID [2020-07-28 17:58:58,200 INFO L280 TraceCheckUtils]: 37: Hoare triple {3261#false} assume 0 == main_#t~ret8;havoc main_#t~ret8; {3261#false} is VALID [2020-07-28 17:58:58,200 INFO L280 TraceCheckUtils]: 38: Hoare triple {3261#false} assume !false; {3261#false} is VALID [2020-07-28 17:58:58,201 INFO L134 CoverageAnalysis]: Checked inductivity of 196 backedges. 0 proven. 196 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 17:58:58,201 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-28 17:58:58,201 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 17] total 18 [2020-07-28 17:58:58,202 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [265831071] [2020-07-28 17:58:58,202 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 39 [2020-07-28 17:58:58,202 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 17:58:58,202 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states. [2020-07-28 17:58:58,257 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:58:58,257 INFO L459 AbstractCegarLoop]: Interpolant automaton has 18 states [2020-07-28 17:58:58,258 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-28 17:58:58,258 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2020-07-28 17:58:58,258 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=153, Invalid=153, Unknown=0, NotChecked=0, Total=306 [2020-07-28 17:58:58,258 INFO L87 Difference]: Start difference. First operand 40 states and 41 transitions. Second operand 18 states. [2020-07-28 17:58:58,477 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:58:58,477 INFO L93 Difference]: Finished difference Result 52 states and 54 transitions. [2020-07-28 17:58:58,477 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2020-07-28 17:58:58,477 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 39 [2020-07-28 17:58:58,478 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 17:58:58,478 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2020-07-28 17:58:58,478 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 54 transitions. [2020-07-28 17:58:58,478 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2020-07-28 17:58:58,479 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 54 transitions. [2020-07-28 17:58:58,480 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states and 54 transitions. [2020-07-28 17:58:58,543 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 17:58:58,544 INFO L225 Difference]: With dead ends: 52 [2020-07-28 17:58:58,544 INFO L226 Difference]: Without dead ends: 43 [2020-07-28 17:58:58,544 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 55 GetRequests, 39 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 26 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=153, Invalid=153, Unknown=0, NotChecked=0, Total=306 [2020-07-28 17:58:58,545 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2020-07-28 17:58:58,563 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 42. [2020-07-28 17:58:58,563 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 17:58:58,563 INFO L82 GeneralOperation]: Start isEquivalent. First operand 43 states. Second operand 42 states. [2020-07-28 17:58:58,563 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand 42 states. [2020-07-28 17:58:58,563 INFO L87 Difference]: Start difference. First operand 43 states. Second operand 42 states. [2020-07-28 17:58:58,564 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:58:58,565 INFO L93 Difference]: Finished difference Result 43 states and 44 transitions. [2020-07-28 17:58:58,565 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 44 transitions. [2020-07-28 17:58:58,565 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:58:58,565 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:58:58,565 INFO L74 IsIncluded]: Start isIncluded. First operand 42 states. Second operand 43 states. [2020-07-28 17:58:58,566 INFO L87 Difference]: Start difference. First operand 42 states. Second operand 43 states. [2020-07-28 17:58:58,567 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:58:58,567 INFO L93 Difference]: Finished difference Result 43 states and 44 transitions. [2020-07-28 17:58:58,567 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 44 transitions. [2020-07-28 17:58:58,567 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:58:58,567 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:58:58,567 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 17:58:58,568 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 17:58:58,568 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 42 states. [2020-07-28 17:58:58,569 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 43 transitions. [2020-07-28 17:58:58,569 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 43 transitions. Word has length 39 [2020-07-28 17:58:58,569 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 17:58:58,569 INFO L479 AbstractCegarLoop]: Abstraction has 42 states and 43 transitions. [2020-07-28 17:58:58,569 INFO L480 AbstractCegarLoop]: Interpolant automaton has 18 states. [2020-07-28 17:58:58,569 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 43 transitions. [2020-07-28 17:58:58,570 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2020-07-28 17:58:58,570 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 17:58:58,570 INFO L422 BasicCegarLoop]: trace histogram [15, 15, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 17:58:58,770 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable15,15 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-28 17:58:58,771 INFO L427 AbstractCegarLoop]: === Iteration 17 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 17:58:58,771 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 17:58:58,771 INFO L82 PathProgramCache]: Analyzing trace with hash 1550985207, now seen corresponding path program 15 times [2020-07-28 17:58:58,771 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 17:58:58,771 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1665271575] [2020-07-28 17:58:58,771 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 17:58:58,790 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:58:59,042 INFO L280 TraceCheckUtils]: 0: Hoare triple {3615#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {3615#true} is VALID [2020-07-28 17:58:59,043 INFO L280 TraceCheckUtils]: 1: Hoare triple {3615#true} havoc main_#res;havoc main_#t~nondet2, main_#t~nondet3, main_#t~post1, main_#t~nondet4, main_#t~mem5, main_#t~pre7, main_#t~mem6, main_#t~ret8, main_~#ad1~0.base, main_~#ad1~0.offset, main_~ad2~0.base, main_~ad2~0.offset, main_~i~0, main_~j~0, main_~pa~0.base, main_~pa~0.offset;call main_~#ad1~0.base, main_~#ad1~0.offset := #Ultimate.allocOnStack(160);havoc main_~ad2~0.base, main_~ad2~0.offset;havoc main_~i~0;havoc main_~j~0;havoc main_~pa~0.base, main_~pa~0.offset;main_~j~0 := 0; {3617#(= 0 ULTIMATE.start_main_~j~0)} is VALID [2020-07-28 17:58:59,043 INFO L280 TraceCheckUtils]: 2: Hoare triple {3617#(= 0 ULTIMATE.start_main_~j~0)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3617#(= 0 ULTIMATE.start_main_~j~0)} is VALID [2020-07-28 17:58:59,044 INFO L280 TraceCheckUtils]: 3: Hoare triple {3617#(= 0 ULTIMATE.start_main_~j~0)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3618#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:58:59,045 INFO L280 TraceCheckUtils]: 4: Hoare triple {3618#(<= ULTIMATE.start_main_~j~0 1)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3618#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:58:59,046 INFO L280 TraceCheckUtils]: 5: Hoare triple {3618#(<= ULTIMATE.start_main_~j~0 1)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3619#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:58:59,046 INFO L280 TraceCheckUtils]: 6: Hoare triple {3619#(<= ULTIMATE.start_main_~j~0 2)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3619#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:58:59,047 INFO L280 TraceCheckUtils]: 7: Hoare triple {3619#(<= ULTIMATE.start_main_~j~0 2)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3620#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:58:59,047 INFO L280 TraceCheckUtils]: 8: Hoare triple {3620#(<= ULTIMATE.start_main_~j~0 3)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3620#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:58:59,048 INFO L280 TraceCheckUtils]: 9: Hoare triple {3620#(<= ULTIMATE.start_main_~j~0 3)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3621#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:58:59,049 INFO L280 TraceCheckUtils]: 10: Hoare triple {3621#(<= ULTIMATE.start_main_~j~0 4)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3621#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:58:59,050 INFO L280 TraceCheckUtils]: 11: Hoare triple {3621#(<= ULTIMATE.start_main_~j~0 4)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3622#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:58:59,050 INFO L280 TraceCheckUtils]: 12: Hoare triple {3622#(<= ULTIMATE.start_main_~j~0 5)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3622#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:58:59,051 INFO L280 TraceCheckUtils]: 13: Hoare triple {3622#(<= ULTIMATE.start_main_~j~0 5)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3623#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:58:59,051 INFO L280 TraceCheckUtils]: 14: Hoare triple {3623#(<= ULTIMATE.start_main_~j~0 6)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3623#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:58:59,052 INFO L280 TraceCheckUtils]: 15: Hoare triple {3623#(<= ULTIMATE.start_main_~j~0 6)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3624#(<= ULTIMATE.start_main_~j~0 7)} is VALID [2020-07-28 17:58:59,052 INFO L280 TraceCheckUtils]: 16: Hoare triple {3624#(<= ULTIMATE.start_main_~j~0 7)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3624#(<= ULTIMATE.start_main_~j~0 7)} is VALID [2020-07-28 17:58:59,053 INFO L280 TraceCheckUtils]: 17: Hoare triple {3624#(<= ULTIMATE.start_main_~j~0 7)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3625#(<= ULTIMATE.start_main_~j~0 8)} is VALID [2020-07-28 17:58:59,054 INFO L280 TraceCheckUtils]: 18: Hoare triple {3625#(<= ULTIMATE.start_main_~j~0 8)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3625#(<= ULTIMATE.start_main_~j~0 8)} is VALID [2020-07-28 17:58:59,054 INFO L280 TraceCheckUtils]: 19: Hoare triple {3625#(<= ULTIMATE.start_main_~j~0 8)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3626#(<= ULTIMATE.start_main_~j~0 9)} is VALID [2020-07-28 17:58:59,055 INFO L280 TraceCheckUtils]: 20: Hoare triple {3626#(<= ULTIMATE.start_main_~j~0 9)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3626#(<= ULTIMATE.start_main_~j~0 9)} is VALID [2020-07-28 17:58:59,055 INFO L280 TraceCheckUtils]: 21: Hoare triple {3626#(<= ULTIMATE.start_main_~j~0 9)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3627#(<= ULTIMATE.start_main_~j~0 10)} is VALID [2020-07-28 17:58:59,056 INFO L280 TraceCheckUtils]: 22: Hoare triple {3627#(<= ULTIMATE.start_main_~j~0 10)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3627#(<= ULTIMATE.start_main_~j~0 10)} is VALID [2020-07-28 17:58:59,056 INFO L280 TraceCheckUtils]: 23: Hoare triple {3627#(<= ULTIMATE.start_main_~j~0 10)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3628#(<= ULTIMATE.start_main_~j~0 11)} is VALID [2020-07-28 17:58:59,057 INFO L280 TraceCheckUtils]: 24: Hoare triple {3628#(<= ULTIMATE.start_main_~j~0 11)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3628#(<= ULTIMATE.start_main_~j~0 11)} is VALID [2020-07-28 17:58:59,058 INFO L280 TraceCheckUtils]: 25: Hoare triple {3628#(<= ULTIMATE.start_main_~j~0 11)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3629#(<= ULTIMATE.start_main_~j~0 12)} is VALID [2020-07-28 17:58:59,058 INFO L280 TraceCheckUtils]: 26: Hoare triple {3629#(<= ULTIMATE.start_main_~j~0 12)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3629#(<= ULTIMATE.start_main_~j~0 12)} is VALID [2020-07-28 17:58:59,067 INFO L280 TraceCheckUtils]: 27: Hoare triple {3629#(<= ULTIMATE.start_main_~j~0 12)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3630#(<= ULTIMATE.start_main_~j~0 13)} is VALID [2020-07-28 17:58:59,068 INFO L280 TraceCheckUtils]: 28: Hoare triple {3630#(<= ULTIMATE.start_main_~j~0 13)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3630#(<= ULTIMATE.start_main_~j~0 13)} is VALID [2020-07-28 17:58:59,068 INFO L280 TraceCheckUtils]: 29: Hoare triple {3630#(<= ULTIMATE.start_main_~j~0 13)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3631#(<= ULTIMATE.start_main_~j~0 14)} is VALID [2020-07-28 17:58:59,069 INFO L280 TraceCheckUtils]: 30: Hoare triple {3631#(<= ULTIMATE.start_main_~j~0 14)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3631#(<= ULTIMATE.start_main_~j~0 14)} is VALID [2020-07-28 17:58:59,070 INFO L280 TraceCheckUtils]: 31: Hoare triple {3631#(<= ULTIMATE.start_main_~j~0 14)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3632#(<= ULTIMATE.start_main_~j~0 15)} is VALID [2020-07-28 17:58:59,071 INFO L280 TraceCheckUtils]: 32: Hoare triple {3632#(<= ULTIMATE.start_main_~j~0 15)} assume !(main_~j~0 < 20); {3616#false} is VALID [2020-07-28 17:58:59,071 INFO L280 TraceCheckUtils]: 33: Hoare triple {3616#false} assume -2147483648 <= main_#t~nondet4 && main_#t~nondet4 <= 2147483647;main_~i~0 := main_#t~nondet4;havoc main_#t~nondet4; {3616#false} is VALID [2020-07-28 17:58:59,071 INFO L280 TraceCheckUtils]: 34: Hoare triple {3616#false} assume main_~i~0 >= 0 && main_~i~0 < 10;main_~ad2~0.base, main_~ad2~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset;call write~int(main_~i~0, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0, 4);main_~pa~0.base, main_~pa~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0;call main_#t~mem5 := read~int(main_~ad2~0.base, main_~ad2~0.offset + 8 * main_~i~0, 4);main_~i~0 := 10 + main_#t~mem5;havoc main_#t~mem5; {3616#false} is VALID [2020-07-28 17:58:59,071 INFO L280 TraceCheckUtils]: 35: Hoare triple {3616#false} call main_#t~mem6 := read~int(main_~pa~0.base, main_~pa~0.offset, 4); {3616#false} is VALID [2020-07-28 17:58:59,071 INFO L280 TraceCheckUtils]: 36: Hoare triple {3616#false} assume !(main_~i~0 < main_#t~mem6);havoc main_#t~mem6; {3616#false} is VALID [2020-07-28 17:58:59,072 INFO L280 TraceCheckUtils]: 37: Hoare triple {3616#false} check_#in~ad1.base, check_#in~ad1.offset, check_#in~b := main_~#ad1~0.base, main_~#ad1~0.offset, main_~i~0;havoc check_#res;havoc check_#t~mem0, check_~ad1.base, check_~ad1.offset, check_~b;check_~ad1.base, check_~ad1.offset := check_#in~ad1.base, check_#in~ad1.offset;check_~b := check_#in~b;call check_#t~mem0 := read~int(check_~ad1.base, check_~ad1.offset + 8 * check_~b, 4);check_#res := (if check_#t~mem0 == check_~b then 1 else 0);havoc check_#t~mem0; {3616#false} is VALID [2020-07-28 17:58:59,072 INFO L280 TraceCheckUtils]: 38: Hoare triple {3616#false} main_#t~ret8 := check_#res;assume -2147483648 <= main_#t~ret8 && main_#t~ret8 <= 2147483647; {3616#false} is VALID [2020-07-28 17:58:59,072 INFO L280 TraceCheckUtils]: 39: Hoare triple {3616#false} assume 0 == main_#t~ret8;havoc main_#t~ret8; {3616#false} is VALID [2020-07-28 17:58:59,072 INFO L280 TraceCheckUtils]: 40: Hoare triple {3616#false} assume !false; {3616#false} is VALID [2020-07-28 17:58:59,074 INFO L134 CoverageAnalysis]: Checked inductivity of 225 backedges. 0 proven. 225 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 17:58:59,074 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1665271575] [2020-07-28 17:58:59,075 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [767211957] [2020-07-28 17:58:59,075 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 16 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 16 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-28 17:58:59,594 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 16 check-sat command(s) [2020-07-28 17:58:59,595 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2020-07-28 17:58:59,599 INFO L263 TraceCheckSpWp]: Trace formula consists of 180 conjuncts, 17 conjunts are in the unsatisfiable core [2020-07-28 17:58:59,618 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:58:59,620 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 17:59:00,023 INFO L280 TraceCheckUtils]: 0: Hoare triple {3615#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {3615#true} is VALID [2020-07-28 17:59:00,024 INFO L280 TraceCheckUtils]: 1: Hoare triple {3615#true} havoc main_#res;havoc main_#t~nondet2, main_#t~nondet3, main_#t~post1, main_#t~nondet4, main_#t~mem5, main_#t~pre7, main_#t~mem6, main_#t~ret8, main_~#ad1~0.base, main_~#ad1~0.offset, main_~ad2~0.base, main_~ad2~0.offset, main_~i~0, main_~j~0, main_~pa~0.base, main_~pa~0.offset;call main_~#ad1~0.base, main_~#ad1~0.offset := #Ultimate.allocOnStack(160);havoc main_~ad2~0.base, main_~ad2~0.offset;havoc main_~i~0;havoc main_~j~0;havoc main_~pa~0.base, main_~pa~0.offset;main_~j~0 := 0; {3639#(<= ULTIMATE.start_main_~j~0 0)} is VALID [2020-07-28 17:59:00,025 INFO L280 TraceCheckUtils]: 2: Hoare triple {3639#(<= ULTIMATE.start_main_~j~0 0)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3639#(<= ULTIMATE.start_main_~j~0 0)} is VALID [2020-07-28 17:59:00,026 INFO L280 TraceCheckUtils]: 3: Hoare triple {3639#(<= ULTIMATE.start_main_~j~0 0)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3618#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:59:00,026 INFO L280 TraceCheckUtils]: 4: Hoare triple {3618#(<= ULTIMATE.start_main_~j~0 1)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3618#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:59:00,027 INFO L280 TraceCheckUtils]: 5: Hoare triple {3618#(<= ULTIMATE.start_main_~j~0 1)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3619#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:59:00,027 INFO L280 TraceCheckUtils]: 6: Hoare triple {3619#(<= ULTIMATE.start_main_~j~0 2)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3619#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:59:00,028 INFO L280 TraceCheckUtils]: 7: Hoare triple {3619#(<= ULTIMATE.start_main_~j~0 2)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3620#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:59:00,029 INFO L280 TraceCheckUtils]: 8: Hoare triple {3620#(<= ULTIMATE.start_main_~j~0 3)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3620#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:59:00,029 INFO L280 TraceCheckUtils]: 9: Hoare triple {3620#(<= ULTIMATE.start_main_~j~0 3)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3621#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:59:00,030 INFO L280 TraceCheckUtils]: 10: Hoare triple {3621#(<= ULTIMATE.start_main_~j~0 4)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3621#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:59:00,030 INFO L280 TraceCheckUtils]: 11: Hoare triple {3621#(<= ULTIMATE.start_main_~j~0 4)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3622#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:59:00,031 INFO L280 TraceCheckUtils]: 12: Hoare triple {3622#(<= ULTIMATE.start_main_~j~0 5)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3622#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:59:00,031 INFO L280 TraceCheckUtils]: 13: Hoare triple {3622#(<= ULTIMATE.start_main_~j~0 5)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3623#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:59:00,032 INFO L280 TraceCheckUtils]: 14: Hoare triple {3623#(<= ULTIMATE.start_main_~j~0 6)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3623#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:59:00,032 INFO L280 TraceCheckUtils]: 15: Hoare triple {3623#(<= ULTIMATE.start_main_~j~0 6)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3624#(<= ULTIMATE.start_main_~j~0 7)} is VALID [2020-07-28 17:59:00,033 INFO L280 TraceCheckUtils]: 16: Hoare triple {3624#(<= ULTIMATE.start_main_~j~0 7)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3624#(<= ULTIMATE.start_main_~j~0 7)} is VALID [2020-07-28 17:59:00,033 INFO L280 TraceCheckUtils]: 17: Hoare triple {3624#(<= ULTIMATE.start_main_~j~0 7)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3625#(<= ULTIMATE.start_main_~j~0 8)} is VALID [2020-07-28 17:59:00,034 INFO L280 TraceCheckUtils]: 18: Hoare triple {3625#(<= ULTIMATE.start_main_~j~0 8)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3625#(<= ULTIMATE.start_main_~j~0 8)} is VALID [2020-07-28 17:59:00,034 INFO L280 TraceCheckUtils]: 19: Hoare triple {3625#(<= ULTIMATE.start_main_~j~0 8)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3626#(<= ULTIMATE.start_main_~j~0 9)} is VALID [2020-07-28 17:59:00,035 INFO L280 TraceCheckUtils]: 20: Hoare triple {3626#(<= ULTIMATE.start_main_~j~0 9)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3626#(<= ULTIMATE.start_main_~j~0 9)} is VALID [2020-07-28 17:59:00,035 INFO L280 TraceCheckUtils]: 21: Hoare triple {3626#(<= ULTIMATE.start_main_~j~0 9)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3627#(<= ULTIMATE.start_main_~j~0 10)} is VALID [2020-07-28 17:59:00,036 INFO L280 TraceCheckUtils]: 22: Hoare triple {3627#(<= ULTIMATE.start_main_~j~0 10)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3627#(<= ULTIMATE.start_main_~j~0 10)} is VALID [2020-07-28 17:59:00,036 INFO L280 TraceCheckUtils]: 23: Hoare triple {3627#(<= ULTIMATE.start_main_~j~0 10)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3628#(<= ULTIMATE.start_main_~j~0 11)} is VALID [2020-07-28 17:59:00,037 INFO L280 TraceCheckUtils]: 24: Hoare triple {3628#(<= ULTIMATE.start_main_~j~0 11)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3628#(<= ULTIMATE.start_main_~j~0 11)} is VALID [2020-07-28 17:59:00,037 INFO L280 TraceCheckUtils]: 25: Hoare triple {3628#(<= ULTIMATE.start_main_~j~0 11)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3629#(<= ULTIMATE.start_main_~j~0 12)} is VALID [2020-07-28 17:59:00,038 INFO L280 TraceCheckUtils]: 26: Hoare triple {3629#(<= ULTIMATE.start_main_~j~0 12)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3629#(<= ULTIMATE.start_main_~j~0 12)} is VALID [2020-07-28 17:59:00,039 INFO L280 TraceCheckUtils]: 27: Hoare triple {3629#(<= ULTIMATE.start_main_~j~0 12)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3630#(<= ULTIMATE.start_main_~j~0 13)} is VALID [2020-07-28 17:59:00,039 INFO L280 TraceCheckUtils]: 28: Hoare triple {3630#(<= ULTIMATE.start_main_~j~0 13)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3630#(<= ULTIMATE.start_main_~j~0 13)} is VALID [2020-07-28 17:59:00,040 INFO L280 TraceCheckUtils]: 29: Hoare triple {3630#(<= ULTIMATE.start_main_~j~0 13)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3631#(<= ULTIMATE.start_main_~j~0 14)} is VALID [2020-07-28 17:59:00,040 INFO L280 TraceCheckUtils]: 30: Hoare triple {3631#(<= ULTIMATE.start_main_~j~0 14)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3631#(<= ULTIMATE.start_main_~j~0 14)} is VALID [2020-07-28 17:59:00,041 INFO L280 TraceCheckUtils]: 31: Hoare triple {3631#(<= ULTIMATE.start_main_~j~0 14)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3632#(<= ULTIMATE.start_main_~j~0 15)} is VALID [2020-07-28 17:59:00,042 INFO L280 TraceCheckUtils]: 32: Hoare triple {3632#(<= ULTIMATE.start_main_~j~0 15)} assume !(main_~j~0 < 20); {3616#false} is VALID [2020-07-28 17:59:00,042 INFO L280 TraceCheckUtils]: 33: Hoare triple {3616#false} assume -2147483648 <= main_#t~nondet4 && main_#t~nondet4 <= 2147483647;main_~i~0 := main_#t~nondet4;havoc main_#t~nondet4; {3616#false} is VALID [2020-07-28 17:59:00,042 INFO L280 TraceCheckUtils]: 34: Hoare triple {3616#false} assume main_~i~0 >= 0 && main_~i~0 < 10;main_~ad2~0.base, main_~ad2~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset;call write~int(main_~i~0, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0, 4);main_~pa~0.base, main_~pa~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0;call main_#t~mem5 := read~int(main_~ad2~0.base, main_~ad2~0.offset + 8 * main_~i~0, 4);main_~i~0 := 10 + main_#t~mem5;havoc main_#t~mem5; {3616#false} is VALID [2020-07-28 17:59:00,042 INFO L280 TraceCheckUtils]: 35: Hoare triple {3616#false} call main_#t~mem6 := read~int(main_~pa~0.base, main_~pa~0.offset, 4); {3616#false} is VALID [2020-07-28 17:59:00,043 INFO L280 TraceCheckUtils]: 36: Hoare triple {3616#false} assume !(main_~i~0 < main_#t~mem6);havoc main_#t~mem6; {3616#false} is VALID [2020-07-28 17:59:00,043 INFO L280 TraceCheckUtils]: 37: Hoare triple {3616#false} check_#in~ad1.base, check_#in~ad1.offset, check_#in~b := main_~#ad1~0.base, main_~#ad1~0.offset, main_~i~0;havoc check_#res;havoc check_#t~mem0, check_~ad1.base, check_~ad1.offset, check_~b;check_~ad1.base, check_~ad1.offset := check_#in~ad1.base, check_#in~ad1.offset;check_~b := check_#in~b;call check_#t~mem0 := read~int(check_~ad1.base, check_~ad1.offset + 8 * check_~b, 4);check_#res := (if check_#t~mem0 == check_~b then 1 else 0);havoc check_#t~mem0; {3616#false} is VALID [2020-07-28 17:59:00,043 INFO L280 TraceCheckUtils]: 38: Hoare triple {3616#false} main_#t~ret8 := check_#res;assume -2147483648 <= main_#t~ret8 && main_#t~ret8 <= 2147483647; {3616#false} is VALID [2020-07-28 17:59:00,043 INFO L280 TraceCheckUtils]: 39: Hoare triple {3616#false} assume 0 == main_#t~ret8;havoc main_#t~ret8; {3616#false} is VALID [2020-07-28 17:59:00,043 INFO L280 TraceCheckUtils]: 40: Hoare triple {3616#false} assume !false; {3616#false} is VALID [2020-07-28 17:59:00,044 INFO L134 CoverageAnalysis]: Checked inductivity of 225 backedges. 0 proven. 225 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 17:59:00,045 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-28 17:59:00,045 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 18] total 19 [2020-07-28 17:59:00,045 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [564293508] [2020-07-28 17:59:00,045 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 41 [2020-07-28 17:59:00,046 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 17:59:00,046 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states. [2020-07-28 17:59:00,104 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 17:59:00,104 INFO L459 AbstractCegarLoop]: Interpolant automaton has 19 states [2020-07-28 17:59:00,105 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-28 17:59:00,105 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2020-07-28 17:59:00,105 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=171, Invalid=171, Unknown=0, NotChecked=0, Total=342 [2020-07-28 17:59:00,106 INFO L87 Difference]: Start difference. First operand 42 states and 43 transitions. Second operand 19 states. [2020-07-28 17:59:00,355 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:59:00,355 INFO L93 Difference]: Finished difference Result 54 states and 56 transitions. [2020-07-28 17:59:00,355 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2020-07-28 17:59:00,355 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 41 [2020-07-28 17:59:00,355 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 17:59:00,356 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2020-07-28 17:59:00,357 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 56 transitions. [2020-07-28 17:59:00,357 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2020-07-28 17:59:00,358 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 56 transitions. [2020-07-28 17:59:00,358 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states and 56 transitions. [2020-07-28 17:59:00,429 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 17:59:00,429 INFO L225 Difference]: With dead ends: 54 [2020-07-28 17:59:00,430 INFO L226 Difference]: Without dead ends: 45 [2020-07-28 17:59:00,430 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 58 GetRequests, 41 SyntacticMatches, 0 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 28 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=171, Invalid=171, Unknown=0, NotChecked=0, Total=342 [2020-07-28 17:59:00,431 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2020-07-28 17:59:00,451 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 44. [2020-07-28 17:59:00,451 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 17:59:00,451 INFO L82 GeneralOperation]: Start isEquivalent. First operand 45 states. Second operand 44 states. [2020-07-28 17:59:00,451 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand 44 states. [2020-07-28 17:59:00,451 INFO L87 Difference]: Start difference. First operand 45 states. Second operand 44 states. [2020-07-28 17:59:00,452 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:59:00,452 INFO L93 Difference]: Finished difference Result 45 states and 46 transitions. [2020-07-28 17:59:00,452 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 46 transitions. [2020-07-28 17:59:00,453 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:59:00,453 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:59:00,453 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand 45 states. [2020-07-28 17:59:00,453 INFO L87 Difference]: Start difference. First operand 44 states. Second operand 45 states. [2020-07-28 17:59:00,453 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:59:00,454 INFO L93 Difference]: Finished difference Result 45 states and 46 transitions. [2020-07-28 17:59:00,454 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 46 transitions. [2020-07-28 17:59:00,454 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:59:00,454 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:59:00,454 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 17:59:00,454 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 17:59:00,454 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 44 states. [2020-07-28 17:59:00,455 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 44 states to 44 states and 45 transitions. [2020-07-28 17:59:00,455 INFO L78 Accepts]: Start accepts. Automaton has 44 states and 45 transitions. Word has length 41 [2020-07-28 17:59:00,455 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 17:59:00,455 INFO L479 AbstractCegarLoop]: Abstraction has 44 states and 45 transitions. [2020-07-28 17:59:00,455 INFO L480 AbstractCegarLoop]: Interpolant automaton has 19 states. [2020-07-28 17:59:00,456 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 45 transitions. [2020-07-28 17:59:00,456 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2020-07-28 17:59:00,456 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 17:59:00,456 INFO L422 BasicCegarLoop]: trace histogram [16, 16, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 17:59:00,656 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 16 z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable16 [2020-07-28 17:59:00,657 INFO L427 AbstractCegarLoop]: === Iteration 18 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 17:59:00,657 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 17:59:00,657 INFO L82 PathProgramCache]: Analyzing trace with hash 204528949, now seen corresponding path program 16 times [2020-07-28 17:59:00,657 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 17:59:00,658 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [586567495] [2020-07-28 17:59:00,658 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 17:59:00,689 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:59:00,980 INFO L280 TraceCheckUtils]: 0: Hoare triple {3987#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {3987#true} is VALID [2020-07-28 17:59:00,981 INFO L280 TraceCheckUtils]: 1: Hoare triple {3987#true} havoc main_#res;havoc main_#t~nondet2, main_#t~nondet3, main_#t~post1, main_#t~nondet4, main_#t~mem5, main_#t~pre7, main_#t~mem6, main_#t~ret8, main_~#ad1~0.base, main_~#ad1~0.offset, main_~ad2~0.base, main_~ad2~0.offset, main_~i~0, main_~j~0, main_~pa~0.base, main_~pa~0.offset;call main_~#ad1~0.base, main_~#ad1~0.offset := #Ultimate.allocOnStack(160);havoc main_~ad2~0.base, main_~ad2~0.offset;havoc main_~i~0;havoc main_~j~0;havoc main_~pa~0.base, main_~pa~0.offset;main_~j~0 := 0; {3989#(= 0 ULTIMATE.start_main_~j~0)} is VALID [2020-07-28 17:59:00,982 INFO L280 TraceCheckUtils]: 2: Hoare triple {3989#(= 0 ULTIMATE.start_main_~j~0)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3989#(= 0 ULTIMATE.start_main_~j~0)} is VALID [2020-07-28 17:59:00,982 INFO L280 TraceCheckUtils]: 3: Hoare triple {3989#(= 0 ULTIMATE.start_main_~j~0)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3990#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:59:00,983 INFO L280 TraceCheckUtils]: 4: Hoare triple {3990#(<= ULTIMATE.start_main_~j~0 1)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3990#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:59:00,984 INFO L280 TraceCheckUtils]: 5: Hoare triple {3990#(<= ULTIMATE.start_main_~j~0 1)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3991#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:59:00,984 INFO L280 TraceCheckUtils]: 6: Hoare triple {3991#(<= ULTIMATE.start_main_~j~0 2)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3991#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:59:00,985 INFO L280 TraceCheckUtils]: 7: Hoare triple {3991#(<= ULTIMATE.start_main_~j~0 2)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3992#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:59:00,985 INFO L280 TraceCheckUtils]: 8: Hoare triple {3992#(<= ULTIMATE.start_main_~j~0 3)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3992#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:59:00,986 INFO L280 TraceCheckUtils]: 9: Hoare triple {3992#(<= ULTIMATE.start_main_~j~0 3)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3993#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:59:00,986 INFO L280 TraceCheckUtils]: 10: Hoare triple {3993#(<= ULTIMATE.start_main_~j~0 4)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3993#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:59:00,987 INFO L280 TraceCheckUtils]: 11: Hoare triple {3993#(<= ULTIMATE.start_main_~j~0 4)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3994#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:59:00,987 INFO L280 TraceCheckUtils]: 12: Hoare triple {3994#(<= ULTIMATE.start_main_~j~0 5)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3994#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:59:00,988 INFO L280 TraceCheckUtils]: 13: Hoare triple {3994#(<= ULTIMATE.start_main_~j~0 5)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3995#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:59:00,988 INFO L280 TraceCheckUtils]: 14: Hoare triple {3995#(<= ULTIMATE.start_main_~j~0 6)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3995#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:59:00,989 INFO L280 TraceCheckUtils]: 15: Hoare triple {3995#(<= ULTIMATE.start_main_~j~0 6)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3996#(<= ULTIMATE.start_main_~j~0 7)} is VALID [2020-07-28 17:59:00,989 INFO L280 TraceCheckUtils]: 16: Hoare triple {3996#(<= ULTIMATE.start_main_~j~0 7)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3996#(<= ULTIMATE.start_main_~j~0 7)} is VALID [2020-07-28 17:59:00,990 INFO L280 TraceCheckUtils]: 17: Hoare triple {3996#(<= ULTIMATE.start_main_~j~0 7)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3997#(<= ULTIMATE.start_main_~j~0 8)} is VALID [2020-07-28 17:59:00,990 INFO L280 TraceCheckUtils]: 18: Hoare triple {3997#(<= ULTIMATE.start_main_~j~0 8)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3997#(<= ULTIMATE.start_main_~j~0 8)} is VALID [2020-07-28 17:59:00,991 INFO L280 TraceCheckUtils]: 19: Hoare triple {3997#(<= ULTIMATE.start_main_~j~0 8)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3998#(<= ULTIMATE.start_main_~j~0 9)} is VALID [2020-07-28 17:59:00,992 INFO L280 TraceCheckUtils]: 20: Hoare triple {3998#(<= ULTIMATE.start_main_~j~0 9)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3998#(<= ULTIMATE.start_main_~j~0 9)} is VALID [2020-07-28 17:59:00,992 INFO L280 TraceCheckUtils]: 21: Hoare triple {3998#(<= ULTIMATE.start_main_~j~0 9)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3999#(<= ULTIMATE.start_main_~j~0 10)} is VALID [2020-07-28 17:59:00,993 INFO L280 TraceCheckUtils]: 22: Hoare triple {3999#(<= ULTIMATE.start_main_~j~0 10)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3999#(<= ULTIMATE.start_main_~j~0 10)} is VALID [2020-07-28 17:59:00,993 INFO L280 TraceCheckUtils]: 23: Hoare triple {3999#(<= ULTIMATE.start_main_~j~0 10)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4000#(<= ULTIMATE.start_main_~j~0 11)} is VALID [2020-07-28 17:59:00,994 INFO L280 TraceCheckUtils]: 24: Hoare triple {4000#(<= ULTIMATE.start_main_~j~0 11)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4000#(<= ULTIMATE.start_main_~j~0 11)} is VALID [2020-07-28 17:59:00,994 INFO L280 TraceCheckUtils]: 25: Hoare triple {4000#(<= ULTIMATE.start_main_~j~0 11)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4001#(<= ULTIMATE.start_main_~j~0 12)} is VALID [2020-07-28 17:59:00,995 INFO L280 TraceCheckUtils]: 26: Hoare triple {4001#(<= ULTIMATE.start_main_~j~0 12)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4001#(<= ULTIMATE.start_main_~j~0 12)} is VALID [2020-07-28 17:59:00,995 INFO L280 TraceCheckUtils]: 27: Hoare triple {4001#(<= ULTIMATE.start_main_~j~0 12)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4002#(<= ULTIMATE.start_main_~j~0 13)} is VALID [2020-07-28 17:59:00,996 INFO L280 TraceCheckUtils]: 28: Hoare triple {4002#(<= ULTIMATE.start_main_~j~0 13)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4002#(<= ULTIMATE.start_main_~j~0 13)} is VALID [2020-07-28 17:59:00,996 INFO L280 TraceCheckUtils]: 29: Hoare triple {4002#(<= ULTIMATE.start_main_~j~0 13)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4003#(<= ULTIMATE.start_main_~j~0 14)} is VALID [2020-07-28 17:59:00,997 INFO L280 TraceCheckUtils]: 30: Hoare triple {4003#(<= ULTIMATE.start_main_~j~0 14)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4003#(<= ULTIMATE.start_main_~j~0 14)} is VALID [2020-07-28 17:59:00,998 INFO L280 TraceCheckUtils]: 31: Hoare triple {4003#(<= ULTIMATE.start_main_~j~0 14)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4004#(<= ULTIMATE.start_main_~j~0 15)} is VALID [2020-07-28 17:59:00,998 INFO L280 TraceCheckUtils]: 32: Hoare triple {4004#(<= ULTIMATE.start_main_~j~0 15)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4004#(<= ULTIMATE.start_main_~j~0 15)} is VALID [2020-07-28 17:59:00,999 INFO L280 TraceCheckUtils]: 33: Hoare triple {4004#(<= ULTIMATE.start_main_~j~0 15)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4005#(<= ULTIMATE.start_main_~j~0 16)} is VALID [2020-07-28 17:59:00,999 INFO L280 TraceCheckUtils]: 34: Hoare triple {4005#(<= ULTIMATE.start_main_~j~0 16)} assume !(main_~j~0 < 20); {3988#false} is VALID [2020-07-28 17:59:00,999 INFO L280 TraceCheckUtils]: 35: Hoare triple {3988#false} assume -2147483648 <= main_#t~nondet4 && main_#t~nondet4 <= 2147483647;main_~i~0 := main_#t~nondet4;havoc main_#t~nondet4; {3988#false} is VALID [2020-07-28 17:59:00,999 INFO L280 TraceCheckUtils]: 36: Hoare triple {3988#false} assume main_~i~0 >= 0 && main_~i~0 < 10;main_~ad2~0.base, main_~ad2~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset;call write~int(main_~i~0, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0, 4);main_~pa~0.base, main_~pa~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0;call main_#t~mem5 := read~int(main_~ad2~0.base, main_~ad2~0.offset + 8 * main_~i~0, 4);main_~i~0 := 10 + main_#t~mem5;havoc main_#t~mem5; {3988#false} is VALID [2020-07-28 17:59:00,999 INFO L280 TraceCheckUtils]: 37: Hoare triple {3988#false} call main_#t~mem6 := read~int(main_~pa~0.base, main_~pa~0.offset, 4); {3988#false} is VALID [2020-07-28 17:59:01,000 INFO L280 TraceCheckUtils]: 38: Hoare triple {3988#false} assume !(main_~i~0 < main_#t~mem6);havoc main_#t~mem6; {3988#false} is VALID [2020-07-28 17:59:01,000 INFO L280 TraceCheckUtils]: 39: Hoare triple {3988#false} check_#in~ad1.base, check_#in~ad1.offset, check_#in~b := main_~#ad1~0.base, main_~#ad1~0.offset, main_~i~0;havoc check_#res;havoc check_#t~mem0, check_~ad1.base, check_~ad1.offset, check_~b;check_~ad1.base, check_~ad1.offset := check_#in~ad1.base, check_#in~ad1.offset;check_~b := check_#in~b;call check_#t~mem0 := read~int(check_~ad1.base, check_~ad1.offset + 8 * check_~b, 4);check_#res := (if check_#t~mem0 == check_~b then 1 else 0);havoc check_#t~mem0; {3988#false} is VALID [2020-07-28 17:59:01,000 INFO L280 TraceCheckUtils]: 40: Hoare triple {3988#false} main_#t~ret8 := check_#res;assume -2147483648 <= main_#t~ret8 && main_#t~ret8 <= 2147483647; {3988#false} is VALID [2020-07-28 17:59:01,000 INFO L280 TraceCheckUtils]: 41: Hoare triple {3988#false} assume 0 == main_#t~ret8;havoc main_#t~ret8; {3988#false} is VALID [2020-07-28 17:59:01,000 INFO L280 TraceCheckUtils]: 42: Hoare triple {3988#false} assume !false; {3988#false} is VALID [2020-07-28 17:59:01,002 INFO L134 CoverageAnalysis]: Checked inductivity of 256 backedges. 0 proven. 256 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 17:59:01,002 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [586567495] [2020-07-28 17:59:01,002 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [189674154] [2020-07-28 17:59:01,002 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 17 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 17 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-28 17:59:01,053 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2020-07-28 17:59:01,053 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2020-07-28 17:59:01,054 INFO L263 TraceCheckSpWp]: Trace formula consists of 188 conjuncts, 18 conjunts are in the unsatisfiable core [2020-07-28 17:59:01,069 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:59:01,070 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 17:59:01,454 INFO L280 TraceCheckUtils]: 0: Hoare triple {3987#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {3987#true} is VALID [2020-07-28 17:59:01,455 INFO L280 TraceCheckUtils]: 1: Hoare triple {3987#true} havoc main_#res;havoc main_#t~nondet2, main_#t~nondet3, main_#t~post1, main_#t~nondet4, main_#t~mem5, main_#t~pre7, main_#t~mem6, main_#t~ret8, main_~#ad1~0.base, main_~#ad1~0.offset, main_~ad2~0.base, main_~ad2~0.offset, main_~i~0, main_~j~0, main_~pa~0.base, main_~pa~0.offset;call main_~#ad1~0.base, main_~#ad1~0.offset := #Ultimate.allocOnStack(160);havoc main_~ad2~0.base, main_~ad2~0.offset;havoc main_~i~0;havoc main_~j~0;havoc main_~pa~0.base, main_~pa~0.offset;main_~j~0 := 0; {4012#(<= ULTIMATE.start_main_~j~0 0)} is VALID [2020-07-28 17:59:01,456 INFO L280 TraceCheckUtils]: 2: Hoare triple {4012#(<= ULTIMATE.start_main_~j~0 0)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4012#(<= ULTIMATE.start_main_~j~0 0)} is VALID [2020-07-28 17:59:01,456 INFO L280 TraceCheckUtils]: 3: Hoare triple {4012#(<= ULTIMATE.start_main_~j~0 0)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3990#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:59:01,457 INFO L280 TraceCheckUtils]: 4: Hoare triple {3990#(<= ULTIMATE.start_main_~j~0 1)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3990#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:59:01,457 INFO L280 TraceCheckUtils]: 5: Hoare triple {3990#(<= ULTIMATE.start_main_~j~0 1)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3991#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:59:01,458 INFO L280 TraceCheckUtils]: 6: Hoare triple {3991#(<= ULTIMATE.start_main_~j~0 2)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3991#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:59:01,458 INFO L280 TraceCheckUtils]: 7: Hoare triple {3991#(<= ULTIMATE.start_main_~j~0 2)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3992#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:59:01,459 INFO L280 TraceCheckUtils]: 8: Hoare triple {3992#(<= ULTIMATE.start_main_~j~0 3)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3992#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:59:01,459 INFO L280 TraceCheckUtils]: 9: Hoare triple {3992#(<= ULTIMATE.start_main_~j~0 3)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3993#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:59:01,460 INFO L280 TraceCheckUtils]: 10: Hoare triple {3993#(<= ULTIMATE.start_main_~j~0 4)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3993#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:59:01,460 INFO L280 TraceCheckUtils]: 11: Hoare triple {3993#(<= ULTIMATE.start_main_~j~0 4)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3994#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:59:01,461 INFO L280 TraceCheckUtils]: 12: Hoare triple {3994#(<= ULTIMATE.start_main_~j~0 5)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3994#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:59:01,461 INFO L280 TraceCheckUtils]: 13: Hoare triple {3994#(<= ULTIMATE.start_main_~j~0 5)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3995#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:59:01,462 INFO L280 TraceCheckUtils]: 14: Hoare triple {3995#(<= ULTIMATE.start_main_~j~0 6)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3995#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:59:01,462 INFO L280 TraceCheckUtils]: 15: Hoare triple {3995#(<= ULTIMATE.start_main_~j~0 6)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3996#(<= ULTIMATE.start_main_~j~0 7)} is VALID [2020-07-28 17:59:01,463 INFO L280 TraceCheckUtils]: 16: Hoare triple {3996#(<= ULTIMATE.start_main_~j~0 7)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3996#(<= ULTIMATE.start_main_~j~0 7)} is VALID [2020-07-28 17:59:01,463 INFO L280 TraceCheckUtils]: 17: Hoare triple {3996#(<= ULTIMATE.start_main_~j~0 7)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3997#(<= ULTIMATE.start_main_~j~0 8)} is VALID [2020-07-28 17:59:01,463 INFO L280 TraceCheckUtils]: 18: Hoare triple {3997#(<= ULTIMATE.start_main_~j~0 8)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3997#(<= ULTIMATE.start_main_~j~0 8)} is VALID [2020-07-28 17:59:01,464 INFO L280 TraceCheckUtils]: 19: Hoare triple {3997#(<= ULTIMATE.start_main_~j~0 8)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3998#(<= ULTIMATE.start_main_~j~0 9)} is VALID [2020-07-28 17:59:01,464 INFO L280 TraceCheckUtils]: 20: Hoare triple {3998#(<= ULTIMATE.start_main_~j~0 9)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3998#(<= ULTIMATE.start_main_~j~0 9)} is VALID [2020-07-28 17:59:01,465 INFO L280 TraceCheckUtils]: 21: Hoare triple {3998#(<= ULTIMATE.start_main_~j~0 9)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {3999#(<= ULTIMATE.start_main_~j~0 10)} is VALID [2020-07-28 17:59:01,465 INFO L280 TraceCheckUtils]: 22: Hoare triple {3999#(<= ULTIMATE.start_main_~j~0 10)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {3999#(<= ULTIMATE.start_main_~j~0 10)} is VALID [2020-07-28 17:59:01,466 INFO L280 TraceCheckUtils]: 23: Hoare triple {3999#(<= ULTIMATE.start_main_~j~0 10)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4000#(<= ULTIMATE.start_main_~j~0 11)} is VALID [2020-07-28 17:59:01,467 INFO L280 TraceCheckUtils]: 24: Hoare triple {4000#(<= ULTIMATE.start_main_~j~0 11)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4000#(<= ULTIMATE.start_main_~j~0 11)} is VALID [2020-07-28 17:59:01,468 INFO L280 TraceCheckUtils]: 25: Hoare triple {4000#(<= ULTIMATE.start_main_~j~0 11)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4001#(<= ULTIMATE.start_main_~j~0 12)} is VALID [2020-07-28 17:59:01,468 INFO L280 TraceCheckUtils]: 26: Hoare triple {4001#(<= ULTIMATE.start_main_~j~0 12)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4001#(<= ULTIMATE.start_main_~j~0 12)} is VALID [2020-07-28 17:59:01,469 INFO L280 TraceCheckUtils]: 27: Hoare triple {4001#(<= ULTIMATE.start_main_~j~0 12)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4002#(<= ULTIMATE.start_main_~j~0 13)} is VALID [2020-07-28 17:59:01,469 INFO L280 TraceCheckUtils]: 28: Hoare triple {4002#(<= ULTIMATE.start_main_~j~0 13)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4002#(<= ULTIMATE.start_main_~j~0 13)} is VALID [2020-07-28 17:59:01,470 INFO L280 TraceCheckUtils]: 29: Hoare triple {4002#(<= ULTIMATE.start_main_~j~0 13)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4003#(<= ULTIMATE.start_main_~j~0 14)} is VALID [2020-07-28 17:59:01,470 INFO L280 TraceCheckUtils]: 30: Hoare triple {4003#(<= ULTIMATE.start_main_~j~0 14)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4003#(<= ULTIMATE.start_main_~j~0 14)} is VALID [2020-07-28 17:59:01,471 INFO L280 TraceCheckUtils]: 31: Hoare triple {4003#(<= ULTIMATE.start_main_~j~0 14)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4004#(<= ULTIMATE.start_main_~j~0 15)} is VALID [2020-07-28 17:59:01,471 INFO L280 TraceCheckUtils]: 32: Hoare triple {4004#(<= ULTIMATE.start_main_~j~0 15)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4004#(<= ULTIMATE.start_main_~j~0 15)} is VALID [2020-07-28 17:59:01,472 INFO L280 TraceCheckUtils]: 33: Hoare triple {4004#(<= ULTIMATE.start_main_~j~0 15)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4005#(<= ULTIMATE.start_main_~j~0 16)} is VALID [2020-07-28 17:59:01,473 INFO L280 TraceCheckUtils]: 34: Hoare triple {4005#(<= ULTIMATE.start_main_~j~0 16)} assume !(main_~j~0 < 20); {3988#false} is VALID [2020-07-28 17:59:01,473 INFO L280 TraceCheckUtils]: 35: Hoare triple {3988#false} assume -2147483648 <= main_#t~nondet4 && main_#t~nondet4 <= 2147483647;main_~i~0 := main_#t~nondet4;havoc main_#t~nondet4; {3988#false} is VALID [2020-07-28 17:59:01,473 INFO L280 TraceCheckUtils]: 36: Hoare triple {3988#false} assume main_~i~0 >= 0 && main_~i~0 < 10;main_~ad2~0.base, main_~ad2~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset;call write~int(main_~i~0, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0, 4);main_~pa~0.base, main_~pa~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0;call main_#t~mem5 := read~int(main_~ad2~0.base, main_~ad2~0.offset + 8 * main_~i~0, 4);main_~i~0 := 10 + main_#t~mem5;havoc main_#t~mem5; {3988#false} is VALID [2020-07-28 17:59:01,474 INFO L280 TraceCheckUtils]: 37: Hoare triple {3988#false} call main_#t~mem6 := read~int(main_~pa~0.base, main_~pa~0.offset, 4); {3988#false} is VALID [2020-07-28 17:59:01,474 INFO L280 TraceCheckUtils]: 38: Hoare triple {3988#false} assume !(main_~i~0 < main_#t~mem6);havoc main_#t~mem6; {3988#false} is VALID [2020-07-28 17:59:01,474 INFO L280 TraceCheckUtils]: 39: Hoare triple {3988#false} check_#in~ad1.base, check_#in~ad1.offset, check_#in~b := main_~#ad1~0.base, main_~#ad1~0.offset, main_~i~0;havoc check_#res;havoc check_#t~mem0, check_~ad1.base, check_~ad1.offset, check_~b;check_~ad1.base, check_~ad1.offset := check_#in~ad1.base, check_#in~ad1.offset;check_~b := check_#in~b;call check_#t~mem0 := read~int(check_~ad1.base, check_~ad1.offset + 8 * check_~b, 4);check_#res := (if check_#t~mem0 == check_~b then 1 else 0);havoc check_#t~mem0; {3988#false} is VALID [2020-07-28 17:59:01,474 INFO L280 TraceCheckUtils]: 40: Hoare triple {3988#false} main_#t~ret8 := check_#res;assume -2147483648 <= main_#t~ret8 && main_#t~ret8 <= 2147483647; {3988#false} is VALID [2020-07-28 17:59:01,474 INFO L280 TraceCheckUtils]: 41: Hoare triple {3988#false} assume 0 == main_#t~ret8;havoc main_#t~ret8; {3988#false} is VALID [2020-07-28 17:59:01,474 INFO L280 TraceCheckUtils]: 42: Hoare triple {3988#false} assume !false; {3988#false} is VALID [2020-07-28 17:59:01,476 INFO L134 CoverageAnalysis]: Checked inductivity of 256 backedges. 0 proven. 256 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 17:59:01,476 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-28 17:59:01,476 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 19] total 20 [2020-07-28 17:59:01,476 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1924156651] [2020-07-28 17:59:01,477 INFO L78 Accepts]: Start accepts. Automaton has 20 states. Word has length 43 [2020-07-28 17:59:01,477 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 17:59:01,477 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 20 states. [2020-07-28 17:59:01,534 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 17:59:01,534 INFO L459 AbstractCegarLoop]: Interpolant automaton has 20 states [2020-07-28 17:59:01,534 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-28 17:59:01,534 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2020-07-28 17:59:01,535 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=190, Invalid=190, Unknown=0, NotChecked=0, Total=380 [2020-07-28 17:59:01,535 INFO L87 Difference]: Start difference. First operand 44 states and 45 transitions. Second operand 20 states. [2020-07-28 17:59:01,710 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:59:01,711 INFO L93 Difference]: Finished difference Result 56 states and 58 transitions. [2020-07-28 17:59:01,711 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2020-07-28 17:59:01,711 INFO L78 Accepts]: Start accepts. Automaton has 20 states. Word has length 43 [2020-07-28 17:59:01,711 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 17:59:01,711 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2020-07-28 17:59:01,712 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 58 transitions. [2020-07-28 17:59:01,712 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2020-07-28 17:59:01,713 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 58 transitions. [2020-07-28 17:59:01,713 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states and 58 transitions. [2020-07-28 17:59:01,782 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 17:59:01,783 INFO L225 Difference]: With dead ends: 56 [2020-07-28 17:59:01,784 INFO L226 Difference]: Without dead ends: 47 [2020-07-28 17:59:01,785 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 61 GetRequests, 43 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 30 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=190, Invalid=190, Unknown=0, NotChecked=0, Total=380 [2020-07-28 17:59:01,785 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2020-07-28 17:59:01,805 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 46. [2020-07-28 17:59:01,805 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 17:59:01,805 INFO L82 GeneralOperation]: Start isEquivalent. First operand 47 states. Second operand 46 states. [2020-07-28 17:59:01,805 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand 46 states. [2020-07-28 17:59:01,806 INFO L87 Difference]: Start difference. First operand 47 states. Second operand 46 states. [2020-07-28 17:59:01,807 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:59:01,807 INFO L93 Difference]: Finished difference Result 47 states and 48 transitions. [2020-07-28 17:59:01,807 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 48 transitions. [2020-07-28 17:59:01,808 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:59:01,808 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:59:01,808 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand 47 states. [2020-07-28 17:59:01,808 INFO L87 Difference]: Start difference. First operand 46 states. Second operand 47 states. [2020-07-28 17:59:01,809 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:59:01,809 INFO L93 Difference]: Finished difference Result 47 states and 48 transitions. [2020-07-28 17:59:01,809 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 48 transitions. [2020-07-28 17:59:01,810 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:59:01,810 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:59:01,810 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 17:59:01,810 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 17:59:01,810 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 46 states. [2020-07-28 17:59:01,811 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 47 transitions. [2020-07-28 17:59:01,811 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 47 transitions. Word has length 43 [2020-07-28 17:59:01,812 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 17:59:01,812 INFO L479 AbstractCegarLoop]: Abstraction has 46 states and 47 transitions. [2020-07-28 17:59:01,812 INFO L480 AbstractCegarLoop]: Interpolant automaton has 20 states. [2020-07-28 17:59:01,812 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 47 transitions. [2020-07-28 17:59:01,813 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2020-07-28 17:59:01,813 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 17:59:01,813 INFO L422 BasicCegarLoop]: trace histogram [17, 17, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 17:59:02,021 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 17 z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable17 [2020-07-28 17:59:02,022 INFO L427 AbstractCegarLoop]: === Iteration 19 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 17:59:02,022 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 17:59:02,022 INFO L82 PathProgramCache]: Analyzing trace with hash -954778893, now seen corresponding path program 17 times [2020-07-28 17:59:02,023 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 17:59:02,023 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1243523190] [2020-07-28 17:59:02,023 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 17:59:02,041 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:59:02,342 INFO L280 TraceCheckUtils]: 0: Hoare triple {4376#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {4376#true} is VALID [2020-07-28 17:59:02,343 INFO L280 TraceCheckUtils]: 1: Hoare triple {4376#true} havoc main_#res;havoc main_#t~nondet2, main_#t~nondet3, main_#t~post1, main_#t~nondet4, main_#t~mem5, main_#t~pre7, main_#t~mem6, main_#t~ret8, main_~#ad1~0.base, main_~#ad1~0.offset, main_~ad2~0.base, main_~ad2~0.offset, main_~i~0, main_~j~0, main_~pa~0.base, main_~pa~0.offset;call main_~#ad1~0.base, main_~#ad1~0.offset := #Ultimate.allocOnStack(160);havoc main_~ad2~0.base, main_~ad2~0.offset;havoc main_~i~0;havoc main_~j~0;havoc main_~pa~0.base, main_~pa~0.offset;main_~j~0 := 0; {4378#(= 0 ULTIMATE.start_main_~j~0)} is VALID [2020-07-28 17:59:02,344 INFO L280 TraceCheckUtils]: 2: Hoare triple {4378#(= 0 ULTIMATE.start_main_~j~0)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4378#(= 0 ULTIMATE.start_main_~j~0)} is VALID [2020-07-28 17:59:02,345 INFO L280 TraceCheckUtils]: 3: Hoare triple {4378#(= 0 ULTIMATE.start_main_~j~0)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4379#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:59:02,346 INFO L280 TraceCheckUtils]: 4: Hoare triple {4379#(<= ULTIMATE.start_main_~j~0 1)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4379#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:59:02,347 INFO L280 TraceCheckUtils]: 5: Hoare triple {4379#(<= ULTIMATE.start_main_~j~0 1)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4380#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:59:02,347 INFO L280 TraceCheckUtils]: 6: Hoare triple {4380#(<= ULTIMATE.start_main_~j~0 2)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4380#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:59:02,348 INFO L280 TraceCheckUtils]: 7: Hoare triple {4380#(<= ULTIMATE.start_main_~j~0 2)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4381#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:59:02,349 INFO L280 TraceCheckUtils]: 8: Hoare triple {4381#(<= ULTIMATE.start_main_~j~0 3)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4381#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:59:02,349 INFO L280 TraceCheckUtils]: 9: Hoare triple {4381#(<= ULTIMATE.start_main_~j~0 3)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4382#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:59:02,350 INFO L280 TraceCheckUtils]: 10: Hoare triple {4382#(<= ULTIMATE.start_main_~j~0 4)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4382#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:59:02,350 INFO L280 TraceCheckUtils]: 11: Hoare triple {4382#(<= ULTIMATE.start_main_~j~0 4)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4383#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:59:02,351 INFO L280 TraceCheckUtils]: 12: Hoare triple {4383#(<= ULTIMATE.start_main_~j~0 5)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4383#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:59:02,351 INFO L280 TraceCheckUtils]: 13: Hoare triple {4383#(<= ULTIMATE.start_main_~j~0 5)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4384#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:59:02,352 INFO L280 TraceCheckUtils]: 14: Hoare triple {4384#(<= ULTIMATE.start_main_~j~0 6)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4384#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:59:02,352 INFO L280 TraceCheckUtils]: 15: Hoare triple {4384#(<= ULTIMATE.start_main_~j~0 6)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4385#(<= ULTIMATE.start_main_~j~0 7)} is VALID [2020-07-28 17:59:02,353 INFO L280 TraceCheckUtils]: 16: Hoare triple {4385#(<= ULTIMATE.start_main_~j~0 7)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4385#(<= ULTIMATE.start_main_~j~0 7)} is VALID [2020-07-28 17:59:02,353 INFO L280 TraceCheckUtils]: 17: Hoare triple {4385#(<= ULTIMATE.start_main_~j~0 7)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4386#(<= ULTIMATE.start_main_~j~0 8)} is VALID [2020-07-28 17:59:02,354 INFO L280 TraceCheckUtils]: 18: Hoare triple {4386#(<= ULTIMATE.start_main_~j~0 8)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4386#(<= ULTIMATE.start_main_~j~0 8)} is VALID [2020-07-28 17:59:02,354 INFO L280 TraceCheckUtils]: 19: Hoare triple {4386#(<= ULTIMATE.start_main_~j~0 8)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4387#(<= ULTIMATE.start_main_~j~0 9)} is VALID [2020-07-28 17:59:02,355 INFO L280 TraceCheckUtils]: 20: Hoare triple {4387#(<= ULTIMATE.start_main_~j~0 9)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4387#(<= ULTIMATE.start_main_~j~0 9)} is VALID [2020-07-28 17:59:02,355 INFO L280 TraceCheckUtils]: 21: Hoare triple {4387#(<= ULTIMATE.start_main_~j~0 9)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4388#(<= ULTIMATE.start_main_~j~0 10)} is VALID [2020-07-28 17:59:02,356 INFO L280 TraceCheckUtils]: 22: Hoare triple {4388#(<= ULTIMATE.start_main_~j~0 10)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4388#(<= ULTIMATE.start_main_~j~0 10)} is VALID [2020-07-28 17:59:02,356 INFO L280 TraceCheckUtils]: 23: Hoare triple {4388#(<= ULTIMATE.start_main_~j~0 10)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4389#(<= ULTIMATE.start_main_~j~0 11)} is VALID [2020-07-28 17:59:02,357 INFO L280 TraceCheckUtils]: 24: Hoare triple {4389#(<= ULTIMATE.start_main_~j~0 11)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4389#(<= ULTIMATE.start_main_~j~0 11)} is VALID [2020-07-28 17:59:02,357 INFO L280 TraceCheckUtils]: 25: Hoare triple {4389#(<= ULTIMATE.start_main_~j~0 11)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4390#(<= ULTIMATE.start_main_~j~0 12)} is VALID [2020-07-28 17:59:02,357 INFO L280 TraceCheckUtils]: 26: Hoare triple {4390#(<= ULTIMATE.start_main_~j~0 12)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4390#(<= ULTIMATE.start_main_~j~0 12)} is VALID [2020-07-28 17:59:02,358 INFO L280 TraceCheckUtils]: 27: Hoare triple {4390#(<= ULTIMATE.start_main_~j~0 12)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4391#(<= ULTIMATE.start_main_~j~0 13)} is VALID [2020-07-28 17:59:02,358 INFO L280 TraceCheckUtils]: 28: Hoare triple {4391#(<= ULTIMATE.start_main_~j~0 13)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4391#(<= ULTIMATE.start_main_~j~0 13)} is VALID [2020-07-28 17:59:02,359 INFO L280 TraceCheckUtils]: 29: Hoare triple {4391#(<= ULTIMATE.start_main_~j~0 13)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4392#(<= ULTIMATE.start_main_~j~0 14)} is VALID [2020-07-28 17:59:02,359 INFO L280 TraceCheckUtils]: 30: Hoare triple {4392#(<= ULTIMATE.start_main_~j~0 14)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4392#(<= ULTIMATE.start_main_~j~0 14)} is VALID [2020-07-28 17:59:02,360 INFO L280 TraceCheckUtils]: 31: Hoare triple {4392#(<= ULTIMATE.start_main_~j~0 14)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4393#(<= ULTIMATE.start_main_~j~0 15)} is VALID [2020-07-28 17:59:02,360 INFO L280 TraceCheckUtils]: 32: Hoare triple {4393#(<= ULTIMATE.start_main_~j~0 15)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4393#(<= ULTIMATE.start_main_~j~0 15)} is VALID [2020-07-28 17:59:02,361 INFO L280 TraceCheckUtils]: 33: Hoare triple {4393#(<= ULTIMATE.start_main_~j~0 15)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4394#(<= ULTIMATE.start_main_~j~0 16)} is VALID [2020-07-28 17:59:02,361 INFO L280 TraceCheckUtils]: 34: Hoare triple {4394#(<= ULTIMATE.start_main_~j~0 16)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4394#(<= ULTIMATE.start_main_~j~0 16)} is VALID [2020-07-28 17:59:02,362 INFO L280 TraceCheckUtils]: 35: Hoare triple {4394#(<= ULTIMATE.start_main_~j~0 16)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4395#(<= ULTIMATE.start_main_~j~0 17)} is VALID [2020-07-28 17:59:02,362 INFO L280 TraceCheckUtils]: 36: Hoare triple {4395#(<= ULTIMATE.start_main_~j~0 17)} assume !(main_~j~0 < 20); {4377#false} is VALID [2020-07-28 17:59:02,362 INFO L280 TraceCheckUtils]: 37: Hoare triple {4377#false} assume -2147483648 <= main_#t~nondet4 && main_#t~nondet4 <= 2147483647;main_~i~0 := main_#t~nondet4;havoc main_#t~nondet4; {4377#false} is VALID [2020-07-28 17:59:02,363 INFO L280 TraceCheckUtils]: 38: Hoare triple {4377#false} assume main_~i~0 >= 0 && main_~i~0 < 10;main_~ad2~0.base, main_~ad2~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset;call write~int(main_~i~0, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0, 4);main_~pa~0.base, main_~pa~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0;call main_#t~mem5 := read~int(main_~ad2~0.base, main_~ad2~0.offset + 8 * main_~i~0, 4);main_~i~0 := 10 + main_#t~mem5;havoc main_#t~mem5; {4377#false} is VALID [2020-07-28 17:59:02,363 INFO L280 TraceCheckUtils]: 39: Hoare triple {4377#false} call main_#t~mem6 := read~int(main_~pa~0.base, main_~pa~0.offset, 4); {4377#false} is VALID [2020-07-28 17:59:02,363 INFO L280 TraceCheckUtils]: 40: Hoare triple {4377#false} assume !(main_~i~0 < main_#t~mem6);havoc main_#t~mem6; {4377#false} is VALID [2020-07-28 17:59:02,363 INFO L280 TraceCheckUtils]: 41: Hoare triple {4377#false} check_#in~ad1.base, check_#in~ad1.offset, check_#in~b := main_~#ad1~0.base, main_~#ad1~0.offset, main_~i~0;havoc check_#res;havoc check_#t~mem0, check_~ad1.base, check_~ad1.offset, check_~b;check_~ad1.base, check_~ad1.offset := check_#in~ad1.base, check_#in~ad1.offset;check_~b := check_#in~b;call check_#t~mem0 := read~int(check_~ad1.base, check_~ad1.offset + 8 * check_~b, 4);check_#res := (if check_#t~mem0 == check_~b then 1 else 0);havoc check_#t~mem0; {4377#false} is VALID [2020-07-28 17:59:02,363 INFO L280 TraceCheckUtils]: 42: Hoare triple {4377#false} main_#t~ret8 := check_#res;assume -2147483648 <= main_#t~ret8 && main_#t~ret8 <= 2147483647; {4377#false} is VALID [2020-07-28 17:59:02,363 INFO L280 TraceCheckUtils]: 43: Hoare triple {4377#false} assume 0 == main_#t~ret8;havoc main_#t~ret8; {4377#false} is VALID [2020-07-28 17:59:02,363 INFO L280 TraceCheckUtils]: 44: Hoare triple {4377#false} assume !false; {4377#false} is VALID [2020-07-28 17:59:02,365 INFO L134 CoverageAnalysis]: Checked inductivity of 289 backedges. 0 proven. 289 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 17:59:02,365 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1243523190] [2020-07-28 17:59:02,366 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1205217638] [2020-07-28 17:59:02,366 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 18 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 18 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-28 17:59:03,733 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 18 check-sat command(s) [2020-07-28 17:59:03,733 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2020-07-28 17:59:03,743 INFO L263 TraceCheckSpWp]: Trace formula consists of 196 conjuncts, 19 conjunts are in the unsatisfiable core [2020-07-28 17:59:03,756 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:59:03,758 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 17:59:04,169 INFO L280 TraceCheckUtils]: 0: Hoare triple {4376#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {4376#true} is VALID [2020-07-28 17:59:04,170 INFO L280 TraceCheckUtils]: 1: Hoare triple {4376#true} havoc main_#res;havoc main_#t~nondet2, main_#t~nondet3, main_#t~post1, main_#t~nondet4, main_#t~mem5, main_#t~pre7, main_#t~mem6, main_#t~ret8, main_~#ad1~0.base, main_~#ad1~0.offset, main_~ad2~0.base, main_~ad2~0.offset, main_~i~0, main_~j~0, main_~pa~0.base, main_~pa~0.offset;call main_~#ad1~0.base, main_~#ad1~0.offset := #Ultimate.allocOnStack(160);havoc main_~ad2~0.base, main_~ad2~0.offset;havoc main_~i~0;havoc main_~j~0;havoc main_~pa~0.base, main_~pa~0.offset;main_~j~0 := 0; {4402#(<= ULTIMATE.start_main_~j~0 0)} is VALID [2020-07-28 17:59:04,170 INFO L280 TraceCheckUtils]: 2: Hoare triple {4402#(<= ULTIMATE.start_main_~j~0 0)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4402#(<= ULTIMATE.start_main_~j~0 0)} is VALID [2020-07-28 17:59:04,171 INFO L280 TraceCheckUtils]: 3: Hoare triple {4402#(<= ULTIMATE.start_main_~j~0 0)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4379#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:59:04,171 INFO L280 TraceCheckUtils]: 4: Hoare triple {4379#(<= ULTIMATE.start_main_~j~0 1)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4379#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:59:04,172 INFO L280 TraceCheckUtils]: 5: Hoare triple {4379#(<= ULTIMATE.start_main_~j~0 1)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4380#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:59:04,172 INFO L280 TraceCheckUtils]: 6: Hoare triple {4380#(<= ULTIMATE.start_main_~j~0 2)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4380#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:59:04,172 INFO L280 TraceCheckUtils]: 7: Hoare triple {4380#(<= ULTIMATE.start_main_~j~0 2)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4381#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:59:04,173 INFO L280 TraceCheckUtils]: 8: Hoare triple {4381#(<= ULTIMATE.start_main_~j~0 3)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4381#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:59:04,174 INFO L280 TraceCheckUtils]: 9: Hoare triple {4381#(<= ULTIMATE.start_main_~j~0 3)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4382#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:59:04,174 INFO L280 TraceCheckUtils]: 10: Hoare triple {4382#(<= ULTIMATE.start_main_~j~0 4)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4382#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:59:04,175 INFO L280 TraceCheckUtils]: 11: Hoare triple {4382#(<= ULTIMATE.start_main_~j~0 4)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4383#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:59:04,175 INFO L280 TraceCheckUtils]: 12: Hoare triple {4383#(<= ULTIMATE.start_main_~j~0 5)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4383#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:59:04,176 INFO L280 TraceCheckUtils]: 13: Hoare triple {4383#(<= ULTIMATE.start_main_~j~0 5)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4384#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:59:04,176 INFO L280 TraceCheckUtils]: 14: Hoare triple {4384#(<= ULTIMATE.start_main_~j~0 6)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4384#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:59:04,177 INFO L280 TraceCheckUtils]: 15: Hoare triple {4384#(<= ULTIMATE.start_main_~j~0 6)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4385#(<= ULTIMATE.start_main_~j~0 7)} is VALID [2020-07-28 17:59:04,177 INFO L280 TraceCheckUtils]: 16: Hoare triple {4385#(<= ULTIMATE.start_main_~j~0 7)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4385#(<= ULTIMATE.start_main_~j~0 7)} is VALID [2020-07-28 17:59:04,177 INFO L280 TraceCheckUtils]: 17: Hoare triple {4385#(<= ULTIMATE.start_main_~j~0 7)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4386#(<= ULTIMATE.start_main_~j~0 8)} is VALID [2020-07-28 17:59:04,178 INFO L280 TraceCheckUtils]: 18: Hoare triple {4386#(<= ULTIMATE.start_main_~j~0 8)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4386#(<= ULTIMATE.start_main_~j~0 8)} is VALID [2020-07-28 17:59:04,178 INFO L280 TraceCheckUtils]: 19: Hoare triple {4386#(<= ULTIMATE.start_main_~j~0 8)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4387#(<= ULTIMATE.start_main_~j~0 9)} is VALID [2020-07-28 17:59:04,179 INFO L280 TraceCheckUtils]: 20: Hoare triple {4387#(<= ULTIMATE.start_main_~j~0 9)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4387#(<= ULTIMATE.start_main_~j~0 9)} is VALID [2020-07-28 17:59:04,179 INFO L280 TraceCheckUtils]: 21: Hoare triple {4387#(<= ULTIMATE.start_main_~j~0 9)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4388#(<= ULTIMATE.start_main_~j~0 10)} is VALID [2020-07-28 17:59:04,180 INFO L280 TraceCheckUtils]: 22: Hoare triple {4388#(<= ULTIMATE.start_main_~j~0 10)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4388#(<= ULTIMATE.start_main_~j~0 10)} is VALID [2020-07-28 17:59:04,180 INFO L280 TraceCheckUtils]: 23: Hoare triple {4388#(<= ULTIMATE.start_main_~j~0 10)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4389#(<= ULTIMATE.start_main_~j~0 11)} is VALID [2020-07-28 17:59:04,181 INFO L280 TraceCheckUtils]: 24: Hoare triple {4389#(<= ULTIMATE.start_main_~j~0 11)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4389#(<= ULTIMATE.start_main_~j~0 11)} is VALID [2020-07-28 17:59:04,181 INFO L280 TraceCheckUtils]: 25: Hoare triple {4389#(<= ULTIMATE.start_main_~j~0 11)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4390#(<= ULTIMATE.start_main_~j~0 12)} is VALID [2020-07-28 17:59:04,182 INFO L280 TraceCheckUtils]: 26: Hoare triple {4390#(<= ULTIMATE.start_main_~j~0 12)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4390#(<= ULTIMATE.start_main_~j~0 12)} is VALID [2020-07-28 17:59:04,182 INFO L280 TraceCheckUtils]: 27: Hoare triple {4390#(<= ULTIMATE.start_main_~j~0 12)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4391#(<= ULTIMATE.start_main_~j~0 13)} is VALID [2020-07-28 17:59:04,183 INFO L280 TraceCheckUtils]: 28: Hoare triple {4391#(<= ULTIMATE.start_main_~j~0 13)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4391#(<= ULTIMATE.start_main_~j~0 13)} is VALID [2020-07-28 17:59:04,183 INFO L280 TraceCheckUtils]: 29: Hoare triple {4391#(<= ULTIMATE.start_main_~j~0 13)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4392#(<= ULTIMATE.start_main_~j~0 14)} is VALID [2020-07-28 17:59:04,184 INFO L280 TraceCheckUtils]: 30: Hoare triple {4392#(<= ULTIMATE.start_main_~j~0 14)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4392#(<= ULTIMATE.start_main_~j~0 14)} is VALID [2020-07-28 17:59:04,184 INFO L280 TraceCheckUtils]: 31: Hoare triple {4392#(<= ULTIMATE.start_main_~j~0 14)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4393#(<= ULTIMATE.start_main_~j~0 15)} is VALID [2020-07-28 17:59:04,184 INFO L280 TraceCheckUtils]: 32: Hoare triple {4393#(<= ULTIMATE.start_main_~j~0 15)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4393#(<= ULTIMATE.start_main_~j~0 15)} is VALID [2020-07-28 17:59:04,185 INFO L280 TraceCheckUtils]: 33: Hoare triple {4393#(<= ULTIMATE.start_main_~j~0 15)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4394#(<= ULTIMATE.start_main_~j~0 16)} is VALID [2020-07-28 17:59:04,185 INFO L280 TraceCheckUtils]: 34: Hoare triple {4394#(<= ULTIMATE.start_main_~j~0 16)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4394#(<= ULTIMATE.start_main_~j~0 16)} is VALID [2020-07-28 17:59:04,186 INFO L280 TraceCheckUtils]: 35: Hoare triple {4394#(<= ULTIMATE.start_main_~j~0 16)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4395#(<= ULTIMATE.start_main_~j~0 17)} is VALID [2020-07-28 17:59:04,186 INFO L280 TraceCheckUtils]: 36: Hoare triple {4395#(<= ULTIMATE.start_main_~j~0 17)} assume !(main_~j~0 < 20); {4377#false} is VALID [2020-07-28 17:59:04,187 INFO L280 TraceCheckUtils]: 37: Hoare triple {4377#false} assume -2147483648 <= main_#t~nondet4 && main_#t~nondet4 <= 2147483647;main_~i~0 := main_#t~nondet4;havoc main_#t~nondet4; {4377#false} is VALID [2020-07-28 17:59:04,187 INFO L280 TraceCheckUtils]: 38: Hoare triple {4377#false} assume main_~i~0 >= 0 && main_~i~0 < 10;main_~ad2~0.base, main_~ad2~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset;call write~int(main_~i~0, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0, 4);main_~pa~0.base, main_~pa~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0;call main_#t~mem5 := read~int(main_~ad2~0.base, main_~ad2~0.offset + 8 * main_~i~0, 4);main_~i~0 := 10 + main_#t~mem5;havoc main_#t~mem5; {4377#false} is VALID [2020-07-28 17:59:04,187 INFO L280 TraceCheckUtils]: 39: Hoare triple {4377#false} call main_#t~mem6 := read~int(main_~pa~0.base, main_~pa~0.offset, 4); {4377#false} is VALID [2020-07-28 17:59:04,187 INFO L280 TraceCheckUtils]: 40: Hoare triple {4377#false} assume !(main_~i~0 < main_#t~mem6);havoc main_#t~mem6; {4377#false} is VALID [2020-07-28 17:59:04,187 INFO L280 TraceCheckUtils]: 41: Hoare triple {4377#false} check_#in~ad1.base, check_#in~ad1.offset, check_#in~b := main_~#ad1~0.base, main_~#ad1~0.offset, main_~i~0;havoc check_#res;havoc check_#t~mem0, check_~ad1.base, check_~ad1.offset, check_~b;check_~ad1.base, check_~ad1.offset := check_#in~ad1.base, check_#in~ad1.offset;check_~b := check_#in~b;call check_#t~mem0 := read~int(check_~ad1.base, check_~ad1.offset + 8 * check_~b, 4);check_#res := (if check_#t~mem0 == check_~b then 1 else 0);havoc check_#t~mem0; {4377#false} is VALID [2020-07-28 17:59:04,187 INFO L280 TraceCheckUtils]: 42: Hoare triple {4377#false} main_#t~ret8 := check_#res;assume -2147483648 <= main_#t~ret8 && main_#t~ret8 <= 2147483647; {4377#false} is VALID [2020-07-28 17:59:04,187 INFO L280 TraceCheckUtils]: 43: Hoare triple {4377#false} assume 0 == main_#t~ret8;havoc main_#t~ret8; {4377#false} is VALID [2020-07-28 17:59:04,188 INFO L280 TraceCheckUtils]: 44: Hoare triple {4377#false} assume !false; {4377#false} is VALID [2020-07-28 17:59:04,189 INFO L134 CoverageAnalysis]: Checked inductivity of 289 backedges. 0 proven. 289 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 17:59:04,190 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-28 17:59:04,190 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [20, 20] total 21 [2020-07-28 17:59:04,190 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1889376728] [2020-07-28 17:59:04,190 INFO L78 Accepts]: Start accepts. Automaton has 21 states. Word has length 45 [2020-07-28 17:59:04,191 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 17:59:04,191 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states. [2020-07-28 17:59:04,260 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 17:59:04,260 INFO L459 AbstractCegarLoop]: Interpolant automaton has 21 states [2020-07-28 17:59:04,260 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-28 17:59:04,260 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2020-07-28 17:59:04,261 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=210, Invalid=210, Unknown=0, NotChecked=0, Total=420 [2020-07-28 17:59:04,261 INFO L87 Difference]: Start difference. First operand 46 states and 47 transitions. Second operand 21 states. [2020-07-28 17:59:04,507 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:59:04,508 INFO L93 Difference]: Finished difference Result 58 states and 60 transitions. [2020-07-28 17:59:04,508 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2020-07-28 17:59:04,508 INFO L78 Accepts]: Start accepts. Automaton has 21 states. Word has length 45 [2020-07-28 17:59:04,508 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 17:59:04,508 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2020-07-28 17:59:04,509 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 60 transitions. [2020-07-28 17:59:04,509 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2020-07-28 17:59:04,510 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 60 transitions. [2020-07-28 17:59:04,510 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 20 states and 60 transitions. [2020-07-28 17:59:04,586 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 17:59:04,587 INFO L225 Difference]: With dead ends: 58 [2020-07-28 17:59:04,588 INFO L226 Difference]: Without dead ends: 49 [2020-07-28 17:59:04,588 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 64 GetRequests, 45 SyntacticMatches, 0 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=210, Invalid=210, Unknown=0, NotChecked=0, Total=420 [2020-07-28 17:59:04,588 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 49 states. [2020-07-28 17:59:04,606 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 49 to 48. [2020-07-28 17:59:04,606 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 17:59:04,606 INFO L82 GeneralOperation]: Start isEquivalent. First operand 49 states. Second operand 48 states. [2020-07-28 17:59:04,606 INFO L74 IsIncluded]: Start isIncluded. First operand 49 states. Second operand 48 states. [2020-07-28 17:59:04,606 INFO L87 Difference]: Start difference. First operand 49 states. Second operand 48 states. [2020-07-28 17:59:04,607 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:59:04,608 INFO L93 Difference]: Finished difference Result 49 states and 50 transitions. [2020-07-28 17:59:04,608 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 50 transitions. [2020-07-28 17:59:04,608 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:59:04,608 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:59:04,608 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand 49 states. [2020-07-28 17:59:04,608 INFO L87 Difference]: Start difference. First operand 48 states. Second operand 49 states. [2020-07-28 17:59:04,609 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:59:04,609 INFO L93 Difference]: Finished difference Result 49 states and 50 transitions. [2020-07-28 17:59:04,610 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 50 transitions. [2020-07-28 17:59:04,610 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:59:04,610 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:59:04,610 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 17:59:04,611 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 17:59:04,611 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 48 states. [2020-07-28 17:59:04,611 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 49 transitions. [2020-07-28 17:59:04,612 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 49 transitions. Word has length 45 [2020-07-28 17:59:04,612 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 17:59:04,612 INFO L479 AbstractCegarLoop]: Abstraction has 48 states and 49 transitions. [2020-07-28 17:59:04,612 INFO L480 AbstractCegarLoop]: Interpolant automaton has 21 states. [2020-07-28 17:59:04,612 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 49 transitions. [2020-07-28 17:59:04,612 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2020-07-28 17:59:04,613 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 17:59:04,613 INFO L422 BasicCegarLoop]: trace histogram [18, 18, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 17:59:04,813 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18,18 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-28 17:59:04,813 INFO L427 AbstractCegarLoop]: === Iteration 20 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 17:59:04,814 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 17:59:04,814 INFO L82 PathProgramCache]: Analyzing trace with hash 1641881905, now seen corresponding path program 18 times [2020-07-28 17:59:04,814 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 17:59:04,814 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1700503709] [2020-07-28 17:59:04,814 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 17:59:04,830 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:59:05,153 INFO L280 TraceCheckUtils]: 0: Hoare triple {4782#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {4782#true} is VALID [2020-07-28 17:59:05,154 INFO L280 TraceCheckUtils]: 1: Hoare triple {4782#true} havoc main_#res;havoc main_#t~nondet2, main_#t~nondet3, main_#t~post1, main_#t~nondet4, main_#t~mem5, main_#t~pre7, main_#t~mem6, main_#t~ret8, main_~#ad1~0.base, main_~#ad1~0.offset, main_~ad2~0.base, main_~ad2~0.offset, main_~i~0, main_~j~0, main_~pa~0.base, main_~pa~0.offset;call main_~#ad1~0.base, main_~#ad1~0.offset := #Ultimate.allocOnStack(160);havoc main_~ad2~0.base, main_~ad2~0.offset;havoc main_~i~0;havoc main_~j~0;havoc main_~pa~0.base, main_~pa~0.offset;main_~j~0 := 0; {4784#(= 0 ULTIMATE.start_main_~j~0)} is VALID [2020-07-28 17:59:05,155 INFO L280 TraceCheckUtils]: 2: Hoare triple {4784#(= 0 ULTIMATE.start_main_~j~0)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4784#(= 0 ULTIMATE.start_main_~j~0)} is VALID [2020-07-28 17:59:05,156 INFO L280 TraceCheckUtils]: 3: Hoare triple {4784#(= 0 ULTIMATE.start_main_~j~0)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4785#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:59:05,156 INFO L280 TraceCheckUtils]: 4: Hoare triple {4785#(<= ULTIMATE.start_main_~j~0 1)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4785#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:59:05,157 INFO L280 TraceCheckUtils]: 5: Hoare triple {4785#(<= ULTIMATE.start_main_~j~0 1)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4786#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:59:05,158 INFO L280 TraceCheckUtils]: 6: Hoare triple {4786#(<= ULTIMATE.start_main_~j~0 2)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4786#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:59:05,158 INFO L280 TraceCheckUtils]: 7: Hoare triple {4786#(<= ULTIMATE.start_main_~j~0 2)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4787#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:59:05,159 INFO L280 TraceCheckUtils]: 8: Hoare triple {4787#(<= ULTIMATE.start_main_~j~0 3)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4787#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:59:05,160 INFO L280 TraceCheckUtils]: 9: Hoare triple {4787#(<= ULTIMATE.start_main_~j~0 3)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4788#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:59:05,161 INFO L280 TraceCheckUtils]: 10: Hoare triple {4788#(<= ULTIMATE.start_main_~j~0 4)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4788#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:59:05,161 INFO L280 TraceCheckUtils]: 11: Hoare triple {4788#(<= ULTIMATE.start_main_~j~0 4)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4789#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:59:05,162 INFO L280 TraceCheckUtils]: 12: Hoare triple {4789#(<= ULTIMATE.start_main_~j~0 5)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4789#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:59:05,163 INFO L280 TraceCheckUtils]: 13: Hoare triple {4789#(<= ULTIMATE.start_main_~j~0 5)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4790#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:59:05,163 INFO L280 TraceCheckUtils]: 14: Hoare triple {4790#(<= ULTIMATE.start_main_~j~0 6)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4790#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:59:05,164 INFO L280 TraceCheckUtils]: 15: Hoare triple {4790#(<= ULTIMATE.start_main_~j~0 6)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4791#(<= ULTIMATE.start_main_~j~0 7)} is VALID [2020-07-28 17:59:05,165 INFO L280 TraceCheckUtils]: 16: Hoare triple {4791#(<= ULTIMATE.start_main_~j~0 7)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4791#(<= ULTIMATE.start_main_~j~0 7)} is VALID [2020-07-28 17:59:05,165 INFO L280 TraceCheckUtils]: 17: Hoare triple {4791#(<= ULTIMATE.start_main_~j~0 7)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4792#(<= ULTIMATE.start_main_~j~0 8)} is VALID [2020-07-28 17:59:05,166 INFO L280 TraceCheckUtils]: 18: Hoare triple {4792#(<= ULTIMATE.start_main_~j~0 8)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4792#(<= ULTIMATE.start_main_~j~0 8)} is VALID [2020-07-28 17:59:05,167 INFO L280 TraceCheckUtils]: 19: Hoare triple {4792#(<= ULTIMATE.start_main_~j~0 8)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4793#(<= ULTIMATE.start_main_~j~0 9)} is VALID [2020-07-28 17:59:05,167 INFO L280 TraceCheckUtils]: 20: Hoare triple {4793#(<= ULTIMATE.start_main_~j~0 9)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4793#(<= ULTIMATE.start_main_~j~0 9)} is VALID [2020-07-28 17:59:05,168 INFO L280 TraceCheckUtils]: 21: Hoare triple {4793#(<= ULTIMATE.start_main_~j~0 9)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4794#(<= ULTIMATE.start_main_~j~0 10)} is VALID [2020-07-28 17:59:05,169 INFO L280 TraceCheckUtils]: 22: Hoare triple {4794#(<= ULTIMATE.start_main_~j~0 10)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4794#(<= ULTIMATE.start_main_~j~0 10)} is VALID [2020-07-28 17:59:05,169 INFO L280 TraceCheckUtils]: 23: Hoare triple {4794#(<= ULTIMATE.start_main_~j~0 10)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4795#(<= ULTIMATE.start_main_~j~0 11)} is VALID [2020-07-28 17:59:05,170 INFO L280 TraceCheckUtils]: 24: Hoare triple {4795#(<= ULTIMATE.start_main_~j~0 11)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4795#(<= ULTIMATE.start_main_~j~0 11)} is VALID [2020-07-28 17:59:05,171 INFO L280 TraceCheckUtils]: 25: Hoare triple {4795#(<= ULTIMATE.start_main_~j~0 11)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4796#(<= ULTIMATE.start_main_~j~0 12)} is VALID [2020-07-28 17:59:05,172 INFO L280 TraceCheckUtils]: 26: Hoare triple {4796#(<= ULTIMATE.start_main_~j~0 12)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4796#(<= ULTIMATE.start_main_~j~0 12)} is VALID [2020-07-28 17:59:05,172 INFO L280 TraceCheckUtils]: 27: Hoare triple {4796#(<= ULTIMATE.start_main_~j~0 12)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4797#(<= ULTIMATE.start_main_~j~0 13)} is VALID [2020-07-28 17:59:05,173 INFO L280 TraceCheckUtils]: 28: Hoare triple {4797#(<= ULTIMATE.start_main_~j~0 13)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4797#(<= ULTIMATE.start_main_~j~0 13)} is VALID [2020-07-28 17:59:05,174 INFO L280 TraceCheckUtils]: 29: Hoare triple {4797#(<= ULTIMATE.start_main_~j~0 13)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4798#(<= ULTIMATE.start_main_~j~0 14)} is VALID [2020-07-28 17:59:05,174 INFO L280 TraceCheckUtils]: 30: Hoare triple {4798#(<= ULTIMATE.start_main_~j~0 14)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4798#(<= ULTIMATE.start_main_~j~0 14)} is VALID [2020-07-28 17:59:05,175 INFO L280 TraceCheckUtils]: 31: Hoare triple {4798#(<= ULTIMATE.start_main_~j~0 14)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4799#(<= ULTIMATE.start_main_~j~0 15)} is VALID [2020-07-28 17:59:05,176 INFO L280 TraceCheckUtils]: 32: Hoare triple {4799#(<= ULTIMATE.start_main_~j~0 15)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4799#(<= ULTIMATE.start_main_~j~0 15)} is VALID [2020-07-28 17:59:05,177 INFO L280 TraceCheckUtils]: 33: Hoare triple {4799#(<= ULTIMATE.start_main_~j~0 15)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4800#(<= ULTIMATE.start_main_~j~0 16)} is VALID [2020-07-28 17:59:05,177 INFO L280 TraceCheckUtils]: 34: Hoare triple {4800#(<= ULTIMATE.start_main_~j~0 16)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4800#(<= ULTIMATE.start_main_~j~0 16)} is VALID [2020-07-28 17:59:05,178 INFO L280 TraceCheckUtils]: 35: Hoare triple {4800#(<= ULTIMATE.start_main_~j~0 16)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4801#(<= ULTIMATE.start_main_~j~0 17)} is VALID [2020-07-28 17:59:05,179 INFO L280 TraceCheckUtils]: 36: Hoare triple {4801#(<= ULTIMATE.start_main_~j~0 17)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4801#(<= ULTIMATE.start_main_~j~0 17)} is VALID [2020-07-28 17:59:05,180 INFO L280 TraceCheckUtils]: 37: Hoare triple {4801#(<= ULTIMATE.start_main_~j~0 17)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4802#(<= ULTIMATE.start_main_~j~0 18)} is VALID [2020-07-28 17:59:05,180 INFO L280 TraceCheckUtils]: 38: Hoare triple {4802#(<= ULTIMATE.start_main_~j~0 18)} assume !(main_~j~0 < 20); {4783#false} is VALID [2020-07-28 17:59:05,181 INFO L280 TraceCheckUtils]: 39: Hoare triple {4783#false} assume -2147483648 <= main_#t~nondet4 && main_#t~nondet4 <= 2147483647;main_~i~0 := main_#t~nondet4;havoc main_#t~nondet4; {4783#false} is VALID [2020-07-28 17:59:05,181 INFO L280 TraceCheckUtils]: 40: Hoare triple {4783#false} assume main_~i~0 >= 0 && main_~i~0 < 10;main_~ad2~0.base, main_~ad2~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset;call write~int(main_~i~0, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0, 4);main_~pa~0.base, main_~pa~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0;call main_#t~mem5 := read~int(main_~ad2~0.base, main_~ad2~0.offset + 8 * main_~i~0, 4);main_~i~0 := 10 + main_#t~mem5;havoc main_#t~mem5; {4783#false} is VALID [2020-07-28 17:59:05,181 INFO L280 TraceCheckUtils]: 41: Hoare triple {4783#false} call main_#t~mem6 := read~int(main_~pa~0.base, main_~pa~0.offset, 4); {4783#false} is VALID [2020-07-28 17:59:05,181 INFO L280 TraceCheckUtils]: 42: Hoare triple {4783#false} assume !(main_~i~0 < main_#t~mem6);havoc main_#t~mem6; {4783#false} is VALID [2020-07-28 17:59:05,181 INFO L280 TraceCheckUtils]: 43: Hoare triple {4783#false} check_#in~ad1.base, check_#in~ad1.offset, check_#in~b := main_~#ad1~0.base, main_~#ad1~0.offset, main_~i~0;havoc check_#res;havoc check_#t~mem0, check_~ad1.base, check_~ad1.offset, check_~b;check_~ad1.base, check_~ad1.offset := check_#in~ad1.base, check_#in~ad1.offset;check_~b := check_#in~b;call check_#t~mem0 := read~int(check_~ad1.base, check_~ad1.offset + 8 * check_~b, 4);check_#res := (if check_#t~mem0 == check_~b then 1 else 0);havoc check_#t~mem0; {4783#false} is VALID [2020-07-28 17:59:05,181 INFO L280 TraceCheckUtils]: 44: Hoare triple {4783#false} main_#t~ret8 := check_#res;assume -2147483648 <= main_#t~ret8 && main_#t~ret8 <= 2147483647; {4783#false} is VALID [2020-07-28 17:59:05,182 INFO L280 TraceCheckUtils]: 45: Hoare triple {4783#false} assume 0 == main_#t~ret8;havoc main_#t~ret8; {4783#false} is VALID [2020-07-28 17:59:05,182 INFO L280 TraceCheckUtils]: 46: Hoare triple {4783#false} assume !false; {4783#false} is VALID [2020-07-28 17:59:05,187 INFO L134 CoverageAnalysis]: Checked inductivity of 324 backedges. 0 proven. 324 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 17:59:05,189 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1700503709] [2020-07-28 17:59:05,191 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1992744875] [2020-07-28 17:59:05,191 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 19 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 19 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-28 17:59:09,807 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 19 check-sat command(s) [2020-07-28 17:59:09,807 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2020-07-28 17:59:09,843 INFO L263 TraceCheckSpWp]: Trace formula consists of 204 conjuncts, 20 conjunts are in the unsatisfiable core [2020-07-28 17:59:09,856 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:59:09,857 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 17:59:10,330 INFO L280 TraceCheckUtils]: 0: Hoare triple {4782#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {4782#true} is VALID [2020-07-28 17:59:10,332 INFO L280 TraceCheckUtils]: 1: Hoare triple {4782#true} havoc main_#res;havoc main_#t~nondet2, main_#t~nondet3, main_#t~post1, main_#t~nondet4, main_#t~mem5, main_#t~pre7, main_#t~mem6, main_#t~ret8, main_~#ad1~0.base, main_~#ad1~0.offset, main_~ad2~0.base, main_~ad2~0.offset, main_~i~0, main_~j~0, main_~pa~0.base, main_~pa~0.offset;call main_~#ad1~0.base, main_~#ad1~0.offset := #Ultimate.allocOnStack(160);havoc main_~ad2~0.base, main_~ad2~0.offset;havoc main_~i~0;havoc main_~j~0;havoc main_~pa~0.base, main_~pa~0.offset;main_~j~0 := 0; {4809#(<= ULTIMATE.start_main_~j~0 0)} is VALID [2020-07-28 17:59:10,332 INFO L280 TraceCheckUtils]: 2: Hoare triple {4809#(<= ULTIMATE.start_main_~j~0 0)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4809#(<= ULTIMATE.start_main_~j~0 0)} is VALID [2020-07-28 17:59:10,333 INFO L280 TraceCheckUtils]: 3: Hoare triple {4809#(<= ULTIMATE.start_main_~j~0 0)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4785#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:59:10,334 INFO L280 TraceCheckUtils]: 4: Hoare triple {4785#(<= ULTIMATE.start_main_~j~0 1)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4785#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:59:10,335 INFO L280 TraceCheckUtils]: 5: Hoare triple {4785#(<= ULTIMATE.start_main_~j~0 1)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4786#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:59:10,336 INFO L280 TraceCheckUtils]: 6: Hoare triple {4786#(<= ULTIMATE.start_main_~j~0 2)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4786#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:59:10,337 INFO L280 TraceCheckUtils]: 7: Hoare triple {4786#(<= ULTIMATE.start_main_~j~0 2)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4787#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:59:10,337 INFO L280 TraceCheckUtils]: 8: Hoare triple {4787#(<= ULTIMATE.start_main_~j~0 3)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4787#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:59:10,338 INFO L280 TraceCheckUtils]: 9: Hoare triple {4787#(<= ULTIMATE.start_main_~j~0 3)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4788#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:59:10,339 INFO L280 TraceCheckUtils]: 10: Hoare triple {4788#(<= ULTIMATE.start_main_~j~0 4)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4788#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:59:10,339 INFO L280 TraceCheckUtils]: 11: Hoare triple {4788#(<= ULTIMATE.start_main_~j~0 4)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4789#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:59:10,339 INFO L280 TraceCheckUtils]: 12: Hoare triple {4789#(<= ULTIMATE.start_main_~j~0 5)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4789#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:59:10,340 INFO L280 TraceCheckUtils]: 13: Hoare triple {4789#(<= ULTIMATE.start_main_~j~0 5)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4790#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:59:10,341 INFO L280 TraceCheckUtils]: 14: Hoare triple {4790#(<= ULTIMATE.start_main_~j~0 6)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4790#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:59:10,342 INFO L280 TraceCheckUtils]: 15: Hoare triple {4790#(<= ULTIMATE.start_main_~j~0 6)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4791#(<= ULTIMATE.start_main_~j~0 7)} is VALID [2020-07-28 17:59:10,342 INFO L280 TraceCheckUtils]: 16: Hoare triple {4791#(<= ULTIMATE.start_main_~j~0 7)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4791#(<= ULTIMATE.start_main_~j~0 7)} is VALID [2020-07-28 17:59:10,343 INFO L280 TraceCheckUtils]: 17: Hoare triple {4791#(<= ULTIMATE.start_main_~j~0 7)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4792#(<= ULTIMATE.start_main_~j~0 8)} is VALID [2020-07-28 17:59:10,343 INFO L280 TraceCheckUtils]: 18: Hoare triple {4792#(<= ULTIMATE.start_main_~j~0 8)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4792#(<= ULTIMATE.start_main_~j~0 8)} is VALID [2020-07-28 17:59:10,344 INFO L280 TraceCheckUtils]: 19: Hoare triple {4792#(<= ULTIMATE.start_main_~j~0 8)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4793#(<= ULTIMATE.start_main_~j~0 9)} is VALID [2020-07-28 17:59:10,344 INFO L280 TraceCheckUtils]: 20: Hoare triple {4793#(<= ULTIMATE.start_main_~j~0 9)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4793#(<= ULTIMATE.start_main_~j~0 9)} is VALID [2020-07-28 17:59:10,345 INFO L280 TraceCheckUtils]: 21: Hoare triple {4793#(<= ULTIMATE.start_main_~j~0 9)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4794#(<= ULTIMATE.start_main_~j~0 10)} is VALID [2020-07-28 17:59:10,346 INFO L280 TraceCheckUtils]: 22: Hoare triple {4794#(<= ULTIMATE.start_main_~j~0 10)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4794#(<= ULTIMATE.start_main_~j~0 10)} is VALID [2020-07-28 17:59:10,347 INFO L280 TraceCheckUtils]: 23: Hoare triple {4794#(<= ULTIMATE.start_main_~j~0 10)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4795#(<= ULTIMATE.start_main_~j~0 11)} is VALID [2020-07-28 17:59:10,347 INFO L280 TraceCheckUtils]: 24: Hoare triple {4795#(<= ULTIMATE.start_main_~j~0 11)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4795#(<= ULTIMATE.start_main_~j~0 11)} is VALID [2020-07-28 17:59:10,348 INFO L280 TraceCheckUtils]: 25: Hoare triple {4795#(<= ULTIMATE.start_main_~j~0 11)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4796#(<= ULTIMATE.start_main_~j~0 12)} is VALID [2020-07-28 17:59:10,348 INFO L280 TraceCheckUtils]: 26: Hoare triple {4796#(<= ULTIMATE.start_main_~j~0 12)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4796#(<= ULTIMATE.start_main_~j~0 12)} is VALID [2020-07-28 17:59:10,349 INFO L280 TraceCheckUtils]: 27: Hoare triple {4796#(<= ULTIMATE.start_main_~j~0 12)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4797#(<= ULTIMATE.start_main_~j~0 13)} is VALID [2020-07-28 17:59:10,349 INFO L280 TraceCheckUtils]: 28: Hoare triple {4797#(<= ULTIMATE.start_main_~j~0 13)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4797#(<= ULTIMATE.start_main_~j~0 13)} is VALID [2020-07-28 17:59:10,349 INFO L280 TraceCheckUtils]: 29: Hoare triple {4797#(<= ULTIMATE.start_main_~j~0 13)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4798#(<= ULTIMATE.start_main_~j~0 14)} is VALID [2020-07-28 17:59:10,350 INFO L280 TraceCheckUtils]: 30: Hoare triple {4798#(<= ULTIMATE.start_main_~j~0 14)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4798#(<= ULTIMATE.start_main_~j~0 14)} is VALID [2020-07-28 17:59:10,350 INFO L280 TraceCheckUtils]: 31: Hoare triple {4798#(<= ULTIMATE.start_main_~j~0 14)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4799#(<= ULTIMATE.start_main_~j~0 15)} is VALID [2020-07-28 17:59:10,351 INFO L280 TraceCheckUtils]: 32: Hoare triple {4799#(<= ULTIMATE.start_main_~j~0 15)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4799#(<= ULTIMATE.start_main_~j~0 15)} is VALID [2020-07-28 17:59:10,351 INFO L280 TraceCheckUtils]: 33: Hoare triple {4799#(<= ULTIMATE.start_main_~j~0 15)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4800#(<= ULTIMATE.start_main_~j~0 16)} is VALID [2020-07-28 17:59:10,352 INFO L280 TraceCheckUtils]: 34: Hoare triple {4800#(<= ULTIMATE.start_main_~j~0 16)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4800#(<= ULTIMATE.start_main_~j~0 16)} is VALID [2020-07-28 17:59:10,352 INFO L280 TraceCheckUtils]: 35: Hoare triple {4800#(<= ULTIMATE.start_main_~j~0 16)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4801#(<= ULTIMATE.start_main_~j~0 17)} is VALID [2020-07-28 17:59:10,353 INFO L280 TraceCheckUtils]: 36: Hoare triple {4801#(<= ULTIMATE.start_main_~j~0 17)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {4801#(<= ULTIMATE.start_main_~j~0 17)} is VALID [2020-07-28 17:59:10,353 INFO L280 TraceCheckUtils]: 37: Hoare triple {4801#(<= ULTIMATE.start_main_~j~0 17)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {4802#(<= ULTIMATE.start_main_~j~0 18)} is VALID [2020-07-28 17:59:10,354 INFO L280 TraceCheckUtils]: 38: Hoare triple {4802#(<= ULTIMATE.start_main_~j~0 18)} assume !(main_~j~0 < 20); {4783#false} is VALID [2020-07-28 17:59:10,354 INFO L280 TraceCheckUtils]: 39: Hoare triple {4783#false} assume -2147483648 <= main_#t~nondet4 && main_#t~nondet4 <= 2147483647;main_~i~0 := main_#t~nondet4;havoc main_#t~nondet4; {4783#false} is VALID [2020-07-28 17:59:10,354 INFO L280 TraceCheckUtils]: 40: Hoare triple {4783#false} assume main_~i~0 >= 0 && main_~i~0 < 10;main_~ad2~0.base, main_~ad2~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset;call write~int(main_~i~0, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0, 4);main_~pa~0.base, main_~pa~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0;call main_#t~mem5 := read~int(main_~ad2~0.base, main_~ad2~0.offset + 8 * main_~i~0, 4);main_~i~0 := 10 + main_#t~mem5;havoc main_#t~mem5; {4783#false} is VALID [2020-07-28 17:59:10,354 INFO L280 TraceCheckUtils]: 41: Hoare triple {4783#false} call main_#t~mem6 := read~int(main_~pa~0.base, main_~pa~0.offset, 4); {4783#false} is VALID [2020-07-28 17:59:10,354 INFO L280 TraceCheckUtils]: 42: Hoare triple {4783#false} assume !(main_~i~0 < main_#t~mem6);havoc main_#t~mem6; {4783#false} is VALID [2020-07-28 17:59:10,354 INFO L280 TraceCheckUtils]: 43: Hoare triple {4783#false} check_#in~ad1.base, check_#in~ad1.offset, check_#in~b := main_~#ad1~0.base, main_~#ad1~0.offset, main_~i~0;havoc check_#res;havoc check_#t~mem0, check_~ad1.base, check_~ad1.offset, check_~b;check_~ad1.base, check_~ad1.offset := check_#in~ad1.base, check_#in~ad1.offset;check_~b := check_#in~b;call check_#t~mem0 := read~int(check_~ad1.base, check_~ad1.offset + 8 * check_~b, 4);check_#res := (if check_#t~mem0 == check_~b then 1 else 0);havoc check_#t~mem0; {4783#false} is VALID [2020-07-28 17:59:10,355 INFO L280 TraceCheckUtils]: 44: Hoare triple {4783#false} main_#t~ret8 := check_#res;assume -2147483648 <= main_#t~ret8 && main_#t~ret8 <= 2147483647; {4783#false} is VALID [2020-07-28 17:59:10,355 INFO L280 TraceCheckUtils]: 45: Hoare triple {4783#false} assume 0 == main_#t~ret8;havoc main_#t~ret8; {4783#false} is VALID [2020-07-28 17:59:10,355 INFO L280 TraceCheckUtils]: 46: Hoare triple {4783#false} assume !false; {4783#false} is VALID [2020-07-28 17:59:10,358 INFO L134 CoverageAnalysis]: Checked inductivity of 324 backedges. 0 proven. 324 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 17:59:10,358 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-28 17:59:10,358 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 21] total 22 [2020-07-28 17:59:10,358 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2011625514] [2020-07-28 17:59:10,359 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 47 [2020-07-28 17:59:10,359 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 17:59:10,359 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states. [2020-07-28 17:59:10,426 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 17:59:10,426 INFO L459 AbstractCegarLoop]: Interpolant automaton has 22 states [2020-07-28 17:59:10,426 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-28 17:59:10,427 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2020-07-28 17:59:10,427 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=231, Invalid=231, Unknown=0, NotChecked=0, Total=462 [2020-07-28 17:59:10,427 INFO L87 Difference]: Start difference. First operand 48 states and 49 transitions. Second operand 22 states. [2020-07-28 17:59:10,598 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:59:10,598 INFO L93 Difference]: Finished difference Result 60 states and 62 transitions. [2020-07-28 17:59:10,599 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2020-07-28 17:59:10,599 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 47 [2020-07-28 17:59:10,599 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 17:59:10,599 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2020-07-28 17:59:10,600 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 62 transitions. [2020-07-28 17:59:10,600 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2020-07-28 17:59:10,601 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 62 transitions. [2020-07-28 17:59:10,601 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states and 62 transitions. [2020-07-28 17:59:10,686 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 17:59:10,687 INFO L225 Difference]: With dead ends: 60 [2020-07-28 17:59:10,687 INFO L226 Difference]: Without dead ends: 51 [2020-07-28 17:59:10,687 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 67 GetRequests, 47 SyntacticMatches, 0 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 34 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=231, Invalid=231, Unknown=0, NotChecked=0, Total=462 [2020-07-28 17:59:10,688 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2020-07-28 17:59:10,705 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 50. [2020-07-28 17:59:10,705 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 17:59:10,705 INFO L82 GeneralOperation]: Start isEquivalent. First operand 51 states. Second operand 50 states. [2020-07-28 17:59:10,706 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand 50 states. [2020-07-28 17:59:10,706 INFO L87 Difference]: Start difference. First operand 51 states. Second operand 50 states. [2020-07-28 17:59:10,708 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:59:10,708 INFO L93 Difference]: Finished difference Result 51 states and 52 transitions. [2020-07-28 17:59:10,708 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 52 transitions. [2020-07-28 17:59:10,708 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:59:10,708 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:59:10,708 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand 51 states. [2020-07-28 17:59:10,709 INFO L87 Difference]: Start difference. First operand 50 states. Second operand 51 states. [2020-07-28 17:59:10,709 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:59:10,709 INFO L93 Difference]: Finished difference Result 51 states and 52 transitions. [2020-07-28 17:59:10,709 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 52 transitions. [2020-07-28 17:59:10,710 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:59:10,710 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:59:10,710 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 17:59:10,710 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 17:59:10,710 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 50 states. [2020-07-28 17:59:10,711 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 51 transitions. [2020-07-28 17:59:10,711 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 51 transitions. Word has length 47 [2020-07-28 17:59:10,711 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 17:59:10,711 INFO L479 AbstractCegarLoop]: Abstraction has 50 states and 51 transitions. [2020-07-28 17:59:10,711 INFO L480 AbstractCegarLoop]: Interpolant automaton has 22 states. [2020-07-28 17:59:10,712 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 51 transitions. [2020-07-28 17:59:10,712 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2020-07-28 17:59:10,712 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 17:59:10,713 INFO L422 BasicCegarLoop]: trace histogram [19, 19, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 17:59:10,915 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable19,19 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-28 17:59:10,916 INFO L427 AbstractCegarLoop]: === Iteration 21 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 17:59:10,916 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 17:59:10,917 INFO L82 PathProgramCache]: Analyzing trace with hash 1656909807, now seen corresponding path program 19 times [2020-07-28 17:59:10,917 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 17:59:10,917 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [463986361] [2020-07-28 17:59:10,917 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 17:59:10,941 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:59:11,279 INFO L280 TraceCheckUtils]: 0: Hoare triple {5205#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {5205#true} is VALID [2020-07-28 17:59:11,280 INFO L280 TraceCheckUtils]: 1: Hoare triple {5205#true} havoc main_#res;havoc main_#t~nondet2, main_#t~nondet3, main_#t~post1, main_#t~nondet4, main_#t~mem5, main_#t~pre7, main_#t~mem6, main_#t~ret8, main_~#ad1~0.base, main_~#ad1~0.offset, main_~ad2~0.base, main_~ad2~0.offset, main_~i~0, main_~j~0, main_~pa~0.base, main_~pa~0.offset;call main_~#ad1~0.base, main_~#ad1~0.offset := #Ultimate.allocOnStack(160);havoc main_~ad2~0.base, main_~ad2~0.offset;havoc main_~i~0;havoc main_~j~0;havoc main_~pa~0.base, main_~pa~0.offset;main_~j~0 := 0; {5207#(= 0 ULTIMATE.start_main_~j~0)} is VALID [2020-07-28 17:59:11,281 INFO L280 TraceCheckUtils]: 2: Hoare triple {5207#(= 0 ULTIMATE.start_main_~j~0)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {5207#(= 0 ULTIMATE.start_main_~j~0)} is VALID [2020-07-28 17:59:11,282 INFO L280 TraceCheckUtils]: 3: Hoare triple {5207#(= 0 ULTIMATE.start_main_~j~0)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {5208#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:59:11,282 INFO L280 TraceCheckUtils]: 4: Hoare triple {5208#(<= ULTIMATE.start_main_~j~0 1)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {5208#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:59:11,283 INFO L280 TraceCheckUtils]: 5: Hoare triple {5208#(<= ULTIMATE.start_main_~j~0 1)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {5209#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:59:11,284 INFO L280 TraceCheckUtils]: 6: Hoare triple {5209#(<= ULTIMATE.start_main_~j~0 2)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {5209#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:59:11,284 INFO L280 TraceCheckUtils]: 7: Hoare triple {5209#(<= ULTIMATE.start_main_~j~0 2)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {5210#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:59:11,285 INFO L280 TraceCheckUtils]: 8: Hoare triple {5210#(<= ULTIMATE.start_main_~j~0 3)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {5210#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:59:11,285 INFO L280 TraceCheckUtils]: 9: Hoare triple {5210#(<= ULTIMATE.start_main_~j~0 3)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {5211#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:59:11,286 INFO L280 TraceCheckUtils]: 10: Hoare triple {5211#(<= ULTIMATE.start_main_~j~0 4)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {5211#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:59:11,286 INFO L280 TraceCheckUtils]: 11: Hoare triple {5211#(<= ULTIMATE.start_main_~j~0 4)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {5212#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:59:11,286 INFO L280 TraceCheckUtils]: 12: Hoare triple {5212#(<= ULTIMATE.start_main_~j~0 5)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {5212#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:59:11,287 INFO L280 TraceCheckUtils]: 13: Hoare triple {5212#(<= ULTIMATE.start_main_~j~0 5)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {5213#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:59:11,287 INFO L280 TraceCheckUtils]: 14: Hoare triple {5213#(<= ULTIMATE.start_main_~j~0 6)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {5213#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:59:11,288 INFO L280 TraceCheckUtils]: 15: Hoare triple {5213#(<= ULTIMATE.start_main_~j~0 6)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {5214#(<= ULTIMATE.start_main_~j~0 7)} is VALID [2020-07-28 17:59:11,288 INFO L280 TraceCheckUtils]: 16: Hoare triple {5214#(<= ULTIMATE.start_main_~j~0 7)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {5214#(<= ULTIMATE.start_main_~j~0 7)} is VALID [2020-07-28 17:59:11,289 INFO L280 TraceCheckUtils]: 17: Hoare triple {5214#(<= ULTIMATE.start_main_~j~0 7)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {5215#(<= ULTIMATE.start_main_~j~0 8)} is VALID [2020-07-28 17:59:11,289 INFO L280 TraceCheckUtils]: 18: Hoare triple {5215#(<= ULTIMATE.start_main_~j~0 8)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {5215#(<= ULTIMATE.start_main_~j~0 8)} is VALID [2020-07-28 17:59:11,290 INFO L280 TraceCheckUtils]: 19: Hoare triple {5215#(<= ULTIMATE.start_main_~j~0 8)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {5216#(<= ULTIMATE.start_main_~j~0 9)} is VALID [2020-07-28 17:59:11,290 INFO L280 TraceCheckUtils]: 20: Hoare triple {5216#(<= ULTIMATE.start_main_~j~0 9)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {5216#(<= ULTIMATE.start_main_~j~0 9)} is VALID [2020-07-28 17:59:11,291 INFO L280 TraceCheckUtils]: 21: Hoare triple {5216#(<= ULTIMATE.start_main_~j~0 9)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {5217#(<= ULTIMATE.start_main_~j~0 10)} is VALID [2020-07-28 17:59:11,291 INFO L280 TraceCheckUtils]: 22: Hoare triple {5217#(<= ULTIMATE.start_main_~j~0 10)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {5217#(<= ULTIMATE.start_main_~j~0 10)} is VALID [2020-07-28 17:59:11,292 INFO L280 TraceCheckUtils]: 23: Hoare triple {5217#(<= ULTIMATE.start_main_~j~0 10)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {5218#(<= ULTIMATE.start_main_~j~0 11)} is VALID [2020-07-28 17:59:11,292 INFO L280 TraceCheckUtils]: 24: Hoare triple {5218#(<= ULTIMATE.start_main_~j~0 11)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {5218#(<= ULTIMATE.start_main_~j~0 11)} is VALID [2020-07-28 17:59:11,293 INFO L280 TraceCheckUtils]: 25: Hoare triple {5218#(<= ULTIMATE.start_main_~j~0 11)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {5219#(<= ULTIMATE.start_main_~j~0 12)} is VALID [2020-07-28 17:59:11,293 INFO L280 TraceCheckUtils]: 26: Hoare triple {5219#(<= ULTIMATE.start_main_~j~0 12)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {5219#(<= ULTIMATE.start_main_~j~0 12)} is VALID [2020-07-28 17:59:11,294 INFO L280 TraceCheckUtils]: 27: Hoare triple {5219#(<= ULTIMATE.start_main_~j~0 12)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {5220#(<= ULTIMATE.start_main_~j~0 13)} is VALID [2020-07-28 17:59:11,295 INFO L280 TraceCheckUtils]: 28: Hoare triple {5220#(<= ULTIMATE.start_main_~j~0 13)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {5220#(<= ULTIMATE.start_main_~j~0 13)} is VALID [2020-07-28 17:59:11,296 INFO L280 TraceCheckUtils]: 29: Hoare triple {5220#(<= ULTIMATE.start_main_~j~0 13)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {5221#(<= ULTIMATE.start_main_~j~0 14)} is VALID [2020-07-28 17:59:11,296 INFO L280 TraceCheckUtils]: 30: Hoare triple {5221#(<= ULTIMATE.start_main_~j~0 14)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {5221#(<= ULTIMATE.start_main_~j~0 14)} is VALID [2020-07-28 17:59:11,297 INFO L280 TraceCheckUtils]: 31: Hoare triple {5221#(<= ULTIMATE.start_main_~j~0 14)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {5222#(<= ULTIMATE.start_main_~j~0 15)} is VALID [2020-07-28 17:59:11,297 INFO L280 TraceCheckUtils]: 32: Hoare triple {5222#(<= ULTIMATE.start_main_~j~0 15)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {5222#(<= ULTIMATE.start_main_~j~0 15)} is VALID [2020-07-28 17:59:11,298 INFO L280 TraceCheckUtils]: 33: Hoare triple {5222#(<= ULTIMATE.start_main_~j~0 15)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {5223#(<= ULTIMATE.start_main_~j~0 16)} is VALID [2020-07-28 17:59:11,298 INFO L280 TraceCheckUtils]: 34: Hoare triple {5223#(<= ULTIMATE.start_main_~j~0 16)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {5223#(<= ULTIMATE.start_main_~j~0 16)} is VALID [2020-07-28 17:59:11,299 INFO L280 TraceCheckUtils]: 35: Hoare triple {5223#(<= ULTIMATE.start_main_~j~0 16)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {5224#(<= ULTIMATE.start_main_~j~0 17)} is VALID [2020-07-28 17:59:11,299 INFO L280 TraceCheckUtils]: 36: Hoare triple {5224#(<= ULTIMATE.start_main_~j~0 17)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {5224#(<= ULTIMATE.start_main_~j~0 17)} is VALID [2020-07-28 17:59:11,300 INFO L280 TraceCheckUtils]: 37: Hoare triple {5224#(<= ULTIMATE.start_main_~j~0 17)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {5225#(<= ULTIMATE.start_main_~j~0 18)} is VALID [2020-07-28 17:59:11,300 INFO L280 TraceCheckUtils]: 38: Hoare triple {5225#(<= ULTIMATE.start_main_~j~0 18)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {5225#(<= ULTIMATE.start_main_~j~0 18)} is VALID [2020-07-28 17:59:11,301 INFO L280 TraceCheckUtils]: 39: Hoare triple {5225#(<= ULTIMATE.start_main_~j~0 18)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {5226#(<= ULTIMATE.start_main_~j~0 19)} is VALID [2020-07-28 17:59:11,301 INFO L280 TraceCheckUtils]: 40: Hoare triple {5226#(<= ULTIMATE.start_main_~j~0 19)} assume !(main_~j~0 < 20); {5206#false} is VALID [2020-07-28 17:59:11,301 INFO L280 TraceCheckUtils]: 41: Hoare triple {5206#false} assume -2147483648 <= main_#t~nondet4 && main_#t~nondet4 <= 2147483647;main_~i~0 := main_#t~nondet4;havoc main_#t~nondet4; {5206#false} is VALID [2020-07-28 17:59:11,301 INFO L280 TraceCheckUtils]: 42: Hoare triple {5206#false} assume main_~i~0 >= 0 && main_~i~0 < 10;main_~ad2~0.base, main_~ad2~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset;call write~int(main_~i~0, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0, 4);main_~pa~0.base, main_~pa~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0;call main_#t~mem5 := read~int(main_~ad2~0.base, main_~ad2~0.offset + 8 * main_~i~0, 4);main_~i~0 := 10 + main_#t~mem5;havoc main_#t~mem5; {5206#false} is VALID [2020-07-28 17:59:11,301 INFO L280 TraceCheckUtils]: 43: Hoare triple {5206#false} call main_#t~mem6 := read~int(main_~pa~0.base, main_~pa~0.offset, 4); {5206#false} is VALID [2020-07-28 17:59:11,302 INFO L280 TraceCheckUtils]: 44: Hoare triple {5206#false} assume !(main_~i~0 < main_#t~mem6);havoc main_#t~mem6; {5206#false} is VALID [2020-07-28 17:59:11,302 INFO L280 TraceCheckUtils]: 45: Hoare triple {5206#false} check_#in~ad1.base, check_#in~ad1.offset, check_#in~b := main_~#ad1~0.base, main_~#ad1~0.offset, main_~i~0;havoc check_#res;havoc check_#t~mem0, check_~ad1.base, check_~ad1.offset, check_~b;check_~ad1.base, check_~ad1.offset := check_#in~ad1.base, check_#in~ad1.offset;check_~b := check_#in~b;call check_#t~mem0 := read~int(check_~ad1.base, check_~ad1.offset + 8 * check_~b, 4);check_#res := (if check_#t~mem0 == check_~b then 1 else 0);havoc check_#t~mem0; {5206#false} is VALID [2020-07-28 17:59:11,302 INFO L280 TraceCheckUtils]: 46: Hoare triple {5206#false} main_#t~ret8 := check_#res;assume -2147483648 <= main_#t~ret8 && main_#t~ret8 <= 2147483647; {5206#false} is VALID [2020-07-28 17:59:11,302 INFO L280 TraceCheckUtils]: 47: Hoare triple {5206#false} assume 0 == main_#t~ret8;havoc main_#t~ret8; {5206#false} is VALID [2020-07-28 17:59:11,302 INFO L280 TraceCheckUtils]: 48: Hoare triple {5206#false} assume !false; {5206#false} is VALID [2020-07-28 17:59:11,304 INFO L134 CoverageAnalysis]: Checked inductivity of 361 backedges. 0 proven. 361 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 17:59:11,304 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [463986361] [2020-07-28 17:59:11,305 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1279762231] [2020-07-28 17:59:11,305 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 20 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 20 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-28 17:59:11,358 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:59:11,360 INFO L263 TraceCheckSpWp]: Trace formula consists of 212 conjuncts, 21 conjunts are in the unsatisfiable core [2020-07-28 17:59:11,375 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:59:11,376 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 17:59:11,815 INFO L280 TraceCheckUtils]: 0: Hoare triple {5205#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {5205#true} is VALID [2020-07-28 17:59:11,816 INFO L280 TraceCheckUtils]: 1: Hoare triple {5205#true} havoc main_#res;havoc main_#t~nondet2, main_#t~nondet3, main_#t~post1, main_#t~nondet4, main_#t~mem5, main_#t~pre7, main_#t~mem6, main_#t~ret8, main_~#ad1~0.base, main_~#ad1~0.offset, main_~ad2~0.base, main_~ad2~0.offset, main_~i~0, main_~j~0, main_~pa~0.base, main_~pa~0.offset;call main_~#ad1~0.base, main_~#ad1~0.offset := #Ultimate.allocOnStack(160);havoc main_~ad2~0.base, main_~ad2~0.offset;havoc main_~i~0;havoc main_~j~0;havoc main_~pa~0.base, main_~pa~0.offset;main_~j~0 := 0; {5233#(<= ULTIMATE.start_main_~j~0 0)} is VALID [2020-07-28 17:59:11,817 INFO L280 TraceCheckUtils]: 2: Hoare triple {5233#(<= ULTIMATE.start_main_~j~0 0)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {5233#(<= ULTIMATE.start_main_~j~0 0)} is VALID [2020-07-28 17:59:11,818 INFO L280 TraceCheckUtils]: 3: Hoare triple {5233#(<= ULTIMATE.start_main_~j~0 0)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {5208#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:59:11,819 INFO L280 TraceCheckUtils]: 4: Hoare triple {5208#(<= ULTIMATE.start_main_~j~0 1)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {5208#(<= ULTIMATE.start_main_~j~0 1)} is VALID [2020-07-28 17:59:11,819 INFO L280 TraceCheckUtils]: 5: Hoare triple {5208#(<= ULTIMATE.start_main_~j~0 1)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {5209#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:59:11,820 INFO L280 TraceCheckUtils]: 6: Hoare triple {5209#(<= ULTIMATE.start_main_~j~0 2)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {5209#(<= ULTIMATE.start_main_~j~0 2)} is VALID [2020-07-28 17:59:11,820 INFO L280 TraceCheckUtils]: 7: Hoare triple {5209#(<= ULTIMATE.start_main_~j~0 2)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {5210#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:59:11,821 INFO L280 TraceCheckUtils]: 8: Hoare triple {5210#(<= ULTIMATE.start_main_~j~0 3)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {5210#(<= ULTIMATE.start_main_~j~0 3)} is VALID [2020-07-28 17:59:11,821 INFO L280 TraceCheckUtils]: 9: Hoare triple {5210#(<= ULTIMATE.start_main_~j~0 3)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {5211#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:59:11,822 INFO L280 TraceCheckUtils]: 10: Hoare triple {5211#(<= ULTIMATE.start_main_~j~0 4)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {5211#(<= ULTIMATE.start_main_~j~0 4)} is VALID [2020-07-28 17:59:11,822 INFO L280 TraceCheckUtils]: 11: Hoare triple {5211#(<= ULTIMATE.start_main_~j~0 4)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {5212#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:59:11,823 INFO L280 TraceCheckUtils]: 12: Hoare triple {5212#(<= ULTIMATE.start_main_~j~0 5)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {5212#(<= ULTIMATE.start_main_~j~0 5)} is VALID [2020-07-28 17:59:11,823 INFO L280 TraceCheckUtils]: 13: Hoare triple {5212#(<= ULTIMATE.start_main_~j~0 5)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {5213#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:59:11,824 INFO L280 TraceCheckUtils]: 14: Hoare triple {5213#(<= ULTIMATE.start_main_~j~0 6)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {5213#(<= ULTIMATE.start_main_~j~0 6)} is VALID [2020-07-28 17:59:11,824 INFO L280 TraceCheckUtils]: 15: Hoare triple {5213#(<= ULTIMATE.start_main_~j~0 6)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {5214#(<= ULTIMATE.start_main_~j~0 7)} is VALID [2020-07-28 17:59:11,825 INFO L280 TraceCheckUtils]: 16: Hoare triple {5214#(<= ULTIMATE.start_main_~j~0 7)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {5214#(<= ULTIMATE.start_main_~j~0 7)} is VALID [2020-07-28 17:59:11,826 INFO L280 TraceCheckUtils]: 17: Hoare triple {5214#(<= ULTIMATE.start_main_~j~0 7)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {5215#(<= ULTIMATE.start_main_~j~0 8)} is VALID [2020-07-28 17:59:11,834 INFO L280 TraceCheckUtils]: 18: Hoare triple {5215#(<= ULTIMATE.start_main_~j~0 8)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {5215#(<= ULTIMATE.start_main_~j~0 8)} is VALID [2020-07-28 17:59:11,835 INFO L280 TraceCheckUtils]: 19: Hoare triple {5215#(<= ULTIMATE.start_main_~j~0 8)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {5216#(<= ULTIMATE.start_main_~j~0 9)} is VALID [2020-07-28 17:59:11,836 INFO L280 TraceCheckUtils]: 20: Hoare triple {5216#(<= ULTIMATE.start_main_~j~0 9)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {5216#(<= ULTIMATE.start_main_~j~0 9)} is VALID [2020-07-28 17:59:11,836 INFO L280 TraceCheckUtils]: 21: Hoare triple {5216#(<= ULTIMATE.start_main_~j~0 9)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {5217#(<= ULTIMATE.start_main_~j~0 10)} is VALID [2020-07-28 17:59:11,837 INFO L280 TraceCheckUtils]: 22: Hoare triple {5217#(<= ULTIMATE.start_main_~j~0 10)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {5217#(<= ULTIMATE.start_main_~j~0 10)} is VALID [2020-07-28 17:59:11,838 INFO L280 TraceCheckUtils]: 23: Hoare triple {5217#(<= ULTIMATE.start_main_~j~0 10)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {5218#(<= ULTIMATE.start_main_~j~0 11)} is VALID [2020-07-28 17:59:11,838 INFO L280 TraceCheckUtils]: 24: Hoare triple {5218#(<= ULTIMATE.start_main_~j~0 11)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {5218#(<= ULTIMATE.start_main_~j~0 11)} is VALID [2020-07-28 17:59:11,839 INFO L280 TraceCheckUtils]: 25: Hoare triple {5218#(<= ULTIMATE.start_main_~j~0 11)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {5219#(<= ULTIMATE.start_main_~j~0 12)} is VALID [2020-07-28 17:59:11,840 INFO L280 TraceCheckUtils]: 26: Hoare triple {5219#(<= ULTIMATE.start_main_~j~0 12)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {5219#(<= ULTIMATE.start_main_~j~0 12)} is VALID [2020-07-28 17:59:11,840 INFO L280 TraceCheckUtils]: 27: Hoare triple {5219#(<= ULTIMATE.start_main_~j~0 12)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {5220#(<= ULTIMATE.start_main_~j~0 13)} is VALID [2020-07-28 17:59:11,841 INFO L280 TraceCheckUtils]: 28: Hoare triple {5220#(<= ULTIMATE.start_main_~j~0 13)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {5220#(<= ULTIMATE.start_main_~j~0 13)} is VALID [2020-07-28 17:59:11,842 INFO L280 TraceCheckUtils]: 29: Hoare triple {5220#(<= ULTIMATE.start_main_~j~0 13)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {5221#(<= ULTIMATE.start_main_~j~0 14)} is VALID [2020-07-28 17:59:11,842 INFO L280 TraceCheckUtils]: 30: Hoare triple {5221#(<= ULTIMATE.start_main_~j~0 14)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {5221#(<= ULTIMATE.start_main_~j~0 14)} is VALID [2020-07-28 17:59:11,843 INFO L280 TraceCheckUtils]: 31: Hoare triple {5221#(<= ULTIMATE.start_main_~j~0 14)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {5222#(<= ULTIMATE.start_main_~j~0 15)} is VALID [2020-07-28 17:59:11,844 INFO L280 TraceCheckUtils]: 32: Hoare triple {5222#(<= ULTIMATE.start_main_~j~0 15)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {5222#(<= ULTIMATE.start_main_~j~0 15)} is VALID [2020-07-28 17:59:11,845 INFO L280 TraceCheckUtils]: 33: Hoare triple {5222#(<= ULTIMATE.start_main_~j~0 15)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {5223#(<= ULTIMATE.start_main_~j~0 16)} is VALID [2020-07-28 17:59:11,845 INFO L280 TraceCheckUtils]: 34: Hoare triple {5223#(<= ULTIMATE.start_main_~j~0 16)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {5223#(<= ULTIMATE.start_main_~j~0 16)} is VALID [2020-07-28 17:59:11,846 INFO L280 TraceCheckUtils]: 35: Hoare triple {5223#(<= ULTIMATE.start_main_~j~0 16)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {5224#(<= ULTIMATE.start_main_~j~0 17)} is VALID [2020-07-28 17:59:11,847 INFO L280 TraceCheckUtils]: 36: Hoare triple {5224#(<= ULTIMATE.start_main_~j~0 17)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {5224#(<= ULTIMATE.start_main_~j~0 17)} is VALID [2020-07-28 17:59:11,847 INFO L280 TraceCheckUtils]: 37: Hoare triple {5224#(<= ULTIMATE.start_main_~j~0 17)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {5225#(<= ULTIMATE.start_main_~j~0 18)} is VALID [2020-07-28 17:59:11,848 INFO L280 TraceCheckUtils]: 38: Hoare triple {5225#(<= ULTIMATE.start_main_~j~0 18)} assume !!(main_~j~0 < 20);assume -2147483648 <= main_#t~nondet2 && main_#t~nondet2 <= 2147483647;call write~int(main_#t~nondet2, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~j~0, 4);havoc main_#t~nondet2;assume -2147483648 <= main_#t~nondet3 && main_#t~nondet3 <= 2147483647;call write~int(main_#t~nondet3, main_~#ad1~0.base, 4 + (main_~#ad1~0.offset + 8 * main_~j~0), 4);havoc main_#t~nondet3; {5225#(<= ULTIMATE.start_main_~j~0 18)} is VALID [2020-07-28 17:59:11,849 INFO L280 TraceCheckUtils]: 39: Hoare triple {5225#(<= ULTIMATE.start_main_~j~0 18)} main_#t~post1 := main_~j~0;main_~j~0 := 1 + main_#t~post1;havoc main_#t~post1; {5226#(<= ULTIMATE.start_main_~j~0 19)} is VALID [2020-07-28 17:59:11,849 INFO L280 TraceCheckUtils]: 40: Hoare triple {5226#(<= ULTIMATE.start_main_~j~0 19)} assume !(main_~j~0 < 20); {5206#false} is VALID [2020-07-28 17:59:11,850 INFO L280 TraceCheckUtils]: 41: Hoare triple {5206#false} assume -2147483648 <= main_#t~nondet4 && main_#t~nondet4 <= 2147483647;main_~i~0 := main_#t~nondet4;havoc main_#t~nondet4; {5206#false} is VALID [2020-07-28 17:59:11,850 INFO L280 TraceCheckUtils]: 42: Hoare triple {5206#false} assume main_~i~0 >= 0 && main_~i~0 < 10;main_~ad2~0.base, main_~ad2~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset;call write~int(main_~i~0, main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0, 4);main_~pa~0.base, main_~pa~0.offset := main_~#ad1~0.base, main_~#ad1~0.offset + 8 * main_~i~0;call main_#t~mem5 := read~int(main_~ad2~0.base, main_~ad2~0.offset + 8 * main_~i~0, 4);main_~i~0 := 10 + main_#t~mem5;havoc main_#t~mem5; {5206#false} is VALID [2020-07-28 17:59:11,850 INFO L280 TraceCheckUtils]: 43: Hoare triple {5206#false} call main_#t~mem6 := read~int(main_~pa~0.base, main_~pa~0.offset, 4); {5206#false} is VALID [2020-07-28 17:59:11,850 INFO L280 TraceCheckUtils]: 44: Hoare triple {5206#false} assume !(main_~i~0 < main_#t~mem6);havoc main_#t~mem6; {5206#false} is VALID [2020-07-28 17:59:11,850 INFO L280 TraceCheckUtils]: 45: Hoare triple {5206#false} check_#in~ad1.base, check_#in~ad1.offset, check_#in~b := main_~#ad1~0.base, main_~#ad1~0.offset, main_~i~0;havoc check_#res;havoc check_#t~mem0, check_~ad1.base, check_~ad1.offset, check_~b;check_~ad1.base, check_~ad1.offset := check_#in~ad1.base, check_#in~ad1.offset;check_~b := check_#in~b;call check_#t~mem0 := read~int(check_~ad1.base, check_~ad1.offset + 8 * check_~b, 4);check_#res := (if check_#t~mem0 == check_~b then 1 else 0);havoc check_#t~mem0; {5206#false} is VALID [2020-07-28 17:59:11,850 INFO L280 TraceCheckUtils]: 46: Hoare triple {5206#false} main_#t~ret8 := check_#res;assume -2147483648 <= main_#t~ret8 && main_#t~ret8 <= 2147483647; {5206#false} is VALID [2020-07-28 17:59:11,850 INFO L280 TraceCheckUtils]: 47: Hoare triple {5206#false} assume 0 == main_#t~ret8;havoc main_#t~ret8; {5206#false} is VALID [2020-07-28 17:59:11,851 INFO L280 TraceCheckUtils]: 48: Hoare triple {5206#false} assume !false; {5206#false} is VALID [2020-07-28 17:59:11,853 INFO L134 CoverageAnalysis]: Checked inductivity of 361 backedges. 0 proven. 361 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 17:59:11,853 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-28 17:59:11,853 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [22, 22] total 23 [2020-07-28 17:59:11,853 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1744218845] [2020-07-28 17:59:11,854 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 49 [2020-07-28 17:59:11,854 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 17:59:11,854 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states. [2020-07-28 17:59:11,926 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 17:59:11,926 INFO L459 AbstractCegarLoop]: Interpolant automaton has 23 states [2020-07-28 17:59:11,926 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-28 17:59:11,927 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2020-07-28 17:59:11,927 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=253, Invalid=253, Unknown=0, NotChecked=0, Total=506 [2020-07-28 17:59:11,927 INFO L87 Difference]: Start difference. First operand 50 states and 51 transitions. Second operand 23 states. [2020-07-28 17:59:12,147 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:59:12,147 INFO L93 Difference]: Finished difference Result 61 states and 63 transitions. [2020-07-28 17:59:12,147 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2020-07-28 17:59:12,148 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 49 [2020-07-28 17:59:12,148 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 17:59:12,148 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2020-07-28 17:59:12,150 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 63 transitions. [2020-07-28 17:59:12,150 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2020-07-28 17:59:12,151 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 63 transitions. [2020-07-28 17:59:12,151 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states and 63 transitions. [2020-07-28 17:59:12,238 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 17:59:12,239 INFO L225 Difference]: With dead ends: 61 [2020-07-28 17:59:12,239 INFO L226 Difference]: Without dead ends: 52 [2020-07-28 17:59:12,240 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 70 GetRequests, 49 SyntacticMatches, 0 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 36 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=253, Invalid=253, Unknown=0, NotChecked=0, Total=506 [2020-07-28 17:59:12,241 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2020-07-28 17:59:12,263 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 52. [2020-07-28 17:59:12,264 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 17:59:12,264 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand 52 states. [2020-07-28 17:59:12,264 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand 52 states. [2020-07-28 17:59:12,264 INFO L87 Difference]: Start difference. First operand 52 states. Second operand 52 states. [2020-07-28 17:59:12,266 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:59:12,266 INFO L93 Difference]: Finished difference Result 52 states and 53 transitions. [2020-07-28 17:59:12,267 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 53 transitions. [2020-07-28 17:59:12,267 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:59:12,267 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:59:12,267 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand 52 states. [2020-07-28 17:59:12,267 INFO L87 Difference]: Start difference. First operand 52 states. Second operand 52 states. [2020-07-28 17:59:12,268 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:59:12,269 INFO L93 Difference]: Finished difference Result 52 states and 53 transitions. [2020-07-28 17:59:12,269 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 53 transitions. [2020-07-28 17:59:12,269 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:59:12,270 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:59:12,270 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 17:59:12,270 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 17:59:12,270 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 52 states. [2020-07-28 17:59:12,272 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 53 transitions. [2020-07-28 17:59:12,272 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 53 transitions. Word has length 49 [2020-07-28 17:59:12,272 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 17:59:12,273 INFO L479 AbstractCegarLoop]: Abstraction has 52 states and 53 transitions. [2020-07-28 17:59:12,273 INFO L480 AbstractCegarLoop]: Interpolant automaton has 23 states. [2020-07-28 17:59:12,273 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 53 transitions. [2020-07-28 17:59:12,273 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2020-07-28 17:59:12,274 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 17:59:12,274 INFO L422 BasicCegarLoop]: trace histogram [20, 20, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 17:59:12,484 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable20,20 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-28 17:59:12,485 INFO L427 AbstractCegarLoop]: === Iteration 22 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 17:59:12,486 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 17:59:12,486 INFO L82 PathProgramCache]: Analyzing trace with hash -1081145555, now seen corresponding path program 20 times [2020-07-28 17:59:12,486 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 17:59:12,487 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1012538286] [2020-07-28 17:59:12,487 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 17:59:12,591 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-28 17:59:12,591 INFO L221 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2020-07-28 17:59:12,710 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-28 17:59:12,711 INFO L221 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2020-07-28 17:59:12,757 INFO L174 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2020-07-28 17:59:12,758 INFO L520 BasicCegarLoop]: Counterexample might be feasible [2020-07-28 17:59:12,758 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable21 [2020-07-28 17:59:12,857 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2020-07-28 17:59:12,858 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-28 17:59:12,858 WARN L170 areAnnotationChecker]: L17-3 has no Hoare annotation [2020-07-28 17:59:12,858 WARN L170 areAnnotationChecker]: L17-3 has no Hoare annotation [2020-07-28 17:59:12,858 WARN L170 areAnnotationChecker]: L17-3 has no Hoare annotation [2020-07-28 17:59:12,858 WARN L170 areAnnotationChecker]: L17-4 has no Hoare annotation [2020-07-28 17:59:12,858 WARN L170 areAnnotationChecker]: L17-2 has no Hoare annotation [2020-07-28 17:59:12,859 WARN L170 areAnnotationChecker]: L22 has no Hoare annotation [2020-07-28 17:59:12,859 WARN L170 areAnnotationChecker]: L22 has no Hoare annotation [2020-07-28 17:59:12,859 WARN L170 areAnnotationChecker]: L27-3 has no Hoare annotation [2020-07-28 17:59:12,859 WARN L170 areAnnotationChecker]: L27-3 has no Hoare annotation [2020-07-28 17:59:12,859 WARN L170 areAnnotationChecker]: L22-2 has no Hoare annotation [2020-07-28 17:59:12,859 WARN L170 areAnnotationChecker]: L27-4 has no Hoare annotation [2020-07-28 17:59:12,860 WARN L170 areAnnotationChecker]: L27-1 has no Hoare annotation [2020-07-28 17:59:12,860 WARN L170 areAnnotationChecker]: L27-1 has no Hoare annotation [2020-07-28 17:59:12,860 WARN L170 areAnnotationChecker]: L38 has no Hoare annotation [2020-07-28 17:59:12,860 WARN L170 areAnnotationChecker]: L10 has no Hoare annotation [2020-07-28 17:59:12,860 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2020-07-28 17:59:12,860 WARN L170 areAnnotationChecker]: L30 has no Hoare annotation [2020-07-28 17:59:12,861 WARN L170 areAnnotationChecker]: L30 has no Hoare annotation [2020-07-28 17:59:12,861 WARN L170 areAnnotationChecker]: L31 has no Hoare annotation [2020-07-28 17:59:12,861 WARN L170 areAnnotationChecker]: L31 has no Hoare annotation [2020-07-28 17:59:12,861 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:12,864 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 28.07 05:59:12 BoogieIcfgContainer [2020-07-28 17:59:12,864 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2020-07-28 17:59:12,865 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2020-07-28 17:59:12,865 INFO L271 PluginConnector]: Initializing Witness Printer... [2020-07-28 17:59:12,865 INFO L275 PluginConnector]: Witness Printer initialized [2020-07-28 17:59:12,866 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:43" (3/4) ... [2020-07-28 17:59:12,868 INFO L131 WitnessPrinter]: Generating witness for reachability counterexample [2020-07-28 17:59:12,985 INFO L141 WitnessManager]: Wrote witness to /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/witness.graphml [2020-07-28 17:59:12,985 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2020-07-28 17:59:12,988 INFO L168 Benchmark]: Toolchain (without parser) took 30862.01 ms. Allocated memory was 1.0 GB in the beginning and 1.4 GB in the end (delta: 407.4 MB). Free memory was 960.2 MB in the beginning and 1.0 GB in the end (delta: -60.4 MB). Peak memory consumption was 347.0 MB. Max. memory is 11.5 GB. [2020-07-28 17:59:12,989 INFO L168 Benchmark]: CDTParser took 0.21 ms. Allocated memory is still 1.0 GB. Free memory is still 987.1 MB. There was no memory consumed. Max. memory is 11.5 GB. [2020-07-28 17:59:12,989 INFO L168 Benchmark]: CACSL2BoogieTranslator took 304.72 ms. Allocated memory is still 1.0 GB. Free memory was 960.2 MB in the beginning and 949.5 MB in the end (delta: 10.7 MB). Peak memory consumption was 10.7 MB. Max. memory is 11.5 GB. [2020-07-28 17:59:12,990 INFO L168 Benchmark]: Boogie Procedure Inliner took 116.64 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 133.2 MB). Free memory was 949.5 MB in the beginning and 1.1 GB in the end (delta: -173.4 MB). Peak memory consumption was 9.7 MB. Max. memory is 11.5 GB. [2020-07-28 17:59:12,990 INFO L168 Benchmark]: Boogie Preprocessor took 29.41 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:12,990 INFO L168 Benchmark]: RCFGBuilder took 434.08 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: 27.0 MB). Peak memory consumption was 27.0 MB. Max. memory is 11.5 GB. [2020-07-28 17:59:12,991 INFO L168 Benchmark]: TraceAbstraction took 29849.02 ms. Allocated memory was 1.2 GB in the beginning and 1.4 GB in the end (delta: 274.2 MB). Free memory was 1.1 GB in the beginning and 1.0 GB in the end (delta: 75.3 MB). Peak memory consumption was 349.5 MB. Max. memory is 11.5 GB. [2020-07-28 17:59:12,991 INFO L168 Benchmark]: Witness Printer took 120.89 ms. Allocated memory is still 1.4 GB. Free memory is still 1.0 GB. There was no memory consumed. Max. memory is 11.5 GB. [2020-07-28 17:59:12,993 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.21 ms. Allocated memory is still 1.0 GB. Free memory is still 987.1 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 304.72 ms. Allocated memory is still 1.0 GB. Free memory was 960.2 MB in the beginning and 949.5 MB in the end (delta: 10.7 MB). Peak memory consumption was 10.7 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 116.64 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 133.2 MB). Free memory was 949.5 MB in the beginning and 1.1 GB in the end (delta: -173.4 MB). Peak memory consumption was 9.7 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 29.41 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 434.08 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: 27.0 MB). Peak memory consumption was 27.0 MB. Max. memory is 11.5 GB. * TraceAbstraction took 29849.02 ms. Allocated memory was 1.2 GB in the beginning and 1.4 GB in the end (delta: 274.2 MB). Free memory was 1.1 GB in the beginning and 1.0 GB in the end (delta: 75.3 MB). Peak memory consumption was 349.5 MB. Max. memory is 11.5 GB. * Witness Printer took 120.89 ms. Allocated memory is still 1.4 GB. Free memory is still 1.0 GB. There was no memory consumed. Max. memory is 11.5 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - CounterExampleResult [Line: 37]: a call of __VERIFIER_error() is reachable a call of __VERIFIER_error() is reachable We found a FailurePath: [L15] struct dummy ad1[20], *ad2; [L16] int i, j, *pa; [L17] j=0 [L17] COND TRUE j<20 [L18] ad1[j].a = __VERIFIER_nondet_int() [L19] ad1[j].b = __VERIFIER_nondet_int() [L17] j++ [L17] COND TRUE j<20 [L18] ad1[j].a = __VERIFIER_nondet_int() [L19] ad1[j].b = __VERIFIER_nondet_int() [L17] j++ [L17] COND TRUE j<20 [L18] ad1[j].a = __VERIFIER_nondet_int() [L19] ad1[j].b = __VERIFIER_nondet_int() [L17] j++ [L17] COND TRUE j<20 [L18] ad1[j].a = __VERIFIER_nondet_int() [L19] ad1[j].b = __VERIFIER_nondet_int() [L17] j++ [L17] COND TRUE j<20 [L18] ad1[j].a = __VERIFIER_nondet_int() [L19] ad1[j].b = __VERIFIER_nondet_int() [L17] j++ [L17] COND TRUE j<20 [L18] ad1[j].a = __VERIFIER_nondet_int() [L19] ad1[j].b = __VERIFIER_nondet_int() [L17] j++ [L17] COND TRUE j<20 [L18] ad1[j].a = __VERIFIER_nondet_int() [L19] ad1[j].b = __VERIFIER_nondet_int() [L17] j++ [L17] COND TRUE j<20 [L18] ad1[j].a = __VERIFIER_nondet_int() [L19] ad1[j].b = __VERIFIER_nondet_int() [L17] j++ [L17] COND TRUE j<20 [L18] ad1[j].a = __VERIFIER_nondet_int() [L19] ad1[j].b = __VERIFIER_nondet_int() [L17] j++ [L17] COND TRUE j<20 [L18] ad1[j].a = __VERIFIER_nondet_int() [L19] ad1[j].b = __VERIFIER_nondet_int() [L17] j++ [L17] COND TRUE j<20 [L18] ad1[j].a = __VERIFIER_nondet_int() [L19] ad1[j].b = __VERIFIER_nondet_int() [L17] j++ [L17] COND TRUE j<20 [L18] ad1[j].a = __VERIFIER_nondet_int() [L19] ad1[j].b = __VERIFIER_nondet_int() [L17] j++ [L17] COND TRUE j<20 [L18] ad1[j].a = __VERIFIER_nondet_int() [L19] ad1[j].b = __VERIFIER_nondet_int() [L17] j++ [L17] COND TRUE j<20 [L18] ad1[j].a = __VERIFIER_nondet_int() [L19] ad1[j].b = __VERIFIER_nondet_int() [L17] j++ [L17] COND TRUE j<20 [L18] ad1[j].a = __VERIFIER_nondet_int() [L19] ad1[j].b = __VERIFIER_nondet_int() [L17] j++ [L17] COND TRUE j<20 [L18] ad1[j].a = __VERIFIER_nondet_int() [L19] ad1[j].b = __VERIFIER_nondet_int() [L17] j++ [L17] COND TRUE j<20 [L18] ad1[j].a = __VERIFIER_nondet_int() [L19] ad1[j].b = __VERIFIER_nondet_int() [L17] j++ [L17] COND TRUE j<20 [L18] ad1[j].a = __VERIFIER_nondet_int() [L19] ad1[j].b = __VERIFIER_nondet_int() [L17] j++ [L17] COND TRUE j<20 [L18] ad1[j].a = __VERIFIER_nondet_int() [L19] ad1[j].b = __VERIFIER_nondet_int() [L17] j++ [L17] COND TRUE j<20 [L18] ad1[j].a = __VERIFIER_nondet_int() [L19] ad1[j].b = __VERIFIER_nondet_int() [L17] j++ [L17] COND FALSE !(j<20) [L21] i = __VERIFIER_nondet_int() [L22] COND TRUE i >= 0 && i < 10 [L23] ad2 = ad1 [L24] ad1[i].a = i [L25] pa = &ad1[i].a [L26] EXPR ad2[i].a [L26] i = ad2[i].a + 10 [L27] EXPR \read(*pa) [L27] COND FALSE !(i < *pa) [L10] EXPR ad1[b].a [L10] return ad1[b].a == b; [L30] COND TRUE !check(ad1, i) [L37] __VERIFIER_error() - StatisticsResult: Ultimate Automizer benchmark data CFG has 1 procedures, 17 locations, 1 error locations. Started 1 CEGAR loops. VerificationResult: UNSAFE, OverallTime: 29.6s, OverallIterations: 22, TraceHistogramMax: 20, AutomataDifference: 4.5s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 259 SDtfs, 210 SDslu, 1480 SDs, 0 SdLazy, 619 SolverSat, 29 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 0.7s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 822 GetRequests, 593 SyntacticMatches, 0 SemanticMatches, 229 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 342 ImplicationChecksByTransitivity, 2.4s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=52occurred in iteration=21, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.5s AutomataMinimizationTime, 21 MinimizatonAttempts, 19 StatesRemovedByMinimization, 19 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.2s SsaConstructionTime, 8.5s SatisfiabilityAnalysisTime, 9.9s InterpolantComputationTime, 1250 NumberOfCodeBlocks, 1250 NumberOfCodeBlocksAsserted, 143 NumberOfCheckSat, 1159 ConstructedInterpolants, 0 QuantifiedInterpolants, 95961 SizeOfPredicates, 19 NumberOfNonLiveVariables, 2660 ConjunctsInSsa, 228 ConjunctsInUnsatCore, 40 InterpolantComputations, 2 PerfectInterpolantSequences, 0/4940 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...