java -ea -Xmx8000000000 -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 ../../../trunk/examples/toolchains/AutomizerCInline_WitnessPrinter.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf -i ../../../trunk/examples/svcomp/loops/sum01_bug02_false-unreach-call_true-termination.i -------------------------------------------------------------------------------- This is Ultimate 0.1.23-61f4311 [2018-11-23 13:02:35,740 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 13:02:35,742 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 13:02:35,757 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 13:02:35,757 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 13:02:35,758 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 13:02:35,761 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 13:02:35,763 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 13:02:35,766 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 13:02:35,766 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 13:02:35,770 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 13:02:35,770 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 13:02:35,771 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 13:02:35,774 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 13:02:35,782 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 13:02:35,783 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 13:02:35,784 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 13:02:35,785 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 13:02:35,787 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 13:02:35,788 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 13:02:35,789 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 13:02:35,790 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 13:02:35,792 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 13:02:35,793 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 13:02:35,793 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 13:02:35,794 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 13:02:35,794 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 13:02:35,795 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 13:02:35,796 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 13:02:35,797 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 13:02:35,797 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 13:02:35,798 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 13:02:35,798 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 13:02:35,798 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 13:02:35,799 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 13:02:35,800 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 13:02:35,800 INFO L98 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf [2018-11-23 13:02:35,814 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 13:02:35,814 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 13:02:35,815 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 13:02:35,815 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 13:02:35,816 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 13:02:35,816 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 13:02:35,816 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 13:02:35,817 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 13:02:35,817 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 13:02:35,817 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 13:02:35,817 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 13:02:35,817 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 13:02:35,818 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 13:02:35,818 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 13:02:35,818 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 13:02:35,818 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 13:02:35,818 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 13:02:35,819 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 13:02:35,819 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 13:02:35,819 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 13:02:35,819 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 13:02:35,819 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 13:02:35,820 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 13:02:35,820 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 13:02:35,820 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 13:02:35,820 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 13:02:35,820 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 13:02:35,821 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-23 13:02:35,821 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 13:02:35,821 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-23 13:02:35,821 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-23 13:02:35,880 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 13:02:35,894 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 13:02:35,898 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 13:02:35,900 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 13:02:35,901 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 13:02:35,902 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/loops/sum01_bug02_false-unreach-call_true-termination.i [2018-11-23 13:02:35,965 INFO L221 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/545bf8ce0/b71f13c1df384a39b8cd56694ffd9fc8/FLAG6304189e8 [2018-11-23 13:02:36,410 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 13:02:36,411 INFO L161 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/loops/sum01_bug02_false-unreach-call_true-termination.i [2018-11-23 13:02:36,418 INFO L355 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/545bf8ce0/b71f13c1df384a39b8cd56694ffd9fc8/FLAG6304189e8 [2018-11-23 13:02:36,743 INFO L363 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/545bf8ce0/b71f13c1df384a39b8cd56694ffd9fc8 [2018-11-23 13:02:36,751 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 13:02:36,753 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 13:02:36,754 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 13:02:36,755 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 13:02:36,759 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 13:02:36,761 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 01:02:36" (1/1) ... [2018-11-23 13:02:36,765 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@4fbd9f76 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:02:36, skipping insertion in model container [2018-11-23 13:02:36,765 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 01:02:36" (1/1) ... [2018-11-23 13:02:36,777 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 13:02:36,802 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 13:02:37,052 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 13:02:37,057 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 13:02:37,079 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 13:02:37,095 INFO L195 MainTranslator]: Completed translation [2018-11-23 13:02:37,095 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:02:37 WrapperNode [2018-11-23 13:02:37,095 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 13:02:37,096 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 13:02:37,096 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 13:02:37,096 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 13:02:37,106 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:02:37" (1/1) ... [2018-11-23 13:02:37,112 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:02:37" (1/1) ... [2018-11-23 13:02:37,120 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 13:02:37,120 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 13:02:37,120 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 13:02:37,121 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 13:02:37,131 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:02:37" (1/1) ... [2018-11-23 13:02:37,131 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:02:37" (1/1) ... [2018-11-23 13:02:37,132 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:02:37" (1/1) ... [2018-11-23 13:02:37,132 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:02:37" (1/1) ... [2018-11-23 13:02:37,139 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:02:37" (1/1) ... [2018-11-23 13:02:37,145 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:02:37" (1/1) ... [2018-11-23 13:02:37,146 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:02:37" (1/1) ... [2018-11-23 13:02:37,147 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 13:02:37,148 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 13:02:37,148 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 13:02:37,148 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 13:02:37,149 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:02:37" (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 [2018-11-23 13:02:37,285 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 13:02:37,285 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 13:02:37,285 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 13:02:37,285 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 13:02:37,286 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 13:02:37,286 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 13:02:37,286 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2018-11-23 13:02:37,286 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2018-11-23 13:02:37,832 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 13:02:37,832 INFO L280 CfgBuilder]: Removed 1 assue(true) statements. [2018-11-23 13:02:37,833 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 01:02:37 BoogieIcfgContainer [2018-11-23 13:02:37,833 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 13:02:37,834 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 13:02:37,834 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 13:02:37,838 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 13:02:37,838 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 01:02:36" (1/3) ... [2018-11-23 13:02:37,839 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1b4d8dfe and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 01:02:37, skipping insertion in model container [2018-11-23 13:02:37,839 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:02:37" (2/3) ... [2018-11-23 13:02:37,839 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1b4d8dfe and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 01:02:37, skipping insertion in model container [2018-11-23 13:02:37,840 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 01:02:37" (3/3) ... [2018-11-23 13:02:37,842 INFO L112 eAbstractionObserver]: Analyzing ICFG sum01_bug02_false-unreach-call_true-termination.i [2018-11-23 13:02:37,850 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 13:02:37,858 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 13:02:37,873 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 13:02:37,904 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 13:02:37,905 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 13:02:37,905 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 13:02:37,905 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 13:02:37,905 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 13:02:37,905 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 13:02:37,905 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 13:02:37,906 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 13:02:37,906 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 13:02:37,925 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states. [2018-11-23 13:02:37,931 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 11 [2018-11-23 13:02:37,931 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:02:37,932 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:02:37,934 INFO L423 AbstractCegarLoop]: === Iteration 1 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:02:37,940 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:02:37,941 INFO L82 PathProgramCache]: Analyzing trace with hash -146959038, now seen corresponding path program 1 times [2018-11-23 13:02:37,943 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:02:37,944 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:02:38,000 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:02:38,000 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 13:02:38,000 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:02:38,037 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:02:38,110 INFO L256 TraceCheckUtils]: 0: Hoare triple {23#true} call ULTIMATE.init(); {23#true} is VALID [2018-11-23 13:02:38,113 INFO L273 TraceCheckUtils]: 1: Hoare triple {23#true} assume true; {23#true} is VALID [2018-11-23 13:02:38,114 INFO L268 TraceCheckUtils]: 2: Hoare quadruple {23#true} {23#true} #39#return; {23#true} is VALID [2018-11-23 13:02:38,114 INFO L256 TraceCheckUtils]: 3: Hoare triple {23#true} call #t~ret3 := main(); {23#true} is VALID [2018-11-23 13:02:38,115 INFO L273 TraceCheckUtils]: 4: Hoare triple {23#true} havoc ~i~0;~j~0 := 10;~n~0 := (if #t~nondet0 % 4294967296 % 4294967296 <= 2147483647 then #t~nondet0 % 4294967296 % 4294967296 else #t~nondet0 % 4294967296 % 4294967296 - 4294967296);havoc #t~nondet0;~sn~0 := 0;~i~0 := 1; {23#true} is VALID [2018-11-23 13:02:38,116 INFO L273 TraceCheckUtils]: 5: Hoare triple {23#true} assume !true; {24#false} is VALID [2018-11-23 13:02:38,116 INFO L256 TraceCheckUtils]: 6: Hoare triple {24#false} call __VERIFIER_assert((if ~sn~0 == 2 * ~n~0 || 0 == ~sn~0 then 1 else 0)); {24#false} is VALID [2018-11-23 13:02:38,116 INFO L273 TraceCheckUtils]: 7: Hoare triple {24#false} ~cond := #in~cond; {24#false} is VALID [2018-11-23 13:02:38,117 INFO L273 TraceCheckUtils]: 8: Hoare triple {24#false} assume 0 == ~cond; {24#false} is VALID [2018-11-23 13:02:38,117 INFO L273 TraceCheckUtils]: 9: Hoare triple {24#false} assume !false; {24#false} is VALID [2018-11-23 13:02:38,120 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 13:02:38,122 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 13:02:38,122 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 13:02:38,127 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 10 [2018-11-23 13:02:38,130 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:02:38,134 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states. [2018-11-23 13:02:38,177 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:02:38,178 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 13:02:38,187 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 13:02:38,188 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 13:02:38,190 INFO L87 Difference]: Start difference. First operand 20 states. Second operand 2 states. [2018-11-23 13:02:38,265 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:02:38,265 INFO L93 Difference]: Finished difference Result 31 states and 35 transitions. [2018-11-23 13:02:38,265 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 13:02:38,266 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 10 [2018-11-23 13:02:38,266 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:02:38,267 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-23 13:02:38,276 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 35 transitions. [2018-11-23 13:02:38,276 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-23 13:02:38,280 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 35 transitions. [2018-11-23 13:02:38,280 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 35 transitions. [2018-11-23 13:02:38,580 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:02:38,590 INFO L225 Difference]: With dead ends: 31 [2018-11-23 13:02:38,590 INFO L226 Difference]: Without dead ends: 14 [2018-11-23 13:02:38,593 INFO L631 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 [2018-11-23 13:02:38,612 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 14 states. [2018-11-23 13:02:38,708 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 14 to 14. [2018-11-23 13:02:38,708 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:02:38,709 INFO L82 GeneralOperation]: Start isEquivalent. First operand 14 states. Second operand 14 states. [2018-11-23 13:02:38,710 INFO L74 IsIncluded]: Start isIncluded. First operand 14 states. Second operand 14 states. [2018-11-23 13:02:38,710 INFO L87 Difference]: Start difference. First operand 14 states. Second operand 14 states. [2018-11-23 13:02:38,714 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:02:38,716 INFO L93 Difference]: Finished difference Result 14 states and 15 transitions. [2018-11-23 13:02:38,716 INFO L276 IsEmpty]: Start isEmpty. Operand 14 states and 15 transitions. [2018-11-23 13:02:38,716 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:02:38,717 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:02:38,717 INFO L74 IsIncluded]: Start isIncluded. First operand 14 states. Second operand 14 states. [2018-11-23 13:02:38,717 INFO L87 Difference]: Start difference. First operand 14 states. Second operand 14 states. [2018-11-23 13:02:38,723 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:02:38,723 INFO L93 Difference]: Finished difference Result 14 states and 15 transitions. [2018-11-23 13:02:38,723 INFO L276 IsEmpty]: Start isEmpty. Operand 14 states and 15 transitions. [2018-11-23 13:02:38,724 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:02:38,724 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:02:38,724 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:02:38,724 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:02:38,725 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2018-11-23 13:02:38,726 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 15 transitions. [2018-11-23 13:02:38,728 INFO L78 Accepts]: Start accepts. Automaton has 14 states and 15 transitions. Word has length 10 [2018-11-23 13:02:38,728 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:02:38,729 INFO L480 AbstractCegarLoop]: Abstraction has 14 states and 15 transitions. [2018-11-23 13:02:38,729 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 13:02:38,729 INFO L276 IsEmpty]: Start isEmpty. Operand 14 states and 15 transitions. [2018-11-23 13:02:38,730 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 11 [2018-11-23 13:02:38,730 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:02:38,730 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:02:38,730 INFO L423 AbstractCegarLoop]: === Iteration 2 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:02:38,731 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:02:38,731 INFO L82 PathProgramCache]: Analyzing trace with hash -158964811, now seen corresponding path program 1 times [2018-11-23 13:02:38,731 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:02:38,731 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:02:38,732 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:02:38,732 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 13:02:38,733 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:02:38,749 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:02:39,039 INFO L256 TraceCheckUtils]: 0: Hoare triple {116#true} call ULTIMATE.init(); {116#true} is VALID [2018-11-23 13:02:39,040 INFO L273 TraceCheckUtils]: 1: Hoare triple {116#true} assume true; {116#true} is VALID [2018-11-23 13:02:39,040 INFO L268 TraceCheckUtils]: 2: Hoare quadruple {116#true} {116#true} #39#return; {116#true} is VALID [2018-11-23 13:02:39,040 INFO L256 TraceCheckUtils]: 3: Hoare triple {116#true} call #t~ret3 := main(); {116#true} is VALID [2018-11-23 13:02:39,057 INFO L273 TraceCheckUtils]: 4: Hoare triple {116#true} havoc ~i~0;~j~0 := 10;~n~0 := (if #t~nondet0 % 4294967296 % 4294967296 <= 2147483647 then #t~nondet0 % 4294967296 % 4294967296 else #t~nondet0 % 4294967296 % 4294967296 - 4294967296);havoc #t~nondet0;~sn~0 := 0;~i~0 := 1; {118#(= main_~sn~0 0)} is VALID [2018-11-23 13:02:39,066 INFO L273 TraceCheckUtils]: 5: Hoare triple {118#(= main_~sn~0 0)} assume !(~i~0 <= ~n~0); {118#(= main_~sn~0 0)} is VALID [2018-11-23 13:02:39,078 INFO L256 TraceCheckUtils]: 6: Hoare triple {118#(= main_~sn~0 0)} call __VERIFIER_assert((if ~sn~0 == 2 * ~n~0 || 0 == ~sn~0 then 1 else 0)); {119#(= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2018-11-23 13:02:39,080 INFO L273 TraceCheckUtils]: 7: Hoare triple {119#(= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {120#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 13:02:39,082 INFO L273 TraceCheckUtils]: 8: Hoare triple {120#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {117#false} is VALID [2018-11-23 13:02:39,082 INFO L273 TraceCheckUtils]: 9: Hoare triple {117#false} assume !false; {117#false} is VALID [2018-11-23 13:02:39,084 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 13:02:39,084 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 13:02:39,084 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2018-11-23 13:02:39,086 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 10 [2018-11-23 13:02:39,086 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:02:39,087 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2018-11-23 13:02:39,132 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:02:39,132 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2018-11-23 13:02:39,133 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2018-11-23 13:02:39,133 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2018-11-23 13:02:39,133 INFO L87 Difference]: Start difference. First operand 14 states and 15 transitions. Second operand 5 states. [2018-11-23 13:02:39,418 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:02:39,418 INFO L93 Difference]: Finished difference Result 23 states and 25 transitions. [2018-11-23 13:02:39,418 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-11-23 13:02:39,418 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 10 [2018-11-23 13:02:39,419 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:02:39,419 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-23 13:02:39,421 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 25 transitions. [2018-11-23 13:02:39,422 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-23 13:02:39,424 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 25 transitions. [2018-11-23 13:02:39,424 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 25 transitions. [2018-11-23 13:02:39,466 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:02:39,468 INFO L225 Difference]: With dead ends: 23 [2018-11-23 13:02:39,468 INFO L226 Difference]: Without dead ends: 18 [2018-11-23 13:02:39,469 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 6 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2018-11-23 13:02:39,470 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 18 states. [2018-11-23 13:02:39,483 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 18 to 18. [2018-11-23 13:02:39,483 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:02:39,483 INFO L82 GeneralOperation]: Start isEquivalent. First operand 18 states. Second operand 18 states. [2018-11-23 13:02:39,483 INFO L74 IsIncluded]: Start isIncluded. First operand 18 states. Second operand 18 states. [2018-11-23 13:02:39,484 INFO L87 Difference]: Start difference. First operand 18 states. Second operand 18 states. [2018-11-23 13:02:39,486 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:02:39,486 INFO L93 Difference]: Finished difference Result 18 states and 20 transitions. [2018-11-23 13:02:39,486 INFO L276 IsEmpty]: Start isEmpty. Operand 18 states and 20 transitions. [2018-11-23 13:02:39,487 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:02:39,487 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:02:39,487 INFO L74 IsIncluded]: Start isIncluded. First operand 18 states. Second operand 18 states. [2018-11-23 13:02:39,487 INFO L87 Difference]: Start difference. First operand 18 states. Second operand 18 states. [2018-11-23 13:02:39,489 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:02:39,490 INFO L93 Difference]: Finished difference Result 18 states and 20 transitions. [2018-11-23 13:02:39,490 INFO L276 IsEmpty]: Start isEmpty. Operand 18 states and 20 transitions. [2018-11-23 13:02:39,490 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:02:39,490 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:02:39,491 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:02:39,491 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:02:39,491 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2018-11-23 13:02:39,493 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 20 transitions. [2018-11-23 13:02:39,493 INFO L78 Accepts]: Start accepts. Automaton has 18 states and 20 transitions. Word has length 10 [2018-11-23 13:02:39,493 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:02:39,493 INFO L480 AbstractCegarLoop]: Abstraction has 18 states and 20 transitions. [2018-11-23 13:02:39,494 INFO L481 AbstractCegarLoop]: Interpolant automaton has 5 states. [2018-11-23 13:02:39,494 INFO L276 IsEmpty]: Start isEmpty. Operand 18 states and 20 transitions. [2018-11-23 13:02:39,494 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2018-11-23 13:02:39,495 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:02:39,495 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:02:39,495 INFO L423 AbstractCegarLoop]: === Iteration 3 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:02:39,495 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:02:39,496 INFO L82 PathProgramCache]: Analyzing trace with hash 1017948080, now seen corresponding path program 1 times [2018-11-23 13:02:39,496 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:02:39,496 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:02:39,497 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:02:39,497 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 13:02:39,498 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:02:39,517 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:02:40,080 WARN L180 SmtUtils]: Spent 290.00 ms on a formula simplification. DAG size of input: 16 DAG size of output: 13 [2018-11-23 13:02:40,367 INFO L256 TraceCheckUtils]: 0: Hoare triple {220#true} call ULTIMATE.init(); {220#true} is VALID [2018-11-23 13:02:40,367 INFO L273 TraceCheckUtils]: 1: Hoare triple {220#true} assume true; {220#true} is VALID [2018-11-23 13:02:40,367 INFO L268 TraceCheckUtils]: 2: Hoare quadruple {220#true} {220#true} #39#return; {220#true} is VALID [2018-11-23 13:02:40,367 INFO L256 TraceCheckUtils]: 3: Hoare triple {220#true} call #t~ret3 := main(); {220#true} is VALID [2018-11-23 13:02:40,384 INFO L273 TraceCheckUtils]: 4: Hoare triple {220#true} havoc ~i~0;~j~0 := 10;~n~0 := (if #t~nondet0 % 4294967296 % 4294967296 <= 2147483647 then #t~nondet0 % 4294967296 % 4294967296 else #t~nondet0 % 4294967296 % 4294967296 - 4294967296);havoc #t~nondet0;~sn~0 := 0;~i~0 := 1; {222#(and (<= (+ main_~sn~0 2) (* 2 main_~i~0)) (<= (* 2 main_~i~0) (+ main_~sn~0 2)))} is VALID [2018-11-23 13:02:40,390 INFO L273 TraceCheckUtils]: 5: Hoare triple {222#(and (<= (+ main_~sn~0 2) (* 2 main_~i~0)) (<= (* 2 main_~i~0) (+ main_~sn~0 2)))} assume !!(~i~0 <= ~n~0); {223#(and (<= (* 2 main_~i~0) (+ main_~sn~0 2)) (<= (+ main_~sn~0 2) (* 2 main_~n~0)))} is VALID [2018-11-23 13:02:40,391 INFO L273 TraceCheckUtils]: 6: Hoare triple {223#(and (<= (* 2 main_~i~0) (+ main_~sn~0 2)) (<= (+ main_~sn~0 2) (* 2 main_~n~0)))} assume ~i~0 < ~j~0;~sn~0 := 2 + ~sn~0; {224#(and (< main_~sn~0 (+ (* 2 main_~n~0) 1)) (or (<= (* 2 main_~i~0) main_~sn~0) (<= (* 2 main_~n~0) main_~sn~0)))} is VALID [2018-11-23 13:02:40,392 INFO L273 TraceCheckUtils]: 7: Hoare triple {224#(and (< main_~sn~0 (+ (* 2 main_~n~0) 1)) (or (<= (* 2 main_~i~0) main_~sn~0) (<= (* 2 main_~n~0) main_~sn~0)))} #t~post2 := ~j~0;~j~0 := #t~post2 - 1;havoc #t~post2; {224#(and (< main_~sn~0 (+ (* 2 main_~n~0) 1)) (or (<= (* 2 main_~i~0) main_~sn~0) (<= (* 2 main_~n~0) main_~sn~0)))} is VALID [2018-11-23 13:02:40,392 INFO L273 TraceCheckUtils]: 8: Hoare triple {224#(and (< main_~sn~0 (+ (* 2 main_~n~0) 1)) (or (<= (* 2 main_~i~0) main_~sn~0) (<= (* 2 main_~n~0) main_~sn~0)))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {225#(and (< main_~sn~0 (+ (* 2 main_~n~0) 1)) (or (<= (* 2 main_~n~0) main_~sn~0) (<= (* 2 main_~i~0) (+ main_~sn~0 2))))} is VALID [2018-11-23 13:02:40,393 INFO L273 TraceCheckUtils]: 9: Hoare triple {225#(and (< main_~sn~0 (+ (* 2 main_~n~0) 1)) (or (<= (* 2 main_~n~0) main_~sn~0) (<= (* 2 main_~i~0) (+ main_~sn~0 2))))} assume !(~i~0 <= ~n~0); {226#(and (<= (* 2 main_~n~0) main_~sn~0) (< main_~sn~0 (+ (* 2 main_~n~0) 1)))} is VALID [2018-11-23 13:02:40,395 INFO L256 TraceCheckUtils]: 10: Hoare triple {226#(and (<= (* 2 main_~n~0) main_~sn~0) (< main_~sn~0 (+ (* 2 main_~n~0) 1)))} call __VERIFIER_assert((if ~sn~0 == 2 * ~n~0 || 0 == ~sn~0 then 1 else 0)); {227#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 13:02:40,396 INFO L273 TraceCheckUtils]: 11: Hoare triple {227#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {228#(= __VERIFIER_assert_~cond 1)} is VALID [2018-11-23 13:02:40,397 INFO L273 TraceCheckUtils]: 12: Hoare triple {228#(= __VERIFIER_assert_~cond 1)} assume 0 == ~cond; {221#false} is VALID [2018-11-23 13:02:40,397 INFO L273 TraceCheckUtils]: 13: Hoare triple {221#false} assume !false; {221#false} is VALID [2018-11-23 13:02:40,399 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 13:02:40,399 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 13:02:40,400 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 13:02:40,412 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 13:02:40,425 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:02:40,443 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:02:40,447 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 13:02:40,773 INFO L256 TraceCheckUtils]: 0: Hoare triple {220#true} call ULTIMATE.init(); {220#true} is VALID [2018-11-23 13:02:40,774 INFO L273 TraceCheckUtils]: 1: Hoare triple {220#true} assume true; {220#true} is VALID [2018-11-23 13:02:40,774 INFO L268 TraceCheckUtils]: 2: Hoare quadruple {220#true} {220#true} #39#return; {220#true} is VALID [2018-11-23 13:02:40,775 INFO L256 TraceCheckUtils]: 3: Hoare triple {220#true} call #t~ret3 := main(); {220#true} is VALID [2018-11-23 13:02:40,777 INFO L273 TraceCheckUtils]: 4: Hoare triple {220#true} havoc ~i~0;~j~0 := 10;~n~0 := (if #t~nondet0 % 4294967296 % 4294967296 <= 2147483647 then #t~nondet0 % 4294967296 % 4294967296 else #t~nondet0 % 4294967296 % 4294967296 - 4294967296);havoc #t~nondet0;~sn~0 := 0;~i~0 := 1; {244#(and (= main_~i~0 1) (= 0 main_~sn~0))} is VALID [2018-11-23 13:02:40,778 INFO L273 TraceCheckUtils]: 5: Hoare triple {244#(and (= main_~i~0 1) (= 0 main_~sn~0))} assume !!(~i~0 <= ~n~0); {248#(and (<= main_~i~0 main_~n~0) (= main_~i~0 1) (= 0 main_~sn~0))} is VALID [2018-11-23 13:02:40,780 INFO L273 TraceCheckUtils]: 6: Hoare triple {248#(and (<= main_~i~0 main_~n~0) (= main_~i~0 1) (= 0 main_~sn~0))} assume ~i~0 < ~j~0;~sn~0 := 2 + ~sn~0; {252#(and (<= main_~i~0 main_~n~0) (= main_~i~0 1) (= 2 main_~sn~0))} is VALID [2018-11-23 13:02:40,780 INFO L273 TraceCheckUtils]: 7: Hoare triple {252#(and (<= main_~i~0 main_~n~0) (= main_~i~0 1) (= 2 main_~sn~0))} #t~post2 := ~j~0;~j~0 := #t~post2 - 1;havoc #t~post2; {252#(and (<= main_~i~0 main_~n~0) (= main_~i~0 1) (= 2 main_~sn~0))} is VALID [2018-11-23 13:02:40,782 INFO L273 TraceCheckUtils]: 8: Hoare triple {252#(and (<= main_~i~0 main_~n~0) (= main_~i~0 1) (= 2 main_~sn~0))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {259#(and (<= main_~i~0 2) (<= 1 main_~n~0) (= 2 main_~sn~0))} is VALID [2018-11-23 13:02:40,784 INFO L273 TraceCheckUtils]: 9: Hoare triple {259#(and (<= main_~i~0 2) (<= 1 main_~n~0) (= 2 main_~sn~0))} assume !(~i~0 <= ~n~0); {263#(and (<= 1 main_~n~0) (<= main_~n~0 1) (= 2 main_~sn~0))} is VALID [2018-11-23 13:02:40,785 INFO L256 TraceCheckUtils]: 10: Hoare triple {263#(and (<= 1 main_~n~0) (<= main_~n~0 1) (= 2 main_~sn~0))} call __VERIFIER_assert((if ~sn~0 == 2 * ~n~0 || 0 == ~sn~0 then 1 else 0)); {227#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 13:02:40,787 INFO L273 TraceCheckUtils]: 11: Hoare triple {227#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {228#(= __VERIFIER_assert_~cond 1)} is VALID [2018-11-23 13:02:40,788 INFO L273 TraceCheckUtils]: 12: Hoare triple {228#(= __VERIFIER_assert_~cond 1)} assume 0 == ~cond; {221#false} is VALID [2018-11-23 13:02:40,788 INFO L273 TraceCheckUtils]: 13: Hoare triple {221#false} assume !false; {221#false} is VALID [2018-11-23 13:02:40,789 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 13:02:40,819 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 13:02:40,819 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 14 [2018-11-23 13:02:40,820 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 14 [2018-11-23 13:02:40,820 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:02:40,821 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states. [2018-11-23 13:02:40,923 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 21 edges. 21 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:02:40,923 INFO L459 AbstractCegarLoop]: Interpolant automaton has 14 states [2018-11-23 13:02:40,924 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2018-11-23 13:02:40,924 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=141, Unknown=0, NotChecked=0, Total=182 [2018-11-23 13:02:40,924 INFO L87 Difference]: Start difference. First operand 18 states and 20 transitions. Second operand 14 states. [2018-11-23 13:02:41,700 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:02:41,700 INFO L93 Difference]: Finished difference Result 40 states and 46 transitions. [2018-11-23 13:02:41,700 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2018-11-23 13:02:41,700 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 14 [2018-11-23 13:02:41,701 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:02:41,701 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2018-11-23 13:02:41,704 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 41 transitions. [2018-11-23 13:02:41,704 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2018-11-23 13:02:41,706 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 41 transitions. [2018-11-23 13:02:41,706 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 41 transitions. [2018-11-23 13:02:41,815 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:02:41,818 INFO L225 Difference]: With dead ends: 40 [2018-11-23 13:02:41,818 INFO L226 Difference]: Without dead ends: 34 [2018-11-23 13:02:41,819 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 26 GetRequests, 9 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 51 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=66, Invalid=240, Unknown=0, NotChecked=0, Total=306 [2018-11-23 13:02:41,819 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 34 states. [2018-11-23 13:02:41,846 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 34 to 27. [2018-11-23 13:02:41,846 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:02:41,847 INFO L82 GeneralOperation]: Start isEquivalent. First operand 34 states. Second operand 27 states. [2018-11-23 13:02:41,847 INFO L74 IsIncluded]: Start isIncluded. First operand 34 states. Second operand 27 states. [2018-11-23 13:02:41,847 INFO L87 Difference]: Start difference. First operand 34 states. Second operand 27 states. [2018-11-23 13:02:41,851 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:02:41,851 INFO L93 Difference]: Finished difference Result 34 states and 39 transitions. [2018-11-23 13:02:41,851 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 39 transitions. [2018-11-23 13:02:41,852 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:02:41,852 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:02:41,852 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand 34 states. [2018-11-23 13:02:41,852 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 34 states. [2018-11-23 13:02:41,857 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:02:41,857 INFO L93 Difference]: Finished difference Result 34 states and 39 transitions. [2018-11-23 13:02:41,860 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 39 transitions. [2018-11-23 13:02:41,860 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:02:41,861 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:02:41,861 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:02:41,861 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:02:41,861 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 27 states. [2018-11-23 13:02:41,863 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 31 transitions. [2018-11-23 13:02:41,863 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 31 transitions. Word has length 14 [2018-11-23 13:02:41,863 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:02:41,864 INFO L480 AbstractCegarLoop]: Abstraction has 27 states and 31 transitions. [2018-11-23 13:02:41,864 INFO L481 AbstractCegarLoop]: Interpolant automaton has 14 states. [2018-11-23 13:02:41,864 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2018-11-23 13:02:41,864 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2018-11-23 13:02:41,865 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:02:41,865 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:02:41,865 INFO L423 AbstractCegarLoop]: === Iteration 4 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:02:41,865 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:02:41,866 INFO L82 PathProgramCache]: Analyzing trace with hash -852639511, now seen corresponding path program 1 times [2018-11-23 13:02:41,866 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:02:41,866 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:02:41,867 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:02:41,867 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 13:02:41,867 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:02:41,874 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:02:41,914 INFO L256 TraceCheckUtils]: 0: Hoare triple {443#true} call ULTIMATE.init(); {443#true} is VALID [2018-11-23 13:02:41,914 INFO L273 TraceCheckUtils]: 1: Hoare triple {443#true} assume true; {443#true} is VALID [2018-11-23 13:02:41,914 INFO L268 TraceCheckUtils]: 2: Hoare quadruple {443#true} {443#true} #39#return; {443#true} is VALID [2018-11-23 13:02:41,915 INFO L256 TraceCheckUtils]: 3: Hoare triple {443#true} call #t~ret3 := main(); {443#true} is VALID [2018-11-23 13:02:41,919 INFO L273 TraceCheckUtils]: 4: Hoare triple {443#true} havoc ~i~0;~j~0 := 10;~n~0 := (if #t~nondet0 % 4294967296 % 4294967296 <= 2147483647 then #t~nondet0 % 4294967296 % 4294967296 else #t~nondet0 % 4294967296 % 4294967296 - 4294967296);havoc #t~nondet0;~sn~0 := 0;~i~0 := 1; {445#(<= (+ main_~i~0 9) main_~j~0)} is VALID [2018-11-23 13:02:41,926 INFO L273 TraceCheckUtils]: 5: Hoare triple {445#(<= (+ main_~i~0 9) main_~j~0)} assume !!(~i~0 <= ~n~0); {445#(<= (+ main_~i~0 9) main_~j~0)} is VALID [2018-11-23 13:02:41,928 INFO L273 TraceCheckUtils]: 6: Hoare triple {445#(<= (+ main_~i~0 9) main_~j~0)} assume !(~i~0 < ~j~0); {444#false} is VALID [2018-11-23 13:02:41,928 INFO L273 TraceCheckUtils]: 7: Hoare triple {444#false} #t~post2 := ~j~0;~j~0 := #t~post2 - 1;havoc #t~post2; {444#false} is VALID [2018-11-23 13:02:41,928 INFO L273 TraceCheckUtils]: 8: Hoare triple {444#false} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {444#false} is VALID [2018-11-23 13:02:41,928 INFO L273 TraceCheckUtils]: 9: Hoare triple {444#false} assume !!(~i~0 <= ~n~0); {444#false} is VALID [2018-11-23 13:02:41,929 INFO L273 TraceCheckUtils]: 10: Hoare triple {444#false} assume ~i~0 < ~j~0;~sn~0 := 2 + ~sn~0; {444#false} is VALID [2018-11-23 13:02:41,929 INFO L273 TraceCheckUtils]: 11: Hoare triple {444#false} #t~post2 := ~j~0;~j~0 := #t~post2 - 1;havoc #t~post2; {444#false} is VALID [2018-11-23 13:02:41,929 INFO L273 TraceCheckUtils]: 12: Hoare triple {444#false} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {444#false} is VALID [2018-11-23 13:02:41,929 INFO L273 TraceCheckUtils]: 13: Hoare triple {444#false} assume !(~i~0 <= ~n~0); {444#false} is VALID [2018-11-23 13:02:41,930 INFO L256 TraceCheckUtils]: 14: Hoare triple {444#false} call __VERIFIER_assert((if ~sn~0 == 2 * ~n~0 || 0 == ~sn~0 then 1 else 0)); {444#false} is VALID [2018-11-23 13:02:41,930 INFO L273 TraceCheckUtils]: 15: Hoare triple {444#false} ~cond := #in~cond; {444#false} is VALID [2018-11-23 13:02:41,930 INFO L273 TraceCheckUtils]: 16: Hoare triple {444#false} assume 0 == ~cond; {444#false} is VALID [2018-11-23 13:02:41,931 INFO L273 TraceCheckUtils]: 17: Hoare triple {444#false} assume !false; {444#false} is VALID [2018-11-23 13:02:41,932 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 3 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2018-11-23 13:02:41,932 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 13:02:41,932 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 13:02:41,932 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 18 [2018-11-23 13:02:41,933 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:02:41,933 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-23 13:02:41,982 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 16 edges. 16 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:02:41,982 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 13:02:41,983 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 13:02:41,983 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 13:02:41,983 INFO L87 Difference]: Start difference. First operand 27 states and 31 transitions. Second operand 3 states. [2018-11-23 13:02:42,062 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:02:42,063 INFO L93 Difference]: Finished difference Result 36 states and 41 transitions. [2018-11-23 13:02:42,063 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 13:02:42,063 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 18 [2018-11-23 13:02:42,063 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:02:42,064 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 13:02:42,065 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 29 transitions. [2018-11-23 13:02:42,066 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 13:02:42,067 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 29 transitions. [2018-11-23 13:02:42,067 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 29 transitions. [2018-11-23 13:02:42,100 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:02:42,101 INFO L225 Difference]: With dead ends: 36 [2018-11-23 13:02:42,101 INFO L226 Difference]: Without dead ends: 23 [2018-11-23 13:02:42,102 INFO L631 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 [2018-11-23 13:02:42,103 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 23 states. [2018-11-23 13:02:42,128 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 23 to 23. [2018-11-23 13:02:42,128 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:02:42,128 INFO L82 GeneralOperation]: Start isEquivalent. First operand 23 states. Second operand 23 states. [2018-11-23 13:02:42,129 INFO L74 IsIncluded]: Start isIncluded. First operand 23 states. Second operand 23 states. [2018-11-23 13:02:42,129 INFO L87 Difference]: Start difference. First operand 23 states. Second operand 23 states. [2018-11-23 13:02:42,131 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:02:42,131 INFO L93 Difference]: Finished difference Result 23 states and 25 transitions. [2018-11-23 13:02:42,131 INFO L276 IsEmpty]: Start isEmpty. Operand 23 states and 25 transitions. [2018-11-23 13:02:42,132 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:02:42,132 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:02:42,132 INFO L74 IsIncluded]: Start isIncluded. First operand 23 states. Second operand 23 states. [2018-11-23 13:02:42,132 INFO L87 Difference]: Start difference. First operand 23 states. Second operand 23 states. [2018-11-23 13:02:42,134 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:02:42,134 INFO L93 Difference]: Finished difference Result 23 states and 25 transitions. [2018-11-23 13:02:42,134 INFO L276 IsEmpty]: Start isEmpty. Operand 23 states and 25 transitions. [2018-11-23 13:02:42,135 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:02:42,135 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:02:42,135 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:02:42,135 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:02:42,136 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2018-11-23 13:02:42,137 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 25 transitions. [2018-11-23 13:02:42,138 INFO L78 Accepts]: Start accepts. Automaton has 23 states and 25 transitions. Word has length 18 [2018-11-23 13:02:42,138 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:02:42,138 INFO L480 AbstractCegarLoop]: Abstraction has 23 states and 25 transitions. [2018-11-23 13:02:42,138 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 13:02:42,138 INFO L276 IsEmpty]: Start isEmpty. Operand 23 states and 25 transitions. [2018-11-23 13:02:42,139 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2018-11-23 13:02:42,139 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:02:42,139 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:02:42,140 INFO L423 AbstractCegarLoop]: === Iteration 5 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:02:42,140 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:02:42,140 INFO L82 PathProgramCache]: Analyzing trace with hash -1920151575, now seen corresponding path program 2 times [2018-11-23 13:02:42,140 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:02:42,140 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:02:42,141 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:02:42,141 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 13:02:42,141 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:02:42,151 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:02:42,238 INFO L256 TraceCheckUtils]: 0: Hoare triple {577#true} call ULTIMATE.init(); {577#true} is VALID [2018-11-23 13:02:42,239 INFO L273 TraceCheckUtils]: 1: Hoare triple {577#true} assume true; {577#true} is VALID [2018-11-23 13:02:42,239 INFO L268 TraceCheckUtils]: 2: Hoare quadruple {577#true} {577#true} #39#return; {577#true} is VALID [2018-11-23 13:02:42,240 INFO L256 TraceCheckUtils]: 3: Hoare triple {577#true} call #t~ret3 := main(); {577#true} is VALID [2018-11-23 13:02:42,241 INFO L273 TraceCheckUtils]: 4: Hoare triple {577#true} havoc ~i~0;~j~0 := 10;~n~0 := (if #t~nondet0 % 4294967296 % 4294967296 <= 2147483647 then #t~nondet0 % 4294967296 % 4294967296 else #t~nondet0 % 4294967296 % 4294967296 - 4294967296);havoc #t~nondet0;~sn~0 := 0;~i~0 := 1; {579#(<= (+ main_~i~0 9) main_~j~0)} is VALID [2018-11-23 13:02:42,243 INFO L273 TraceCheckUtils]: 5: Hoare triple {579#(<= (+ main_~i~0 9) main_~j~0)} assume !!(~i~0 <= ~n~0); {579#(<= (+ main_~i~0 9) main_~j~0)} is VALID [2018-11-23 13:02:42,246 INFO L273 TraceCheckUtils]: 6: Hoare triple {579#(<= (+ main_~i~0 9) main_~j~0)} assume ~i~0 < ~j~0;~sn~0 := 2 + ~sn~0; {579#(<= (+ main_~i~0 9) main_~j~0)} is VALID [2018-11-23 13:02:42,246 INFO L273 TraceCheckUtils]: 7: Hoare triple {579#(<= (+ main_~i~0 9) main_~j~0)} #t~post2 := ~j~0;~j~0 := #t~post2 - 1;havoc #t~post2; {580#(<= (+ main_~i~0 8) main_~j~0)} is VALID [2018-11-23 13:02:42,249 INFO L273 TraceCheckUtils]: 8: Hoare triple {580#(<= (+ main_~i~0 8) main_~j~0)} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {581#(<= (+ main_~i~0 7) main_~j~0)} is VALID [2018-11-23 13:02:42,250 INFO L273 TraceCheckUtils]: 9: Hoare triple {581#(<= (+ main_~i~0 7) main_~j~0)} assume !!(~i~0 <= ~n~0); {581#(<= (+ main_~i~0 7) main_~j~0)} is VALID [2018-11-23 13:02:42,251 INFO L273 TraceCheckUtils]: 10: Hoare triple {581#(<= (+ main_~i~0 7) main_~j~0)} assume !(~i~0 < ~j~0); {578#false} is VALID [2018-11-23 13:02:42,251 INFO L273 TraceCheckUtils]: 11: Hoare triple {578#false} #t~post2 := ~j~0;~j~0 := #t~post2 - 1;havoc #t~post2; {578#false} is VALID [2018-11-23 13:02:42,251 INFO L273 TraceCheckUtils]: 12: Hoare triple {578#false} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {578#false} is VALID [2018-11-23 13:02:42,252 INFO L273 TraceCheckUtils]: 13: Hoare triple {578#false} assume !(~i~0 <= ~n~0); {578#false} is VALID [2018-11-23 13:02:42,252 INFO L256 TraceCheckUtils]: 14: Hoare triple {578#false} call __VERIFIER_assert((if ~sn~0 == 2 * ~n~0 || 0 == ~sn~0 then 1 else 0)); {578#false} is VALID [2018-11-23 13:02:42,252 INFO L273 TraceCheckUtils]: 15: Hoare triple {578#false} ~cond := #in~cond; {578#false} is VALID [2018-11-23 13:02:42,252 INFO L273 TraceCheckUtils]: 16: Hoare triple {578#false} assume 0 == ~cond; {578#false} is VALID [2018-11-23 13:02:42,253 INFO L273 TraceCheckUtils]: 17: Hoare triple {578#false} assume !false; {578#false} is VALID [2018-11-23 13:02:42,254 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 4 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 13:02:42,254 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 13:02:42,254 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 13:02:42,265 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 13:02:42,276 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 13:02:42,277 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 13:02:42,288 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:02:42,289 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 13:02:42,490 INFO L256 TraceCheckUtils]: 0: Hoare triple {577#true} call ULTIMATE.init(); {577#true} is VALID [2018-11-23 13:02:42,490 INFO L273 TraceCheckUtils]: 1: Hoare triple {577#true} assume true; {577#true} is VALID [2018-11-23 13:02:42,491 INFO L268 TraceCheckUtils]: 2: Hoare quadruple {577#true} {577#true} #39#return; {577#true} is VALID [2018-11-23 13:02:42,491 INFO L256 TraceCheckUtils]: 3: Hoare triple {577#true} call #t~ret3 := main(); {577#true} is VALID [2018-11-23 13:02:42,492 INFO L273 TraceCheckUtils]: 4: Hoare triple {577#true} havoc ~i~0;~j~0 := 10;~n~0 := (if #t~nondet0 % 4294967296 % 4294967296 <= 2147483647 then #t~nondet0 % 4294967296 % 4294967296 else #t~nondet0 % 4294967296 % 4294967296 - 4294967296);havoc #t~nondet0;~sn~0 := 0;~i~0 := 1; {597#(and (<= main_~i~0 1) (<= 10 main_~j~0))} is VALID [2018-11-23 13:02:42,492 INFO L273 TraceCheckUtils]: 5: Hoare triple {597#(and (<= main_~i~0 1) (<= 10 main_~j~0))} assume !!(~i~0 <= ~n~0); {597#(and (<= main_~i~0 1) (<= 10 main_~j~0))} is VALID [2018-11-23 13:02:42,498 INFO L273 TraceCheckUtils]: 6: Hoare triple {597#(and (<= main_~i~0 1) (<= 10 main_~j~0))} assume ~i~0 < ~j~0;~sn~0 := 2 + ~sn~0; {597#(and (<= main_~i~0 1) (<= 10 main_~j~0))} is VALID [2018-11-23 13:02:42,500 INFO L273 TraceCheckUtils]: 7: Hoare triple {597#(and (<= main_~i~0 1) (<= 10 main_~j~0))} #t~post2 := ~j~0;~j~0 := #t~post2 - 1;havoc #t~post2; {607#(and (<= main_~i~0 1) (<= 9 main_~j~0))} is VALID [2018-11-23 13:02:42,500 INFO L273 TraceCheckUtils]: 8: Hoare triple {607#(and (<= main_~i~0 1) (<= 9 main_~j~0))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {611#(and (<= main_~i~0 2) (<= 9 main_~j~0))} is VALID [2018-11-23 13:02:42,502 INFO L273 TraceCheckUtils]: 9: Hoare triple {611#(and (<= main_~i~0 2) (<= 9 main_~j~0))} assume !!(~i~0 <= ~n~0); {611#(and (<= main_~i~0 2) (<= 9 main_~j~0))} is VALID [2018-11-23 13:02:42,503 INFO L273 TraceCheckUtils]: 10: Hoare triple {611#(and (<= main_~i~0 2) (<= 9 main_~j~0))} assume !(~i~0 < ~j~0); {578#false} is VALID [2018-11-23 13:02:42,503 INFO L273 TraceCheckUtils]: 11: Hoare triple {578#false} #t~post2 := ~j~0;~j~0 := #t~post2 - 1;havoc #t~post2; {578#false} is VALID [2018-11-23 13:02:42,504 INFO L273 TraceCheckUtils]: 12: Hoare triple {578#false} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {578#false} is VALID [2018-11-23 13:02:42,504 INFO L273 TraceCheckUtils]: 13: Hoare triple {578#false} assume !(~i~0 <= ~n~0); {578#false} is VALID [2018-11-23 13:02:42,504 INFO L256 TraceCheckUtils]: 14: Hoare triple {578#false} call __VERIFIER_assert((if ~sn~0 == 2 * ~n~0 || 0 == ~sn~0 then 1 else 0)); {578#false} is VALID [2018-11-23 13:02:42,505 INFO L273 TraceCheckUtils]: 15: Hoare triple {578#false} ~cond := #in~cond; {578#false} is VALID [2018-11-23 13:02:42,505 INFO L273 TraceCheckUtils]: 16: Hoare triple {578#false} assume 0 == ~cond; {578#false} is VALID [2018-11-23 13:02:42,506 INFO L273 TraceCheckUtils]: 17: Hoare triple {578#false} assume !false; {578#false} is VALID [2018-11-23 13:02:42,507 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 4 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 13:02:42,525 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 13:02:42,526 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2018-11-23 13:02:42,526 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 18 [2018-11-23 13:02:42,526 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:02:42,527 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-11-23 13:02:42,565 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:02:42,566 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-11-23 13:02:42,566 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-11-23 13:02:42,566 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=25, Invalid=31, Unknown=0, NotChecked=0, Total=56 [2018-11-23 13:02:42,567 INFO L87 Difference]: Start difference. First operand 23 states and 25 transitions. Second operand 8 states. [2018-11-23 13:02:42,762 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:02:42,763 INFO L93 Difference]: Finished difference Result 32 states and 35 transitions. [2018-11-23 13:02:42,763 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-11-23 13:02:42,763 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 18 [2018-11-23 13:02:42,763 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:02:42,763 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-23 13:02:42,765 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 33 transitions. [2018-11-23 13:02:42,765 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-23 13:02:42,767 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 33 transitions. [2018-11-23 13:02:42,767 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 33 transitions. [2018-11-23 13:02:42,815 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:02:42,816 INFO L225 Difference]: With dead ends: 32 [2018-11-23 13:02:42,817 INFO L226 Difference]: Without dead ends: 23 [2018-11-23 13:02:42,817 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 22 GetRequests, 16 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=25, Invalid=31, Unknown=0, NotChecked=0, Total=56 [2018-11-23 13:02:42,818 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 23 states. [2018-11-23 13:02:42,834 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 23 to 23. [2018-11-23 13:02:42,834 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:02:42,835 INFO L82 GeneralOperation]: Start isEquivalent. First operand 23 states. Second operand 23 states. [2018-11-23 13:02:42,835 INFO L74 IsIncluded]: Start isIncluded. First operand 23 states. Second operand 23 states. [2018-11-23 13:02:42,835 INFO L87 Difference]: Start difference. First operand 23 states. Second operand 23 states. [2018-11-23 13:02:42,837 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:02:42,838 INFO L93 Difference]: Finished difference Result 23 states and 24 transitions. [2018-11-23 13:02:42,838 INFO L276 IsEmpty]: Start isEmpty. Operand 23 states and 24 transitions. [2018-11-23 13:02:42,838 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:02:42,839 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:02:42,839 INFO L74 IsIncluded]: Start isIncluded. First operand 23 states. Second operand 23 states. [2018-11-23 13:02:42,839 INFO L87 Difference]: Start difference. First operand 23 states. Second operand 23 states. [2018-11-23 13:02:42,840 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:02:42,841 INFO L93 Difference]: Finished difference Result 23 states and 24 transitions. [2018-11-23 13:02:42,841 INFO L276 IsEmpty]: Start isEmpty. Operand 23 states and 24 transitions. [2018-11-23 13:02:42,841 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:02:42,841 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:02:42,842 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:02:42,842 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:02:42,842 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2018-11-23 13:02:42,843 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 24 transitions. [2018-11-23 13:02:42,843 INFO L78 Accepts]: Start accepts. Automaton has 23 states and 24 transitions. Word has length 18 [2018-11-23 13:02:42,844 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:02:42,844 INFO L480 AbstractCegarLoop]: Abstraction has 23 states and 24 transitions. [2018-11-23 13:02:42,844 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-11-23 13:02:42,844 INFO L276 IsEmpty]: Start isEmpty. Operand 23 states and 24 transitions. [2018-11-23 13:02:42,845 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2018-11-23 13:02:42,845 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:02:42,845 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:02:42,846 INFO L423 AbstractCegarLoop]: === Iteration 6 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:02:42,846 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:02:42,846 INFO L82 PathProgramCache]: Analyzing trace with hash -1780946716, now seen corresponding path program 3 times [2018-11-23 13:02:42,846 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:02:42,846 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:02:42,847 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:02:42,847 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 13:02:42,848 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:02:42,861 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:02:42,992 INFO L256 TraceCheckUtils]: 0: Hoare triple {762#true} call ULTIMATE.init(); {762#true} is VALID [2018-11-23 13:02:42,993 INFO L273 TraceCheckUtils]: 1: Hoare triple {762#true} assume true; {762#true} is VALID [2018-11-23 13:02:42,993 INFO L268 TraceCheckUtils]: 2: Hoare quadruple {762#true} {762#true} #39#return; {762#true} is VALID [2018-11-23 13:02:42,994 INFO L256 TraceCheckUtils]: 3: Hoare triple {762#true} call #t~ret3 := main(); {762#true} is VALID [2018-11-23 13:02:42,999 INFO L273 TraceCheckUtils]: 4: Hoare triple {762#true} havoc ~i~0;~j~0 := 10;~n~0 := (if #t~nondet0 % 4294967296 % 4294967296 <= 2147483647 then #t~nondet0 % 4294967296 % 4294967296 else #t~nondet0 % 4294967296 % 4294967296 - 4294967296);havoc #t~nondet0;~sn~0 := 0;~i~0 := 1; {764#(<= (+ main_~i~0 9) main_~j~0)} is VALID [2018-11-23 13:02:43,000 INFO L273 TraceCheckUtils]: 5: Hoare triple {764#(<= (+ main_~i~0 9) main_~j~0)} assume !!(~i~0 <= ~n~0); {764#(<= (+ main_~i~0 9) main_~j~0)} is VALID [2018-11-23 13:02:43,001 INFO L273 TraceCheckUtils]: 6: Hoare triple {764#(<= (+ main_~i~0 9) main_~j~0)} assume ~i~0 < ~j~0;~sn~0 := 2 + ~sn~0; {764#(<= (+ main_~i~0 9) main_~j~0)} is VALID [2018-11-23 13:02:43,001 INFO L273 TraceCheckUtils]: 7: Hoare triple {764#(<= (+ main_~i~0 9) main_~j~0)} #t~post2 := ~j~0;~j~0 := #t~post2 - 1;havoc #t~post2; {765#(<= (+ main_~i~0 8) main_~j~0)} is VALID [2018-11-23 13:02:43,003 INFO L273 TraceCheckUtils]: 8: Hoare triple {765#(<= (+ main_~i~0 8) main_~j~0)} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {766#(<= (+ main_~i~0 7) main_~j~0)} is VALID [2018-11-23 13:02:43,003 INFO L273 TraceCheckUtils]: 9: Hoare triple {766#(<= (+ main_~i~0 7) main_~j~0)} assume !!(~i~0 <= ~n~0); {766#(<= (+ main_~i~0 7) main_~j~0)} is VALID [2018-11-23 13:02:43,005 INFO L273 TraceCheckUtils]: 10: Hoare triple {766#(<= (+ main_~i~0 7) main_~j~0)} assume ~i~0 < ~j~0;~sn~0 := 2 + ~sn~0; {766#(<= (+ main_~i~0 7) main_~j~0)} is VALID [2018-11-23 13:02:43,006 INFO L273 TraceCheckUtils]: 11: Hoare triple {766#(<= (+ main_~i~0 7) main_~j~0)} #t~post2 := ~j~0;~j~0 := #t~post2 - 1;havoc #t~post2; {767#(<= (+ main_~i~0 6) main_~j~0)} is VALID [2018-11-23 13:02:43,007 INFO L273 TraceCheckUtils]: 12: Hoare triple {767#(<= (+ main_~i~0 6) main_~j~0)} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {768#(<= (+ main_~i~0 5) main_~j~0)} is VALID [2018-11-23 13:02:43,007 INFO L273 TraceCheckUtils]: 13: Hoare triple {768#(<= (+ main_~i~0 5) main_~j~0)} assume !!(~i~0 <= ~n~0); {768#(<= (+ main_~i~0 5) main_~j~0)} is VALID [2018-11-23 13:02:43,009 INFO L273 TraceCheckUtils]: 14: Hoare triple {768#(<= (+ main_~i~0 5) main_~j~0)} assume !(~i~0 < ~j~0); {763#false} is VALID [2018-11-23 13:02:43,009 INFO L273 TraceCheckUtils]: 15: Hoare triple {763#false} #t~post2 := ~j~0;~j~0 := #t~post2 - 1;havoc #t~post2; {763#false} is VALID [2018-11-23 13:02:43,009 INFO L273 TraceCheckUtils]: 16: Hoare triple {763#false} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {763#false} is VALID [2018-11-23 13:02:43,009 INFO L273 TraceCheckUtils]: 17: Hoare triple {763#false} assume !(~i~0 <= ~n~0); {763#false} is VALID [2018-11-23 13:02:43,010 INFO L256 TraceCheckUtils]: 18: Hoare triple {763#false} call __VERIFIER_assert((if ~sn~0 == 2 * ~n~0 || 0 == ~sn~0 then 1 else 0)); {763#false} is VALID [2018-11-23 13:02:43,010 INFO L273 TraceCheckUtils]: 19: Hoare triple {763#false} ~cond := #in~cond; {763#false} is VALID [2018-11-23 13:02:43,010 INFO L273 TraceCheckUtils]: 20: Hoare triple {763#false} assume 0 == ~cond; {763#false} is VALID [2018-11-23 13:02:43,010 INFO L273 TraceCheckUtils]: 21: Hoare triple {763#false} assume !false; {763#false} is VALID [2018-11-23 13:02:43,012 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 7 proven. 8 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 13:02:43,013 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 13:02:43,013 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 13:02:43,038 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 13:02:43,048 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2018-11-23 13:02:43,049 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 13:02:43,059 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:02:43,060 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 13:02:43,563 INFO L256 TraceCheckUtils]: 0: Hoare triple {762#true} call ULTIMATE.init(); {762#true} is VALID [2018-11-23 13:02:43,564 INFO L273 TraceCheckUtils]: 1: Hoare triple {762#true} assume true; {762#true} is VALID [2018-11-23 13:02:43,564 INFO L268 TraceCheckUtils]: 2: Hoare quadruple {762#true} {762#true} #39#return; {762#true} is VALID [2018-11-23 13:02:43,564 INFO L256 TraceCheckUtils]: 3: Hoare triple {762#true} call #t~ret3 := main(); {762#true} is VALID [2018-11-23 13:02:43,568 INFO L273 TraceCheckUtils]: 4: Hoare triple {762#true} havoc ~i~0;~j~0 := 10;~n~0 := (if #t~nondet0 % 4294967296 % 4294967296 <= 2147483647 then #t~nondet0 % 4294967296 % 4294967296 else #t~nondet0 % 4294967296 % 4294967296 - 4294967296);havoc #t~nondet0;~sn~0 := 0;~i~0 := 1; {784#(and (<= main_~i~0 1) (<= 10 main_~j~0))} is VALID [2018-11-23 13:02:43,569 INFO L273 TraceCheckUtils]: 5: Hoare triple {784#(and (<= main_~i~0 1) (<= 10 main_~j~0))} assume !!(~i~0 <= ~n~0); {784#(and (<= main_~i~0 1) (<= 10 main_~j~0))} is VALID [2018-11-23 13:02:43,570 INFO L273 TraceCheckUtils]: 6: Hoare triple {784#(and (<= main_~i~0 1) (<= 10 main_~j~0))} assume ~i~0 < ~j~0;~sn~0 := 2 + ~sn~0; {784#(and (<= main_~i~0 1) (<= 10 main_~j~0))} is VALID [2018-11-23 13:02:43,570 INFO L273 TraceCheckUtils]: 7: Hoare triple {784#(and (<= main_~i~0 1) (<= 10 main_~j~0))} #t~post2 := ~j~0;~j~0 := #t~post2 - 1;havoc #t~post2; {794#(and (<= main_~i~0 1) (<= 9 main_~j~0))} is VALID [2018-11-23 13:02:43,571 INFO L273 TraceCheckUtils]: 8: Hoare triple {794#(and (<= main_~i~0 1) (<= 9 main_~j~0))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {798#(and (<= main_~i~0 2) (<= 9 main_~j~0))} is VALID [2018-11-23 13:02:43,572 INFO L273 TraceCheckUtils]: 9: Hoare triple {798#(and (<= main_~i~0 2) (<= 9 main_~j~0))} assume !!(~i~0 <= ~n~0); {798#(and (<= main_~i~0 2) (<= 9 main_~j~0))} is VALID [2018-11-23 13:02:43,573 INFO L273 TraceCheckUtils]: 10: Hoare triple {798#(and (<= main_~i~0 2) (<= 9 main_~j~0))} assume ~i~0 < ~j~0;~sn~0 := 2 + ~sn~0; {798#(and (<= main_~i~0 2) (<= 9 main_~j~0))} is VALID [2018-11-23 13:02:43,576 INFO L273 TraceCheckUtils]: 11: Hoare triple {798#(and (<= main_~i~0 2) (<= 9 main_~j~0))} #t~post2 := ~j~0;~j~0 := #t~post2 - 1;havoc #t~post2; {808#(and (<= 8 main_~j~0) (<= main_~i~0 2))} is VALID [2018-11-23 13:02:43,577 INFO L273 TraceCheckUtils]: 12: Hoare triple {808#(and (<= 8 main_~j~0) (<= main_~i~0 2))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {812#(and (<= main_~i~0 3) (<= 8 main_~j~0))} is VALID [2018-11-23 13:02:43,577 INFO L273 TraceCheckUtils]: 13: Hoare triple {812#(and (<= main_~i~0 3) (<= 8 main_~j~0))} assume !!(~i~0 <= ~n~0); {812#(and (<= main_~i~0 3) (<= 8 main_~j~0))} is VALID [2018-11-23 13:02:43,578 INFO L273 TraceCheckUtils]: 14: Hoare triple {812#(and (<= main_~i~0 3) (<= 8 main_~j~0))} assume !(~i~0 < ~j~0); {763#false} is VALID [2018-11-23 13:02:43,578 INFO L273 TraceCheckUtils]: 15: Hoare triple {763#false} #t~post2 := ~j~0;~j~0 := #t~post2 - 1;havoc #t~post2; {763#false} is VALID [2018-11-23 13:02:43,578 INFO L273 TraceCheckUtils]: 16: Hoare triple {763#false} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {763#false} is VALID [2018-11-23 13:02:43,579 INFO L273 TraceCheckUtils]: 17: Hoare triple {763#false} assume !(~i~0 <= ~n~0); {763#false} is VALID [2018-11-23 13:02:43,579 INFO L256 TraceCheckUtils]: 18: Hoare triple {763#false} call __VERIFIER_assert((if ~sn~0 == 2 * ~n~0 || 0 == ~sn~0 then 1 else 0)); {763#false} is VALID [2018-11-23 13:02:43,579 INFO L273 TraceCheckUtils]: 19: Hoare triple {763#false} ~cond := #in~cond; {763#false} is VALID [2018-11-23 13:02:43,580 INFO L273 TraceCheckUtils]: 20: Hoare triple {763#false} assume 0 == ~cond; {763#false} is VALID [2018-11-23 13:02:43,580 INFO L273 TraceCheckUtils]: 21: Hoare triple {763#false} assume !false; {763#false} is VALID [2018-11-23 13:02:43,582 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 7 proven. 8 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 13:02:43,604 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 13:02:43,604 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2018-11-23 13:02:43,604 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 22 [2018-11-23 13:02:43,605 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:02:43,605 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2018-11-23 13:02:43,703 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:02:43,703 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2018-11-23 13:02:43,703 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2018-11-23 13:02:43,703 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=56, Invalid=76, Unknown=0, NotChecked=0, Total=132 [2018-11-23 13:02:43,704 INFO L87 Difference]: Start difference. First operand 23 states and 24 transitions. Second operand 12 states. [2018-11-23 13:02:43,887 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:02:43,887 INFO L93 Difference]: Finished difference Result 34 states and 37 transitions. [2018-11-23 13:02:43,887 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-11-23 13:02:43,887 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 22 [2018-11-23 13:02:43,888 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:02:43,888 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-11-23 13:02:43,890 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 37 transitions. [2018-11-23 13:02:43,890 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-11-23 13:02:43,891 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 37 transitions. [2018-11-23 13:02:43,892 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 37 transitions. [2018-11-23 13:02:43,955 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:02:43,956 INFO L225 Difference]: With dead ends: 34 [2018-11-23 13:02:43,956 INFO L226 Difference]: Without dead ends: 25 [2018-11-23 13:02:43,957 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 18 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 40 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=56, Invalid=76, Unknown=0, NotChecked=0, Total=132 [2018-11-23 13:02:43,957 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 25 states. [2018-11-23 13:02:43,979 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 25 to 24. [2018-11-23 13:02:43,979 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:02:43,979 INFO L82 GeneralOperation]: Start isEquivalent. First operand 25 states. Second operand 24 states. [2018-11-23 13:02:43,980 INFO L74 IsIncluded]: Start isIncluded. First operand 25 states. Second operand 24 states. [2018-11-23 13:02:43,980 INFO L87 Difference]: Start difference. First operand 25 states. Second operand 24 states. [2018-11-23 13:02:43,981 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:02:43,982 INFO L93 Difference]: Finished difference Result 25 states and 26 transitions. [2018-11-23 13:02:43,982 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 26 transitions. [2018-11-23 13:02:43,982 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:02:43,982 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:02:43,983 INFO L74 IsIncluded]: Start isIncluded. First operand 24 states. Second operand 25 states. [2018-11-23 13:02:43,983 INFO L87 Difference]: Start difference. First operand 24 states. Second operand 25 states. [2018-11-23 13:02:43,984 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:02:43,985 INFO L93 Difference]: Finished difference Result 25 states and 26 transitions. [2018-11-23 13:02:43,985 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 26 transitions. [2018-11-23 13:02:43,985 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:02:43,985 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:02:43,986 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:02:43,986 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:02:43,986 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2018-11-23 13:02:43,987 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 25 transitions. [2018-11-23 13:02:43,987 INFO L78 Accepts]: Start accepts. Automaton has 24 states and 25 transitions. Word has length 22 [2018-11-23 13:02:43,988 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:02:43,988 INFO L480 AbstractCegarLoop]: Abstraction has 24 states and 25 transitions. [2018-11-23 13:02:43,988 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2018-11-23 13:02:43,988 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 25 transitions. [2018-11-23 13:02:43,989 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2018-11-23 13:02:43,989 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:02:43,989 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:02:43,990 INFO L423 AbstractCegarLoop]: === Iteration 7 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:02:43,990 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:02:43,990 INFO L82 PathProgramCache]: Analyzing trace with hash -971600090, now seen corresponding path program 2 times [2018-11-23 13:02:43,990 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:02:43,990 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:02:43,991 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:02:43,991 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 13:02:43,992 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:02:44,009 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:02:44,433 INFO L256 TraceCheckUtils]: 0: Hoare triple {970#true} call ULTIMATE.init(); {970#true} is VALID [2018-11-23 13:02:44,433 INFO L273 TraceCheckUtils]: 1: Hoare triple {970#true} assume true; {970#true} is VALID [2018-11-23 13:02:44,433 INFO L268 TraceCheckUtils]: 2: Hoare quadruple {970#true} {970#true} #39#return; {970#true} is VALID [2018-11-23 13:02:44,434 INFO L256 TraceCheckUtils]: 3: Hoare triple {970#true} call #t~ret3 := main(); {970#true} is VALID [2018-11-23 13:02:44,453 INFO L273 TraceCheckUtils]: 4: Hoare triple {970#true} havoc ~i~0;~j~0 := 10;~n~0 := (if #t~nondet0 % 4294967296 % 4294967296 <= 2147483647 then #t~nondet0 % 4294967296 % 4294967296 else #t~nondet0 % 4294967296 % 4294967296 - 4294967296);havoc #t~nondet0;~sn~0 := 0;~i~0 := 1; {972#(and (<= (+ main_~sn~0 2) (* 2 main_~i~0)) (<= (* 2 main_~i~0) (+ main_~sn~0 2)))} is VALID [2018-11-23 13:02:44,469 INFO L273 TraceCheckUtils]: 5: Hoare triple {972#(and (<= (+ main_~sn~0 2) (* 2 main_~i~0)) (<= (* 2 main_~i~0) (+ main_~sn~0 2)))} assume !!(~i~0 <= ~n~0); {972#(and (<= (+ main_~sn~0 2) (* 2 main_~i~0)) (<= (* 2 main_~i~0) (+ main_~sn~0 2)))} is VALID [2018-11-23 13:02:44,472 INFO L273 TraceCheckUtils]: 6: Hoare triple {972#(and (<= (+ main_~sn~0 2) (* 2 main_~i~0)) (<= (* 2 main_~i~0) (+ main_~sn~0 2)))} assume ~i~0 < ~j~0;~sn~0 := 2 + ~sn~0; {973#(and (<= (* 2 main_~i~0) main_~sn~0) (<= main_~sn~0 (* 2 main_~i~0)))} is VALID [2018-11-23 13:02:44,473 INFO L273 TraceCheckUtils]: 7: Hoare triple {973#(and (<= (* 2 main_~i~0) main_~sn~0) (<= main_~sn~0 (* 2 main_~i~0)))} #t~post2 := ~j~0;~j~0 := #t~post2 - 1;havoc #t~post2; {973#(and (<= (* 2 main_~i~0) main_~sn~0) (<= main_~sn~0 (* 2 main_~i~0)))} is VALID [2018-11-23 13:02:44,474 INFO L273 TraceCheckUtils]: 8: Hoare triple {973#(and (<= (* 2 main_~i~0) main_~sn~0) (<= main_~sn~0 (* 2 main_~i~0)))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {972#(and (<= (+ main_~sn~0 2) (* 2 main_~i~0)) (<= (* 2 main_~i~0) (+ main_~sn~0 2)))} is VALID [2018-11-23 13:02:44,475 INFO L273 TraceCheckUtils]: 9: Hoare triple {972#(and (<= (+ main_~sn~0 2) (* 2 main_~i~0)) (<= (* 2 main_~i~0) (+ main_~sn~0 2)))} assume !!(~i~0 <= ~n~0); {972#(and (<= (+ main_~sn~0 2) (* 2 main_~i~0)) (<= (* 2 main_~i~0) (+ main_~sn~0 2)))} is VALID [2018-11-23 13:02:44,475 INFO L273 TraceCheckUtils]: 10: Hoare triple {972#(and (<= (+ main_~sn~0 2) (* 2 main_~i~0)) (<= (* 2 main_~i~0) (+ main_~sn~0 2)))} assume ~i~0 < ~j~0;~sn~0 := 2 + ~sn~0; {973#(and (<= (* 2 main_~i~0) main_~sn~0) (<= main_~sn~0 (* 2 main_~i~0)))} is VALID [2018-11-23 13:02:44,476 INFO L273 TraceCheckUtils]: 11: Hoare triple {973#(and (<= (* 2 main_~i~0) main_~sn~0) (<= main_~sn~0 (* 2 main_~i~0)))} #t~post2 := ~j~0;~j~0 := #t~post2 - 1;havoc #t~post2; {973#(and (<= (* 2 main_~i~0) main_~sn~0) (<= main_~sn~0 (* 2 main_~i~0)))} is VALID [2018-11-23 13:02:44,477 INFO L273 TraceCheckUtils]: 12: Hoare triple {973#(and (<= (* 2 main_~i~0) main_~sn~0) (<= main_~sn~0 (* 2 main_~i~0)))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {972#(and (<= (+ main_~sn~0 2) (* 2 main_~i~0)) (<= (* 2 main_~i~0) (+ main_~sn~0 2)))} is VALID [2018-11-23 13:02:44,478 INFO L273 TraceCheckUtils]: 13: Hoare triple {972#(and (<= (+ main_~sn~0 2) (* 2 main_~i~0)) (<= (* 2 main_~i~0) (+ main_~sn~0 2)))} assume !!(~i~0 <= ~n~0); {974#(and (<= (* 2 main_~i~0) (+ main_~sn~0 2)) (<= (+ main_~sn~0 2) (* 2 main_~n~0)))} is VALID [2018-11-23 13:02:44,479 INFO L273 TraceCheckUtils]: 14: Hoare triple {974#(and (<= (* 2 main_~i~0) (+ main_~sn~0 2)) (<= (+ main_~sn~0 2) (* 2 main_~n~0)))} assume ~i~0 < ~j~0;~sn~0 := 2 + ~sn~0; {975#(and (< main_~sn~0 (+ (* 2 main_~n~0) 1)) (or (<= (* 2 main_~i~0) main_~sn~0) (<= (* 2 main_~n~0) main_~sn~0)))} is VALID [2018-11-23 13:02:44,480 INFO L273 TraceCheckUtils]: 15: Hoare triple {975#(and (< main_~sn~0 (+ (* 2 main_~n~0) 1)) (or (<= (* 2 main_~i~0) main_~sn~0) (<= (* 2 main_~n~0) main_~sn~0)))} #t~post2 := ~j~0;~j~0 := #t~post2 - 1;havoc #t~post2; {975#(and (< main_~sn~0 (+ (* 2 main_~n~0) 1)) (or (<= (* 2 main_~i~0) main_~sn~0) (<= (* 2 main_~n~0) main_~sn~0)))} is VALID [2018-11-23 13:02:44,481 INFO L273 TraceCheckUtils]: 16: Hoare triple {975#(and (< main_~sn~0 (+ (* 2 main_~n~0) 1)) (or (<= (* 2 main_~i~0) main_~sn~0) (<= (* 2 main_~n~0) main_~sn~0)))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {976#(and (< main_~sn~0 (+ (* 2 main_~n~0) 1)) (or (<= (* 2 main_~n~0) main_~sn~0) (<= (* 2 main_~i~0) (+ main_~sn~0 2))))} is VALID [2018-11-23 13:02:44,482 INFO L273 TraceCheckUtils]: 17: Hoare triple {976#(and (< main_~sn~0 (+ (* 2 main_~n~0) 1)) (or (<= (* 2 main_~n~0) main_~sn~0) (<= (* 2 main_~i~0) (+ main_~sn~0 2))))} assume !(~i~0 <= ~n~0); {977#(and (<= (* 2 main_~n~0) main_~sn~0) (< main_~sn~0 (+ (* 2 main_~n~0) 1)))} is VALID [2018-11-23 13:02:44,484 INFO L256 TraceCheckUtils]: 18: Hoare triple {977#(and (<= (* 2 main_~n~0) main_~sn~0) (< main_~sn~0 (+ (* 2 main_~n~0) 1)))} call __VERIFIER_assert((if ~sn~0 == 2 * ~n~0 || 0 == ~sn~0 then 1 else 0)); {978#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 13:02:44,484 INFO L273 TraceCheckUtils]: 19: Hoare triple {978#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {979#(= __VERIFIER_assert_~cond 1)} is VALID [2018-11-23 13:02:44,485 INFO L273 TraceCheckUtils]: 20: Hoare triple {979#(= __VERIFIER_assert_~cond 1)} assume 0 == ~cond; {971#false} is VALID [2018-11-23 13:02:44,486 INFO L273 TraceCheckUtils]: 21: Hoare triple {971#false} assume !false; {971#false} is VALID [2018-11-23 13:02:44,488 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2018-11-23 13:02:44,489 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 13:02:44,489 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 13:02:44,501 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 13:02:44,512 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 13:02:44,512 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 13:02:44,536 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:02:44,537 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 13:02:44,937 INFO L256 TraceCheckUtils]: 0: Hoare triple {970#true} call ULTIMATE.init(); {970#true} is VALID [2018-11-23 13:02:44,938 INFO L273 TraceCheckUtils]: 1: Hoare triple {970#true} assume true; {970#true} is VALID [2018-11-23 13:02:44,938 INFO L268 TraceCheckUtils]: 2: Hoare quadruple {970#true} {970#true} #39#return; {970#true} is VALID [2018-11-23 13:02:44,938 INFO L256 TraceCheckUtils]: 3: Hoare triple {970#true} call #t~ret3 := main(); {970#true} is VALID [2018-11-23 13:02:44,939 INFO L273 TraceCheckUtils]: 4: Hoare triple {970#true} havoc ~i~0;~j~0 := 10;~n~0 := (if #t~nondet0 % 4294967296 % 4294967296 <= 2147483647 then #t~nondet0 % 4294967296 % 4294967296 else #t~nondet0 % 4294967296 % 4294967296 - 4294967296);havoc #t~nondet0;~sn~0 := 0;~i~0 := 1; {995#(and (= main_~i~0 1) (= 0 main_~sn~0))} is VALID [2018-11-23 13:02:44,939 INFO L273 TraceCheckUtils]: 5: Hoare triple {995#(and (= main_~i~0 1) (= 0 main_~sn~0))} assume !!(~i~0 <= ~n~0); {995#(and (= main_~i~0 1) (= 0 main_~sn~0))} is VALID [2018-11-23 13:02:44,944 INFO L273 TraceCheckUtils]: 6: Hoare triple {995#(and (= main_~i~0 1) (= 0 main_~sn~0))} assume ~i~0 < ~j~0;~sn~0 := 2 + ~sn~0; {1002#(and (= main_~i~0 1) (= 2 main_~sn~0))} is VALID [2018-11-23 13:02:44,945 INFO L273 TraceCheckUtils]: 7: Hoare triple {1002#(and (= main_~i~0 1) (= 2 main_~sn~0))} #t~post2 := ~j~0;~j~0 := #t~post2 - 1;havoc #t~post2; {1002#(and (= main_~i~0 1) (= 2 main_~sn~0))} is VALID [2018-11-23 13:02:44,945 INFO L273 TraceCheckUtils]: 8: Hoare triple {1002#(and (= main_~i~0 1) (= 2 main_~sn~0))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {1009#(and (= main_~i~0 2) (= 2 main_~sn~0))} is VALID [2018-11-23 13:02:44,946 INFO L273 TraceCheckUtils]: 9: Hoare triple {1009#(and (= main_~i~0 2) (= 2 main_~sn~0))} assume !!(~i~0 <= ~n~0); {1009#(and (= main_~i~0 2) (= 2 main_~sn~0))} is VALID [2018-11-23 13:02:44,947 INFO L273 TraceCheckUtils]: 10: Hoare triple {1009#(and (= main_~i~0 2) (= 2 main_~sn~0))} assume ~i~0 < ~j~0;~sn~0 := 2 + ~sn~0; {1016#(and (= 4 main_~sn~0) (= main_~i~0 2))} is VALID [2018-11-23 13:02:44,947 INFO L273 TraceCheckUtils]: 11: Hoare triple {1016#(and (= 4 main_~sn~0) (= main_~i~0 2))} #t~post2 := ~j~0;~j~0 := #t~post2 - 1;havoc #t~post2; {1016#(and (= 4 main_~sn~0) (= main_~i~0 2))} is VALID [2018-11-23 13:02:44,948 INFO L273 TraceCheckUtils]: 12: Hoare triple {1016#(and (= 4 main_~sn~0) (= main_~i~0 2))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {1023#(and (= 4 main_~sn~0) (= main_~i~0 3))} is VALID [2018-11-23 13:02:44,949 INFO L273 TraceCheckUtils]: 13: Hoare triple {1023#(and (= 4 main_~sn~0) (= main_~i~0 3))} assume !!(~i~0 <= ~n~0); {1027#(and (= 4 main_~sn~0) (= main_~i~0 3) (<= main_~i~0 main_~n~0))} is VALID [2018-11-23 13:02:44,950 INFO L273 TraceCheckUtils]: 14: Hoare triple {1027#(and (= 4 main_~sn~0) (= main_~i~0 3) (<= main_~i~0 main_~n~0))} assume ~i~0 < ~j~0;~sn~0 := 2 + ~sn~0; {1031#(and (= main_~i~0 3) (<= main_~i~0 main_~n~0) (= 6 main_~sn~0))} is VALID [2018-11-23 13:02:44,953 INFO L273 TraceCheckUtils]: 15: Hoare triple {1031#(and (= main_~i~0 3) (<= main_~i~0 main_~n~0) (= 6 main_~sn~0))} #t~post2 := ~j~0;~j~0 := #t~post2 - 1;havoc #t~post2; {1031#(and (= main_~i~0 3) (<= main_~i~0 main_~n~0) (= 6 main_~sn~0))} is VALID [2018-11-23 13:02:44,954 INFO L273 TraceCheckUtils]: 16: Hoare triple {1031#(and (= main_~i~0 3) (<= main_~i~0 main_~n~0) (= 6 main_~sn~0))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {1038#(and (<= 3 main_~n~0) (<= main_~i~0 4) (= 6 main_~sn~0))} is VALID [2018-11-23 13:02:44,955 INFO L273 TraceCheckUtils]: 17: Hoare triple {1038#(and (<= 3 main_~n~0) (<= main_~i~0 4) (= 6 main_~sn~0))} assume !(~i~0 <= ~n~0); {1042#(and (<= 3 main_~n~0) (<= main_~n~0 3) (= 6 main_~sn~0))} is VALID [2018-11-23 13:02:44,955 INFO L256 TraceCheckUtils]: 18: Hoare triple {1042#(and (<= 3 main_~n~0) (<= main_~n~0 3) (= 6 main_~sn~0))} call __VERIFIER_assert((if ~sn~0 == 2 * ~n~0 || 0 == ~sn~0 then 1 else 0)); {978#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 13:02:44,957 INFO L273 TraceCheckUtils]: 19: Hoare triple {978#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {979#(= __VERIFIER_assert_~cond 1)} is VALID [2018-11-23 13:02:44,957 INFO L273 TraceCheckUtils]: 20: Hoare triple {979#(= __VERIFIER_assert_~cond 1)} assume 0 == ~cond; {971#false} is VALID [2018-11-23 13:02:44,958 INFO L273 TraceCheckUtils]: 21: Hoare triple {971#false} assume !false; {971#false} is VALID [2018-11-23 13:02:44,959 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 0 proven. 15 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 13:02:44,979 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 13:02:44,979 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 13] total 19 [2018-11-23 13:02:44,979 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 22 [2018-11-23 13:02:44,980 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:02:44,980 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states. [2018-11-23 13:02:45,036 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:02:45,036 INFO L459 AbstractCegarLoop]: Interpolant automaton has 19 states [2018-11-23 13:02:45,036 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2018-11-23 13:02:45,037 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=56, Invalid=286, Unknown=0, NotChecked=0, Total=342 [2018-11-23 13:02:45,037 INFO L87 Difference]: Start difference. First operand 24 states and 25 transitions. Second operand 19 states. [2018-11-23 13:02:46,809 WARN L180 SmtUtils]: Spent 100.00 ms on a formula simplification that was a NOOP. DAG size: 14 [2018-11-23 13:02:46,900 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:02:46,901 INFO L93 Difference]: Finished difference Result 42 states and 46 transitions. [2018-11-23 13:02:46,901 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2018-11-23 13:02:46,901 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 22 [2018-11-23 13:02:46,901 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:02:46,901 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2018-11-23 13:02:46,903 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 46 transitions. [2018-11-23 13:02:46,903 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2018-11-23 13:02:46,905 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 46 transitions. [2018-11-23 13:02:46,906 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 20 states and 46 transitions. [2018-11-23 13:02:47,008 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:02:47,011 INFO L225 Difference]: With dead ends: 42 [2018-11-23 13:02:47,011 INFO L226 Difference]: Without dead ends: 36 [2018-11-23 13:02:47,012 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 48 GetRequests, 16 SyntacticMatches, 1 SemanticMatches, 31 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 233 ImplicationChecksByTransitivity, 1.3s TimeCoverageRelationStatistics Valid=155, Invalid=901, Unknown=0, NotChecked=0, Total=1056 [2018-11-23 13:02:47,012 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states. [2018-11-23 13:02:47,029 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 28. [2018-11-23 13:02:47,029 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:02:47,030 INFO L82 GeneralOperation]: Start isEquivalent. First operand 36 states. Second operand 28 states. [2018-11-23 13:02:47,030 INFO L74 IsIncluded]: Start isIncluded. First operand 36 states. Second operand 28 states. [2018-11-23 13:02:47,030 INFO L87 Difference]: Start difference. First operand 36 states. Second operand 28 states. [2018-11-23 13:02:47,032 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:02:47,032 INFO L93 Difference]: Finished difference Result 36 states and 39 transitions. [2018-11-23 13:02:47,032 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 39 transitions. [2018-11-23 13:02:47,033 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:02:47,033 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:02:47,033 INFO L74 IsIncluded]: Start isIncluded. First operand 28 states. Second operand 36 states. [2018-11-23 13:02:47,033 INFO L87 Difference]: Start difference. First operand 28 states. Second operand 36 states. [2018-11-23 13:02:47,035 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:02:47,035 INFO L93 Difference]: Finished difference Result 36 states and 39 transitions. [2018-11-23 13:02:47,035 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 39 transitions. [2018-11-23 13:02:47,036 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:02:47,036 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:02:47,036 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:02:47,036 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:02:47,036 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 28 states. [2018-11-23 13:02:47,037 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 30 transitions. [2018-11-23 13:02:47,038 INFO L78 Accepts]: Start accepts. Automaton has 28 states and 30 transitions. Word has length 22 [2018-11-23 13:02:47,038 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:02:47,038 INFO L480 AbstractCegarLoop]: Abstraction has 28 states and 30 transitions. [2018-11-23 13:02:47,038 INFO L481 AbstractCegarLoop]: Interpolant automaton has 19 states. [2018-11-23 13:02:47,038 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 30 transitions. [2018-11-23 13:02:47,039 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2018-11-23 13:02:47,039 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:02:47,039 INFO L402 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:02:47,039 INFO L423 AbstractCegarLoop]: === Iteration 8 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:02:47,040 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:02:47,040 INFO L82 PathProgramCache]: Analyzing trace with hash -131462049, now seen corresponding path program 4 times [2018-11-23 13:02:47,040 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:02:47,040 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:02:47,041 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:02:47,041 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 13:02:47,041 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:02:47,052 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:02:47,267 INFO L256 TraceCheckUtils]: 0: Hoare triple {1250#true} call ULTIMATE.init(); {1250#true} is VALID [2018-11-23 13:02:47,267 INFO L273 TraceCheckUtils]: 1: Hoare triple {1250#true} assume true; {1250#true} is VALID [2018-11-23 13:02:47,268 INFO L268 TraceCheckUtils]: 2: Hoare quadruple {1250#true} {1250#true} #39#return; {1250#true} is VALID [2018-11-23 13:02:47,268 INFO L256 TraceCheckUtils]: 3: Hoare triple {1250#true} call #t~ret3 := main(); {1250#true} is VALID [2018-11-23 13:02:47,269 INFO L273 TraceCheckUtils]: 4: Hoare triple {1250#true} havoc ~i~0;~j~0 := 10;~n~0 := (if #t~nondet0 % 4294967296 % 4294967296 <= 2147483647 then #t~nondet0 % 4294967296 % 4294967296 else #t~nondet0 % 4294967296 % 4294967296 - 4294967296);havoc #t~nondet0;~sn~0 := 0;~i~0 := 1; {1252#(<= (+ main_~i~0 9) main_~j~0)} is VALID [2018-11-23 13:02:47,270 INFO L273 TraceCheckUtils]: 5: Hoare triple {1252#(<= (+ main_~i~0 9) main_~j~0)} assume !!(~i~0 <= ~n~0); {1252#(<= (+ main_~i~0 9) main_~j~0)} is VALID [2018-11-23 13:02:47,270 INFO L273 TraceCheckUtils]: 6: Hoare triple {1252#(<= (+ main_~i~0 9) main_~j~0)} assume ~i~0 < ~j~0;~sn~0 := 2 + ~sn~0; {1252#(<= (+ main_~i~0 9) main_~j~0)} is VALID [2018-11-23 13:02:47,271 INFO L273 TraceCheckUtils]: 7: Hoare triple {1252#(<= (+ main_~i~0 9) main_~j~0)} #t~post2 := ~j~0;~j~0 := #t~post2 - 1;havoc #t~post2; {1253#(<= (+ main_~i~0 8) main_~j~0)} is VALID [2018-11-23 13:02:47,272 INFO L273 TraceCheckUtils]: 8: Hoare triple {1253#(<= (+ main_~i~0 8) main_~j~0)} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {1254#(<= (+ main_~i~0 7) main_~j~0)} is VALID [2018-11-23 13:02:47,273 INFO L273 TraceCheckUtils]: 9: Hoare triple {1254#(<= (+ main_~i~0 7) main_~j~0)} assume !!(~i~0 <= ~n~0); {1254#(<= (+ main_~i~0 7) main_~j~0)} is VALID [2018-11-23 13:02:47,273 INFO L273 TraceCheckUtils]: 10: Hoare triple {1254#(<= (+ main_~i~0 7) main_~j~0)} assume ~i~0 < ~j~0;~sn~0 := 2 + ~sn~0; {1254#(<= (+ main_~i~0 7) main_~j~0)} is VALID [2018-11-23 13:02:47,274 INFO L273 TraceCheckUtils]: 11: Hoare triple {1254#(<= (+ main_~i~0 7) main_~j~0)} #t~post2 := ~j~0;~j~0 := #t~post2 - 1;havoc #t~post2; {1255#(<= (+ main_~i~0 6) main_~j~0)} is VALID [2018-11-23 13:02:47,275 INFO L273 TraceCheckUtils]: 12: Hoare triple {1255#(<= (+ main_~i~0 6) main_~j~0)} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {1256#(<= (+ main_~i~0 5) main_~j~0)} is VALID [2018-11-23 13:02:47,284 INFO L273 TraceCheckUtils]: 13: Hoare triple {1256#(<= (+ main_~i~0 5) main_~j~0)} assume !!(~i~0 <= ~n~0); {1256#(<= (+ main_~i~0 5) main_~j~0)} is VALID [2018-11-23 13:02:47,285 INFO L273 TraceCheckUtils]: 14: Hoare triple {1256#(<= (+ main_~i~0 5) main_~j~0)} assume ~i~0 < ~j~0;~sn~0 := 2 + ~sn~0; {1256#(<= (+ main_~i~0 5) main_~j~0)} is VALID [2018-11-23 13:02:47,285 INFO L273 TraceCheckUtils]: 15: Hoare triple {1256#(<= (+ main_~i~0 5) main_~j~0)} #t~post2 := ~j~0;~j~0 := #t~post2 - 1;havoc #t~post2; {1257#(<= (+ main_~i~0 4) main_~j~0)} is VALID [2018-11-23 13:02:47,286 INFO L273 TraceCheckUtils]: 16: Hoare triple {1257#(<= (+ main_~i~0 4) main_~j~0)} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {1258#(<= (+ main_~i~0 3) main_~j~0)} is VALID [2018-11-23 13:02:47,287 INFO L273 TraceCheckUtils]: 17: Hoare triple {1258#(<= (+ main_~i~0 3) main_~j~0)} assume !!(~i~0 <= ~n~0); {1258#(<= (+ main_~i~0 3) main_~j~0)} is VALID [2018-11-23 13:02:47,287 INFO L273 TraceCheckUtils]: 18: Hoare triple {1258#(<= (+ main_~i~0 3) main_~j~0)} assume !(~i~0 < ~j~0); {1251#false} is VALID [2018-11-23 13:02:47,288 INFO L273 TraceCheckUtils]: 19: Hoare triple {1251#false} #t~post2 := ~j~0;~j~0 := #t~post2 - 1;havoc #t~post2; {1251#false} is VALID [2018-11-23 13:02:47,288 INFO L273 TraceCheckUtils]: 20: Hoare triple {1251#false} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {1251#false} is VALID [2018-11-23 13:02:47,288 INFO L273 TraceCheckUtils]: 21: Hoare triple {1251#false} assume !(~i~0 <= ~n~0); {1251#false} is VALID [2018-11-23 13:02:47,289 INFO L256 TraceCheckUtils]: 22: Hoare triple {1251#false} call __VERIFIER_assert((if ~sn~0 == 2 * ~n~0 || 0 == ~sn~0 then 1 else 0)); {1251#false} is VALID [2018-11-23 13:02:47,289 INFO L273 TraceCheckUtils]: 23: Hoare triple {1251#false} ~cond := #in~cond; {1251#false} is VALID [2018-11-23 13:02:47,290 INFO L273 TraceCheckUtils]: 24: Hoare triple {1251#false} assume 0 == ~cond; {1251#false} is VALID [2018-11-23 13:02:47,290 INFO L273 TraceCheckUtils]: 25: Hoare triple {1251#false} assume !false; {1251#false} is VALID [2018-11-23 13:02:47,293 INFO L134 CoverageAnalysis]: Checked inductivity of 28 backedges. 10 proven. 18 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 13:02:47,293 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 13:02:47,293 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 13:02:47,306 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-23 13:02:47,320 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-23 13:02:47,320 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 13:02:47,344 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:02:47,345 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 13:02:47,742 INFO L256 TraceCheckUtils]: 0: Hoare triple {1250#true} call ULTIMATE.init(); {1250#true} is VALID [2018-11-23 13:02:47,742 INFO L273 TraceCheckUtils]: 1: Hoare triple {1250#true} assume true; {1250#true} is VALID [2018-11-23 13:02:47,742 INFO L268 TraceCheckUtils]: 2: Hoare quadruple {1250#true} {1250#true} #39#return; {1250#true} is VALID [2018-11-23 13:02:47,743 INFO L256 TraceCheckUtils]: 3: Hoare triple {1250#true} call #t~ret3 := main(); {1250#true} is VALID [2018-11-23 13:02:47,744 INFO L273 TraceCheckUtils]: 4: Hoare triple {1250#true} havoc ~i~0;~j~0 := 10;~n~0 := (if #t~nondet0 % 4294967296 % 4294967296 <= 2147483647 then #t~nondet0 % 4294967296 % 4294967296 else #t~nondet0 % 4294967296 % 4294967296 - 4294967296);havoc #t~nondet0;~sn~0 := 0;~i~0 := 1; {1274#(and (<= main_~i~0 1) (<= 10 main_~j~0))} is VALID [2018-11-23 13:02:47,744 INFO L273 TraceCheckUtils]: 5: Hoare triple {1274#(and (<= main_~i~0 1) (<= 10 main_~j~0))} assume !!(~i~0 <= ~n~0); {1274#(and (<= main_~i~0 1) (<= 10 main_~j~0))} is VALID [2018-11-23 13:02:47,746 INFO L273 TraceCheckUtils]: 6: Hoare triple {1274#(and (<= main_~i~0 1) (<= 10 main_~j~0))} assume ~i~0 < ~j~0;~sn~0 := 2 + ~sn~0; {1274#(and (<= main_~i~0 1) (<= 10 main_~j~0))} is VALID [2018-11-23 13:02:47,746 INFO L273 TraceCheckUtils]: 7: Hoare triple {1274#(and (<= main_~i~0 1) (<= 10 main_~j~0))} #t~post2 := ~j~0;~j~0 := #t~post2 - 1;havoc #t~post2; {1284#(and (<= main_~i~0 1) (<= 9 main_~j~0))} is VALID [2018-11-23 13:02:47,747 INFO L273 TraceCheckUtils]: 8: Hoare triple {1284#(and (<= main_~i~0 1) (<= 9 main_~j~0))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {1288#(and (<= main_~i~0 2) (<= 9 main_~j~0))} is VALID [2018-11-23 13:02:47,748 INFO L273 TraceCheckUtils]: 9: Hoare triple {1288#(and (<= main_~i~0 2) (<= 9 main_~j~0))} assume !!(~i~0 <= ~n~0); {1288#(and (<= main_~i~0 2) (<= 9 main_~j~0))} is VALID [2018-11-23 13:02:47,748 INFO L273 TraceCheckUtils]: 10: Hoare triple {1288#(and (<= main_~i~0 2) (<= 9 main_~j~0))} assume ~i~0 < ~j~0;~sn~0 := 2 + ~sn~0; {1288#(and (<= main_~i~0 2) (<= 9 main_~j~0))} is VALID [2018-11-23 13:02:47,751 INFO L273 TraceCheckUtils]: 11: Hoare triple {1288#(and (<= main_~i~0 2) (<= 9 main_~j~0))} #t~post2 := ~j~0;~j~0 := #t~post2 - 1;havoc #t~post2; {1298#(and (<= 8 main_~j~0) (<= main_~i~0 2))} is VALID [2018-11-23 13:02:47,751 INFO L273 TraceCheckUtils]: 12: Hoare triple {1298#(and (<= 8 main_~j~0) (<= main_~i~0 2))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {1302#(and (<= main_~i~0 3) (<= 8 main_~j~0))} is VALID [2018-11-23 13:02:47,753 INFO L273 TraceCheckUtils]: 13: Hoare triple {1302#(and (<= main_~i~0 3) (<= 8 main_~j~0))} assume !!(~i~0 <= ~n~0); {1302#(and (<= main_~i~0 3) (<= 8 main_~j~0))} is VALID [2018-11-23 13:02:47,753 INFO L273 TraceCheckUtils]: 14: Hoare triple {1302#(and (<= main_~i~0 3) (<= 8 main_~j~0))} assume ~i~0 < ~j~0;~sn~0 := 2 + ~sn~0; {1302#(and (<= main_~i~0 3) (<= 8 main_~j~0))} is VALID [2018-11-23 13:02:47,755 INFO L273 TraceCheckUtils]: 15: Hoare triple {1302#(and (<= main_~i~0 3) (<= 8 main_~j~0))} #t~post2 := ~j~0;~j~0 := #t~post2 - 1;havoc #t~post2; {1312#(and (<= main_~i~0 3) (<= 7 main_~j~0))} is VALID [2018-11-23 13:02:47,756 INFO L273 TraceCheckUtils]: 16: Hoare triple {1312#(and (<= main_~i~0 3) (<= 7 main_~j~0))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {1316#(and (<= 7 main_~j~0) (<= main_~i~0 4))} is VALID [2018-11-23 13:02:47,756 INFO L273 TraceCheckUtils]: 17: Hoare triple {1316#(and (<= 7 main_~j~0) (<= main_~i~0 4))} assume !!(~i~0 <= ~n~0); {1316#(and (<= 7 main_~j~0) (<= main_~i~0 4))} is VALID [2018-11-23 13:02:47,758 INFO L273 TraceCheckUtils]: 18: Hoare triple {1316#(and (<= 7 main_~j~0) (<= main_~i~0 4))} assume !(~i~0 < ~j~0); {1251#false} is VALID [2018-11-23 13:02:47,758 INFO L273 TraceCheckUtils]: 19: Hoare triple {1251#false} #t~post2 := ~j~0;~j~0 := #t~post2 - 1;havoc #t~post2; {1251#false} is VALID [2018-11-23 13:02:47,758 INFO L273 TraceCheckUtils]: 20: Hoare triple {1251#false} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {1251#false} is VALID [2018-11-23 13:02:47,759 INFO L273 TraceCheckUtils]: 21: Hoare triple {1251#false} assume !(~i~0 <= ~n~0); {1251#false} is VALID [2018-11-23 13:02:47,759 INFO L256 TraceCheckUtils]: 22: Hoare triple {1251#false} call __VERIFIER_assert((if ~sn~0 == 2 * ~n~0 || 0 == ~sn~0 then 1 else 0)); {1251#false} is VALID [2018-11-23 13:02:47,759 INFO L273 TraceCheckUtils]: 23: Hoare triple {1251#false} ~cond := #in~cond; {1251#false} is VALID [2018-11-23 13:02:47,759 INFO L273 TraceCheckUtils]: 24: Hoare triple {1251#false} assume 0 == ~cond; {1251#false} is VALID [2018-11-23 13:02:47,760 INFO L273 TraceCheckUtils]: 25: Hoare triple {1251#false} assume !false; {1251#false} is VALID [2018-11-23 13:02:47,761 INFO L134 CoverageAnalysis]: Checked inductivity of 28 backedges. 10 proven. 18 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 13:02:47,780 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 13:02:47,780 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 16 [2018-11-23 13:02:47,781 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 26 [2018-11-23 13:02:47,781 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:02:47,781 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states. [2018-11-23 13:02:47,865 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:02:47,865 INFO L459 AbstractCegarLoop]: Interpolant automaton has 16 states [2018-11-23 13:02:47,865 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2018-11-23 13:02:47,865 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=99, Invalid=141, Unknown=0, NotChecked=0, Total=240 [2018-11-23 13:02:47,866 INFO L87 Difference]: Start difference. First operand 28 states and 30 transitions. Second operand 16 states. [2018-11-23 13:02:48,298 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:02:48,298 INFO L93 Difference]: Finished difference Result 42 states and 46 transitions. [2018-11-23 13:02:48,300 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-11-23 13:02:48,300 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 26 [2018-11-23 13:02:48,300 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:02:48,300 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-23 13:02:48,302 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 41 transitions. [2018-11-23 13:02:48,302 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-23 13:02:48,305 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 41 transitions. [2018-11-23 13:02:48,305 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 41 transitions. [2018-11-23 13:02:48,343 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:02:48,344 INFO L225 Difference]: With dead ends: 42 [2018-11-23 13:02:48,345 INFO L226 Difference]: Without dead ends: 33 [2018-11-23 13:02:48,346 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 34 GetRequests, 20 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 84 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=99, Invalid=141, Unknown=0, NotChecked=0, Total=240 [2018-11-23 13:02:48,346 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states. [2018-11-23 13:02:48,374 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 32. [2018-11-23 13:02:48,374 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:02:48,374 INFO L82 GeneralOperation]: Start isEquivalent. First operand 33 states. Second operand 32 states. [2018-11-23 13:02:48,374 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand 32 states. [2018-11-23 13:02:48,375 INFO L87 Difference]: Start difference. First operand 33 states. Second operand 32 states. [2018-11-23 13:02:48,378 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:02:48,379 INFO L93 Difference]: Finished difference Result 33 states and 35 transitions. [2018-11-23 13:02:48,379 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 35 transitions. [2018-11-23 13:02:48,379 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:02:48,379 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:02:48,379 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand 33 states. [2018-11-23 13:02:48,380 INFO L87 Difference]: Start difference. First operand 32 states. Second operand 33 states. [2018-11-23 13:02:48,381 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:02:48,381 INFO L93 Difference]: Finished difference Result 33 states and 35 transitions. [2018-11-23 13:02:48,381 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 35 transitions. [2018-11-23 13:02:48,381 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:02:48,382 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:02:48,382 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:02:48,382 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:02:48,382 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 32 states. [2018-11-23 13:02:48,383 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 34 transitions. [2018-11-23 13:02:48,383 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 34 transitions. Word has length 26 [2018-11-23 13:02:48,383 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:02:48,384 INFO L480 AbstractCegarLoop]: Abstraction has 32 states and 34 transitions. [2018-11-23 13:02:48,384 INFO L481 AbstractCegarLoop]: Interpolant automaton has 16 states. [2018-11-23 13:02:48,384 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 34 transitions. [2018-11-23 13:02:48,384 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2018-11-23 13:02:48,385 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:02:48,385 INFO L402 BasicCegarLoop]: trace histogram [5, 5, 5, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:02:48,385 INFO L423 AbstractCegarLoop]: === Iteration 9 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:02:48,385 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:02:48,385 INFO L82 PathProgramCache]: Analyzing trace with hash -1107887526, now seen corresponding path program 5 times [2018-11-23 13:02:48,385 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:02:48,386 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:02:48,386 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:02:48,386 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 13:02:48,387 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:02:48,397 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:02:48,540 INFO L256 TraceCheckUtils]: 0: Hoare triple {1510#true} call ULTIMATE.init(); {1510#true} is VALID [2018-11-23 13:02:48,540 INFO L273 TraceCheckUtils]: 1: Hoare triple {1510#true} assume true; {1510#true} is VALID [2018-11-23 13:02:48,540 INFO L268 TraceCheckUtils]: 2: Hoare quadruple {1510#true} {1510#true} #39#return; {1510#true} is VALID [2018-11-23 13:02:48,541 INFO L256 TraceCheckUtils]: 3: Hoare triple {1510#true} call #t~ret3 := main(); {1510#true} is VALID [2018-11-23 13:02:48,541 INFO L273 TraceCheckUtils]: 4: Hoare triple {1510#true} havoc ~i~0;~j~0 := 10;~n~0 := (if #t~nondet0 % 4294967296 % 4294967296 <= 2147483647 then #t~nondet0 % 4294967296 % 4294967296 else #t~nondet0 % 4294967296 % 4294967296 - 4294967296);havoc #t~nondet0;~sn~0 := 0;~i~0 := 1; {1512#(<= (+ main_~i~0 9) main_~j~0)} is VALID [2018-11-23 13:02:48,542 INFO L273 TraceCheckUtils]: 5: Hoare triple {1512#(<= (+ main_~i~0 9) main_~j~0)} assume !!(~i~0 <= ~n~0); {1512#(<= (+ main_~i~0 9) main_~j~0)} is VALID [2018-11-23 13:02:48,542 INFO L273 TraceCheckUtils]: 6: Hoare triple {1512#(<= (+ main_~i~0 9) main_~j~0)} assume ~i~0 < ~j~0;~sn~0 := 2 + ~sn~0; {1512#(<= (+ main_~i~0 9) main_~j~0)} is VALID [2018-11-23 13:02:48,543 INFO L273 TraceCheckUtils]: 7: Hoare triple {1512#(<= (+ main_~i~0 9) main_~j~0)} #t~post2 := ~j~0;~j~0 := #t~post2 - 1;havoc #t~post2; {1513#(<= (+ main_~i~0 8) main_~j~0)} is VALID [2018-11-23 13:02:48,544 INFO L273 TraceCheckUtils]: 8: Hoare triple {1513#(<= (+ main_~i~0 8) main_~j~0)} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {1514#(<= (+ main_~i~0 7) main_~j~0)} is VALID [2018-11-23 13:02:48,545 INFO L273 TraceCheckUtils]: 9: Hoare triple {1514#(<= (+ main_~i~0 7) main_~j~0)} assume !!(~i~0 <= ~n~0); {1514#(<= (+ main_~i~0 7) main_~j~0)} is VALID [2018-11-23 13:02:48,547 INFO L273 TraceCheckUtils]: 10: Hoare triple {1514#(<= (+ main_~i~0 7) main_~j~0)} assume ~i~0 < ~j~0;~sn~0 := 2 + ~sn~0; {1514#(<= (+ main_~i~0 7) main_~j~0)} is VALID [2018-11-23 13:02:48,549 INFO L273 TraceCheckUtils]: 11: Hoare triple {1514#(<= (+ main_~i~0 7) main_~j~0)} #t~post2 := ~j~0;~j~0 := #t~post2 - 1;havoc #t~post2; {1515#(<= (+ main_~i~0 6) main_~j~0)} is VALID [2018-11-23 13:02:48,551 INFO L273 TraceCheckUtils]: 12: Hoare triple {1515#(<= (+ main_~i~0 6) main_~j~0)} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {1516#(<= (+ main_~i~0 5) main_~j~0)} is VALID [2018-11-23 13:02:48,554 INFO L273 TraceCheckUtils]: 13: Hoare triple {1516#(<= (+ main_~i~0 5) main_~j~0)} assume !!(~i~0 <= ~n~0); {1516#(<= (+ main_~i~0 5) main_~j~0)} is VALID [2018-11-23 13:02:48,555 INFO L273 TraceCheckUtils]: 14: Hoare triple {1516#(<= (+ main_~i~0 5) main_~j~0)} assume ~i~0 < ~j~0;~sn~0 := 2 + ~sn~0; {1516#(<= (+ main_~i~0 5) main_~j~0)} is VALID [2018-11-23 13:02:48,556 INFO L273 TraceCheckUtils]: 15: Hoare triple {1516#(<= (+ main_~i~0 5) main_~j~0)} #t~post2 := ~j~0;~j~0 := #t~post2 - 1;havoc #t~post2; {1517#(<= (+ main_~i~0 4) main_~j~0)} is VALID [2018-11-23 13:02:48,556 INFO L273 TraceCheckUtils]: 16: Hoare triple {1517#(<= (+ main_~i~0 4) main_~j~0)} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {1518#(<= (+ main_~i~0 3) main_~j~0)} is VALID [2018-11-23 13:02:48,557 INFO L273 TraceCheckUtils]: 17: Hoare triple {1518#(<= (+ main_~i~0 3) main_~j~0)} assume !!(~i~0 <= ~n~0); {1518#(<= (+ main_~i~0 3) main_~j~0)} is VALID [2018-11-23 13:02:48,557 INFO L273 TraceCheckUtils]: 18: Hoare triple {1518#(<= (+ main_~i~0 3) main_~j~0)} assume ~i~0 < ~j~0;~sn~0 := 2 + ~sn~0; {1518#(<= (+ main_~i~0 3) main_~j~0)} is VALID [2018-11-23 13:02:48,558 INFO L273 TraceCheckUtils]: 19: Hoare triple {1518#(<= (+ main_~i~0 3) main_~j~0)} #t~post2 := ~j~0;~j~0 := #t~post2 - 1;havoc #t~post2; {1519#(<= (+ main_~i~0 2) main_~j~0)} is VALID [2018-11-23 13:02:48,558 INFO L273 TraceCheckUtils]: 20: Hoare triple {1519#(<= (+ main_~i~0 2) main_~j~0)} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {1520#(<= (+ main_~i~0 1) main_~j~0)} is VALID [2018-11-23 13:02:48,558 INFO L273 TraceCheckUtils]: 21: Hoare triple {1520#(<= (+ main_~i~0 1) main_~j~0)} assume !!(~i~0 <= ~n~0); {1520#(<= (+ main_~i~0 1) main_~j~0)} is VALID [2018-11-23 13:02:48,559 INFO L273 TraceCheckUtils]: 22: Hoare triple {1520#(<= (+ main_~i~0 1) main_~j~0)} assume !(~i~0 < ~j~0); {1511#false} is VALID [2018-11-23 13:02:48,559 INFO L273 TraceCheckUtils]: 23: Hoare triple {1511#false} #t~post2 := ~j~0;~j~0 := #t~post2 - 1;havoc #t~post2; {1511#false} is VALID [2018-11-23 13:02:48,560 INFO L273 TraceCheckUtils]: 24: Hoare triple {1511#false} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {1511#false} is VALID [2018-11-23 13:02:48,560 INFO L273 TraceCheckUtils]: 25: Hoare triple {1511#false} assume !(~i~0 <= ~n~0); {1511#false} is VALID [2018-11-23 13:02:48,560 INFO L256 TraceCheckUtils]: 26: Hoare triple {1511#false} call __VERIFIER_assert((if ~sn~0 == 2 * ~n~0 || 0 == ~sn~0 then 1 else 0)); {1511#false} is VALID [2018-11-23 13:02:48,560 INFO L273 TraceCheckUtils]: 27: Hoare triple {1511#false} ~cond := #in~cond; {1511#false} is VALID [2018-11-23 13:02:48,561 INFO L273 TraceCheckUtils]: 28: Hoare triple {1511#false} assume 0 == ~cond; {1511#false} is VALID [2018-11-23 13:02:48,561 INFO L273 TraceCheckUtils]: 29: Hoare triple {1511#false} assume !false; {1511#false} is VALID [2018-11-23 13:02:48,562 INFO L134 CoverageAnalysis]: Checked inductivity of 45 backedges. 13 proven. 32 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 13:02:48,563 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 13:02:48,563 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 13:02:48,579 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-23 13:02:48,598 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 6 check-sat command(s) [2018-11-23 13:02:48,598 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 13:02:48,620 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:02:48,621 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 13:02:48,907 INFO L256 TraceCheckUtils]: 0: Hoare triple {1510#true} call ULTIMATE.init(); {1510#true} is VALID [2018-11-23 13:02:48,907 INFO L273 TraceCheckUtils]: 1: Hoare triple {1510#true} assume true; {1510#true} is VALID [2018-11-23 13:02:48,908 INFO L268 TraceCheckUtils]: 2: Hoare quadruple {1510#true} {1510#true} #39#return; {1510#true} is VALID [2018-11-23 13:02:48,908 INFO L256 TraceCheckUtils]: 3: Hoare triple {1510#true} call #t~ret3 := main(); {1510#true} is VALID [2018-11-23 13:02:48,909 INFO L273 TraceCheckUtils]: 4: Hoare triple {1510#true} havoc ~i~0;~j~0 := 10;~n~0 := (if #t~nondet0 % 4294967296 % 4294967296 <= 2147483647 then #t~nondet0 % 4294967296 % 4294967296 else #t~nondet0 % 4294967296 % 4294967296 - 4294967296);havoc #t~nondet0;~sn~0 := 0;~i~0 := 1; {1536#(and (<= main_~i~0 1) (<= 10 main_~j~0))} is VALID [2018-11-23 13:02:48,909 INFO L273 TraceCheckUtils]: 5: Hoare triple {1536#(and (<= main_~i~0 1) (<= 10 main_~j~0))} assume !!(~i~0 <= ~n~0); {1536#(and (<= main_~i~0 1) (<= 10 main_~j~0))} is VALID [2018-11-23 13:02:48,910 INFO L273 TraceCheckUtils]: 6: Hoare triple {1536#(and (<= main_~i~0 1) (<= 10 main_~j~0))} assume ~i~0 < ~j~0;~sn~0 := 2 + ~sn~0; {1536#(and (<= main_~i~0 1) (<= 10 main_~j~0))} is VALID [2018-11-23 13:02:48,911 INFO L273 TraceCheckUtils]: 7: Hoare triple {1536#(and (<= main_~i~0 1) (<= 10 main_~j~0))} #t~post2 := ~j~0;~j~0 := #t~post2 - 1;havoc #t~post2; {1546#(and (<= main_~i~0 1) (<= 9 main_~j~0))} is VALID [2018-11-23 13:02:48,911 INFO L273 TraceCheckUtils]: 8: Hoare triple {1546#(and (<= main_~i~0 1) (<= 9 main_~j~0))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {1550#(and (<= main_~i~0 2) (<= 9 main_~j~0))} is VALID [2018-11-23 13:02:48,911 INFO L273 TraceCheckUtils]: 9: Hoare triple {1550#(and (<= main_~i~0 2) (<= 9 main_~j~0))} assume !!(~i~0 <= ~n~0); {1550#(and (<= main_~i~0 2) (<= 9 main_~j~0))} is VALID [2018-11-23 13:02:48,912 INFO L273 TraceCheckUtils]: 10: Hoare triple {1550#(and (<= main_~i~0 2) (<= 9 main_~j~0))} assume ~i~0 < ~j~0;~sn~0 := 2 + ~sn~0; {1550#(and (<= main_~i~0 2) (<= 9 main_~j~0))} is VALID [2018-11-23 13:02:48,913 INFO L273 TraceCheckUtils]: 11: Hoare triple {1550#(and (<= main_~i~0 2) (<= 9 main_~j~0))} #t~post2 := ~j~0;~j~0 := #t~post2 - 1;havoc #t~post2; {1560#(and (<= 8 main_~j~0) (<= main_~i~0 2))} is VALID [2018-11-23 13:02:48,914 INFO L273 TraceCheckUtils]: 12: Hoare triple {1560#(and (<= 8 main_~j~0) (<= main_~i~0 2))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {1564#(and (<= main_~i~0 3) (<= 8 main_~j~0))} is VALID [2018-11-23 13:02:48,914 INFO L273 TraceCheckUtils]: 13: Hoare triple {1564#(and (<= main_~i~0 3) (<= 8 main_~j~0))} assume !!(~i~0 <= ~n~0); {1564#(and (<= main_~i~0 3) (<= 8 main_~j~0))} is VALID [2018-11-23 13:02:48,916 INFO L273 TraceCheckUtils]: 14: Hoare triple {1564#(and (<= main_~i~0 3) (<= 8 main_~j~0))} assume ~i~0 < ~j~0;~sn~0 := 2 + ~sn~0; {1564#(and (<= main_~i~0 3) (<= 8 main_~j~0))} is VALID [2018-11-23 13:02:48,917 INFO L273 TraceCheckUtils]: 15: Hoare triple {1564#(and (<= main_~i~0 3) (<= 8 main_~j~0))} #t~post2 := ~j~0;~j~0 := #t~post2 - 1;havoc #t~post2; {1574#(and (<= main_~i~0 3) (<= 7 main_~j~0))} is VALID [2018-11-23 13:02:48,918 INFO L273 TraceCheckUtils]: 16: Hoare triple {1574#(and (<= main_~i~0 3) (<= 7 main_~j~0))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {1578#(and (<= 7 main_~j~0) (<= main_~i~0 4))} is VALID [2018-11-23 13:02:48,918 INFO L273 TraceCheckUtils]: 17: Hoare triple {1578#(and (<= 7 main_~j~0) (<= main_~i~0 4))} assume !!(~i~0 <= ~n~0); {1578#(and (<= 7 main_~j~0) (<= main_~i~0 4))} is VALID [2018-11-23 13:02:48,919 INFO L273 TraceCheckUtils]: 18: Hoare triple {1578#(and (<= 7 main_~j~0) (<= main_~i~0 4))} assume ~i~0 < ~j~0;~sn~0 := 2 + ~sn~0; {1578#(and (<= 7 main_~j~0) (<= main_~i~0 4))} is VALID [2018-11-23 13:02:48,920 INFO L273 TraceCheckUtils]: 19: Hoare triple {1578#(and (<= 7 main_~j~0) (<= main_~i~0 4))} #t~post2 := ~j~0;~j~0 := #t~post2 - 1;havoc #t~post2; {1588#(and (<= 6 main_~j~0) (<= main_~i~0 4))} is VALID [2018-11-23 13:02:48,921 INFO L273 TraceCheckUtils]: 20: Hoare triple {1588#(and (<= 6 main_~j~0) (<= main_~i~0 4))} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {1592#(and (<= 6 main_~j~0) (<= main_~i~0 5))} is VALID [2018-11-23 13:02:48,922 INFO L273 TraceCheckUtils]: 21: Hoare triple {1592#(and (<= 6 main_~j~0) (<= main_~i~0 5))} assume !!(~i~0 <= ~n~0); {1592#(and (<= 6 main_~j~0) (<= main_~i~0 5))} is VALID [2018-11-23 13:02:48,922 INFO L273 TraceCheckUtils]: 22: Hoare triple {1592#(and (<= 6 main_~j~0) (<= main_~i~0 5))} assume !(~i~0 < ~j~0); {1511#false} is VALID [2018-11-23 13:02:48,923 INFO L273 TraceCheckUtils]: 23: Hoare triple {1511#false} #t~post2 := ~j~0;~j~0 := #t~post2 - 1;havoc #t~post2; {1511#false} is VALID [2018-11-23 13:02:48,923 INFO L273 TraceCheckUtils]: 24: Hoare triple {1511#false} #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; {1511#false} is VALID [2018-11-23 13:02:48,923 INFO L273 TraceCheckUtils]: 25: Hoare triple {1511#false} assume !(~i~0 <= ~n~0); {1511#false} is VALID [2018-11-23 13:02:48,923 INFO L256 TraceCheckUtils]: 26: Hoare triple {1511#false} call __VERIFIER_assert((if ~sn~0 == 2 * ~n~0 || 0 == ~sn~0 then 1 else 0)); {1511#false} is VALID [2018-11-23 13:02:48,924 INFO L273 TraceCheckUtils]: 27: Hoare triple {1511#false} ~cond := #in~cond; {1511#false} is VALID [2018-11-23 13:02:48,924 INFO L273 TraceCheckUtils]: 28: Hoare triple {1511#false} assume 0 == ~cond; {1511#false} is VALID [2018-11-23 13:02:48,924 INFO L273 TraceCheckUtils]: 29: Hoare triple {1511#false} assume !false; {1511#false} is VALID [2018-11-23 13:02:48,927 INFO L134 CoverageAnalysis]: Checked inductivity of 45 backedges. 13 proven. 32 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 13:02:48,954 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 13:02:48,954 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 20 [2018-11-23 13:02:48,954 INFO L78 Accepts]: Start accepts. Automaton has 20 states. Word has length 30 [2018-11-23 13:02:48,957 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:02:48,957 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 20 states. [2018-11-23 13:02:49,010 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:02:49,010 INFO L459 AbstractCegarLoop]: Interpolant automaton has 20 states [2018-11-23 13:02:49,011 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2018-11-23 13:02:49,011 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=154, Invalid=226, Unknown=0, NotChecked=0, Total=380 [2018-11-23 13:02:49,011 INFO L87 Difference]: Start difference. First operand 32 states and 34 transitions. Second operand 20 states. [2018-11-23 13:02:49,367 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:02:49,368 INFO L93 Difference]: Finished difference Result 47 states and 51 transitions. [2018-11-23 13:02:49,368 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2018-11-23 13:02:49,368 INFO L78 Accepts]: Start accepts. Automaton has 20 states. Word has length 30 [2018-11-23 13:02:49,369 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:02:49,369 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2018-11-23 13:02:49,371 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 46 transitions. [2018-11-23 13:02:49,371 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2018-11-23 13:02:49,372 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 46 transitions. [2018-11-23 13:02:49,372 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 46 transitions. [2018-11-23 13:02:49,422 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:02:49,424 INFO L225 Difference]: With dead ends: 47 [2018-11-23 13:02:49,424 INFO L226 Difference]: Without dead ends: 38 [2018-11-23 13:02:49,425 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 40 GetRequests, 22 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 144 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=154, Invalid=226, Unknown=0, NotChecked=0, Total=380 [2018-11-23 13:02:49,425 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2018-11-23 13:02:49,467 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 36. [2018-11-23 13:02:49,467 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:02:49,467 INFO L82 GeneralOperation]: Start isEquivalent. First operand 38 states. Second operand 36 states. [2018-11-23 13:02:49,467 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand 36 states. [2018-11-23 13:02:49,467 INFO L87 Difference]: Start difference. First operand 38 states. Second operand 36 states. [2018-11-23 13:02:49,470 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:02:49,470 INFO L93 Difference]: Finished difference Result 38 states and 40 transitions. [2018-11-23 13:02:49,470 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 40 transitions. [2018-11-23 13:02:49,471 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:02:49,471 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:02:49,471 INFO L74 IsIncluded]: Start isIncluded. First operand 36 states. Second operand 38 states. [2018-11-23 13:02:49,471 INFO L87 Difference]: Start difference. First operand 36 states. Second operand 38 states. [2018-11-23 13:02:49,472 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:02:49,472 INFO L93 Difference]: Finished difference Result 38 states and 40 transitions. [2018-11-23 13:02:49,472 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 40 transitions. [2018-11-23 13:02:49,473 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:02:49,473 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:02:49,473 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:02:49,473 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:02:49,473 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 36 states. [2018-11-23 13:02:49,474 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 38 transitions. [2018-11-23 13:02:49,474 INFO L78 Accepts]: Start accepts. Automaton has 36 states and 38 transitions. Word has length 30 [2018-11-23 13:02:49,475 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:02:49,475 INFO L480 AbstractCegarLoop]: Abstraction has 36 states and 38 transitions. [2018-11-23 13:02:49,475 INFO L481 AbstractCegarLoop]: Interpolant automaton has 20 states. [2018-11-23 13:02:49,475 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 38 transitions. [2018-11-23 13:02:49,475 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2018-11-23 13:02:49,476 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:02:49,476 INFO L402 BasicCegarLoop]: trace histogram [6, 6, 6, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:02:49,476 INFO L423 AbstractCegarLoop]: === Iteration 10 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:02:49,476 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:02:49,476 INFO L82 PathProgramCache]: Analyzing trace with hash -682200363, now seen corresponding path program 6 times [2018-11-23 13:02:49,477 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:02:49,477 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:02:49,477 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:02:49,478 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 13:02:49,478 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:02:49,502 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 13:02:49,522 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 13:02:49,560 INFO L469 BasicCegarLoop]: Counterexample might be feasible ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator [?] CALL call ULTIMATE.init(); [?] assume true; [?] RET #39#return; [?] CALL call #t~ret3 := main(); [?] havoc ~i~0;~j~0 := 10;~n~0 := (if #t~nondet0 % 4294967296 % 4294967296 <= 2147483647 then #t~nondet0 % 4294967296 % 4294967296 else #t~nondet0 % 4294967296 % 4294967296 - 4294967296);havoc #t~nondet0;~sn~0 := 0;~i~0 := 1; VAL [main_~i~0=1, main_~j~0=10, main_~n~0=6, main_~sn~0=0] [?] assume !!(~i~0 <= ~n~0); VAL [main_~i~0=1, main_~j~0=10, main_~n~0=6, main_~sn~0=0] [?] assume ~i~0 < ~j~0;~sn~0 := 2 + ~sn~0; VAL [main_~i~0=1, main_~j~0=10, main_~n~0=6, main_~sn~0=2] [?] #t~post2 := ~j~0;~j~0 := #t~post2 - 1;havoc #t~post2; VAL [main_~i~0=1, main_~j~0=9, main_~n~0=6, main_~sn~0=2] [?] #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; VAL [main_~i~0=2, main_~j~0=9, main_~n~0=6, main_~sn~0=2] [?] assume !!(~i~0 <= ~n~0); VAL [main_~i~0=2, main_~j~0=9, main_~n~0=6, main_~sn~0=2] [?] assume ~i~0 < ~j~0;~sn~0 := 2 + ~sn~0; VAL [main_~i~0=2, main_~j~0=9, main_~n~0=6, main_~sn~0=4] [?] #t~post2 := ~j~0;~j~0 := #t~post2 - 1;havoc #t~post2; VAL [main_~i~0=2, main_~j~0=8, main_~n~0=6, main_~sn~0=4] [?] #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; VAL [main_~i~0=3, main_~j~0=8, main_~n~0=6, main_~sn~0=4] [?] assume !!(~i~0 <= ~n~0); VAL [main_~i~0=3, main_~j~0=8, main_~n~0=6, main_~sn~0=4] [?] assume ~i~0 < ~j~0;~sn~0 := 2 + ~sn~0; VAL [main_~i~0=3, main_~j~0=8, main_~n~0=6, main_~sn~0=6] [?] #t~post2 := ~j~0;~j~0 := #t~post2 - 1;havoc #t~post2; VAL [main_~i~0=3, main_~j~0=7, main_~n~0=6, main_~sn~0=6] [?] #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; VAL [main_~i~0=4, main_~j~0=7, main_~n~0=6, main_~sn~0=6] [?] assume !!(~i~0 <= ~n~0); VAL [main_~i~0=4, main_~j~0=7, main_~n~0=6, main_~sn~0=6] [?] assume ~i~0 < ~j~0;~sn~0 := 2 + ~sn~0; VAL [main_~i~0=4, main_~j~0=7, main_~n~0=6, main_~sn~0=8] [?] #t~post2 := ~j~0;~j~0 := #t~post2 - 1;havoc #t~post2; VAL [main_~i~0=4, main_~j~0=6, main_~n~0=6, main_~sn~0=8] [?] #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; VAL [main_~i~0=5, main_~j~0=6, main_~n~0=6, main_~sn~0=8] [?] assume !!(~i~0 <= ~n~0); VAL [main_~i~0=5, main_~j~0=6, main_~n~0=6, main_~sn~0=8] [?] assume ~i~0 < ~j~0;~sn~0 := 2 + ~sn~0; VAL [main_~i~0=5, main_~j~0=6, main_~n~0=6, main_~sn~0=10] [?] #t~post2 := ~j~0;~j~0 := #t~post2 - 1;havoc #t~post2; VAL [main_~i~0=5, main_~j~0=5, main_~n~0=6, main_~sn~0=10] [?] #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; VAL [main_~i~0=6, main_~j~0=5, main_~n~0=6, main_~sn~0=10] [?] assume !!(~i~0 <= ~n~0); VAL [main_~i~0=6, main_~j~0=5, main_~n~0=6, main_~sn~0=10] [?] assume !(~i~0 < ~j~0); VAL [main_~i~0=6, main_~j~0=5, main_~n~0=6, main_~sn~0=10] [?] #t~post2 := ~j~0;~j~0 := #t~post2 - 1;havoc #t~post2; VAL [main_~i~0=6, main_~j~0=4, main_~n~0=6, main_~sn~0=10] [?] #t~post1 := ~i~0;~i~0 := 1 + #t~post1;havoc #t~post1; VAL [main_~i~0=7, main_~j~0=4, main_~n~0=6, main_~sn~0=10] [?] assume !(~i~0 <= ~n~0); VAL [main_~i~0=7, main_~j~0=4, main_~n~0=6, main_~sn~0=10] [?] CALL call __VERIFIER_assert((if ~sn~0 == 2 * ~n~0 || 0 == ~sn~0 then 1 else 0)); VAL [|__VERIFIER_assert_#in~cond|=0] [?] ~cond := #in~cond; VAL [__VERIFIER_assert_~cond=0, |__VERIFIER_assert_#in~cond|=0] [?] assume 0 == ~cond; VAL [__VERIFIER_assert_~cond=0, |__VERIFIER_assert_#in~cond|=0] [?] assume !false; VAL [__VERIFIER_assert_~cond=0, |__VERIFIER_assert_#in~cond|=0] [?] CALL call ULTIMATE.init(); [?] ensures true; [?] RET call ULTIMATE.init(); [?] CALL call #t~ret3 := main(); [L12] havoc ~i~0; [L12] ~j~0 := 10; [L12] ~n~0 := (if #t~nondet0 % 4294967296 % 4294967296 <= 2147483647 then #t~nondet0 % 4294967296 % 4294967296 else #t~nondet0 % 4294967296 % 4294967296 - 4294967296); [L12] havoc #t~nondet0; [L12] ~sn~0 := 0; [L13] ~i~0 := 1; VAL [~i~0=1, ~j~0=10, ~n~0=6, ~sn~0=0] [L13-L17] assume !!(~i~0 <= ~n~0); VAL [~i~0=1, ~j~0=10, ~n~0=6, ~sn~0=0] [L14-L15] assume ~i~0 < ~j~0; [L15] ~sn~0 := 2 + ~sn~0; VAL [~i~0=1, ~j~0=10, ~n~0=6, ~sn~0=2] [L16] #t~post2 := ~j~0; [L16] ~j~0 := #t~post2 - 1; [L16] havoc #t~post2; VAL [~i~0=1, ~j~0=9, ~n~0=6, ~sn~0=2] [L13] #t~post1 := ~i~0; [L13] ~i~0 := 1 + #t~post1; [L13] havoc #t~post1; VAL [~i~0=2, ~j~0=9, ~n~0=6, ~sn~0=2] [L13-L17] assume !!(~i~0 <= ~n~0); VAL [~i~0=2, ~j~0=9, ~n~0=6, ~sn~0=2] [L14-L15] assume ~i~0 < ~j~0; [L15] ~sn~0 := 2 + ~sn~0; VAL [~i~0=2, ~j~0=9, ~n~0=6, ~sn~0=4] [L16] #t~post2 := ~j~0; [L16] ~j~0 := #t~post2 - 1; [L16] havoc #t~post2; VAL [~i~0=2, ~j~0=8, ~n~0=6, ~sn~0=4] [L13] #t~post1 := ~i~0; [L13] ~i~0 := 1 + #t~post1; [L13] havoc #t~post1; VAL [~i~0=3, ~j~0=8, ~n~0=6, ~sn~0=4] [L13-L17] assume !!(~i~0 <= ~n~0); VAL [~i~0=3, ~j~0=8, ~n~0=6, ~sn~0=4] [L14-L15] assume ~i~0 < ~j~0; [L15] ~sn~0 := 2 + ~sn~0; VAL [~i~0=3, ~j~0=8, ~n~0=6, ~sn~0=6] [L16] #t~post2 := ~j~0; [L16] ~j~0 := #t~post2 - 1; [L16] havoc #t~post2; VAL [~i~0=3, ~j~0=7, ~n~0=6, ~sn~0=6] [L13] #t~post1 := ~i~0; [L13] ~i~0 := 1 + #t~post1; [L13] havoc #t~post1; VAL [~i~0=4, ~j~0=7, ~n~0=6, ~sn~0=6] [L13-L17] assume !!(~i~0 <= ~n~0); VAL [~i~0=4, ~j~0=7, ~n~0=6, ~sn~0=6] [L14-L15] assume ~i~0 < ~j~0; [L15] ~sn~0 := 2 + ~sn~0; VAL [~i~0=4, ~j~0=7, ~n~0=6, ~sn~0=8] [L16] #t~post2 := ~j~0; [L16] ~j~0 := #t~post2 - 1; [L16] havoc #t~post2; VAL [~i~0=4, ~j~0=6, ~n~0=6, ~sn~0=8] [L13] #t~post1 := ~i~0; [L13] ~i~0 := 1 + #t~post1; [L13] havoc #t~post1; VAL [~i~0=5, ~j~0=6, ~n~0=6, ~sn~0=8] [L13-L17] assume !!(~i~0 <= ~n~0); VAL [~i~0=5, ~j~0=6, ~n~0=6, ~sn~0=8] [L14-L15] assume ~i~0 < ~j~0; [L15] ~sn~0 := 2 + ~sn~0; VAL [~i~0=5, ~j~0=6, ~n~0=6, ~sn~0=10] [L16] #t~post2 := ~j~0; [L16] ~j~0 := #t~post2 - 1; [L16] havoc #t~post2; VAL [~i~0=5, ~j~0=5, ~n~0=6, ~sn~0=10] [L13] #t~post1 := ~i~0; [L13] ~i~0 := 1 + #t~post1; [L13] havoc #t~post1; VAL [~i~0=6, ~j~0=5, ~n~0=6, ~sn~0=10] [L13-L17] assume !!(~i~0 <= ~n~0); VAL [~i~0=6, ~j~0=5, ~n~0=6, ~sn~0=10] [L14-L15] assume !(~i~0 < ~j~0); VAL [~i~0=6, ~j~0=5, ~n~0=6, ~sn~0=10] [L16] #t~post2 := ~j~0; [L16] ~j~0 := #t~post2 - 1; [L16] havoc #t~post2; VAL [~i~0=6, ~j~0=4, ~n~0=6, ~sn~0=10] [L13] #t~post1 := ~i~0; [L13] ~i~0 := 1 + #t~post1; [L13] havoc #t~post1; VAL [~i~0=7, ~j~0=4, ~n~0=6, ~sn~0=10] [L13-L17] assume !(~i~0 <= ~n~0); VAL [~i~0=7, ~j~0=4, ~n~0=6, ~sn~0=10] [L18] CALL call __VERIFIER_assert((if ~sn~0 == 2 * ~n~0 || 0 == ~sn~0 then 1 else 0)); VAL [#in~cond=0] [L3-L8] ~cond := #in~cond; VAL [#in~cond=0, ~cond=0] [L4-L6] assume 0 == ~cond; VAL [#in~cond=0, ~cond=0] [L5] assert false; VAL [#in~cond=0, ~cond=0] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.preprocessor.BoogiePreprocessorBacktranslator [?] CALL call ULTIMATE.init(); [?] ensures true; [?] RET call ULTIMATE.init(); [?] CALL call #t~ret3 := main(); [L12] havoc ~i~0; [L12] ~j~0 := 10; [L12] ~n~0 := (if #t~nondet0 % 4294967296 % 4294967296 <= 2147483647 then #t~nondet0 % 4294967296 % 4294967296 else #t~nondet0 % 4294967296 % 4294967296 - 4294967296); [L12] havoc #t~nondet0; [L12] ~sn~0 := 0; [L13] ~i~0 := 1; VAL [~i~0=1, ~j~0=10, ~n~0=6, ~sn~0=0] [L13-L17] assume !!(~i~0 <= ~n~0); VAL [~i~0=1, ~j~0=10, ~n~0=6, ~sn~0=0] [L14-L15] assume ~i~0 < ~j~0; [L15] ~sn~0 := 2 + ~sn~0; VAL [~i~0=1, ~j~0=10, ~n~0=6, ~sn~0=2] [L16] #t~post2 := ~j~0; [L16] ~j~0 := #t~post2 - 1; [L16] havoc #t~post2; VAL [~i~0=1, ~j~0=9, ~n~0=6, ~sn~0=2] [L13] #t~post1 := ~i~0; [L13] ~i~0 := 1 + #t~post1; [L13] havoc #t~post1; VAL [~i~0=2, ~j~0=9, ~n~0=6, ~sn~0=2] [L13-L17] assume !!(~i~0 <= ~n~0); VAL [~i~0=2, ~j~0=9, ~n~0=6, ~sn~0=2] [L14-L15] assume ~i~0 < ~j~0; [L15] ~sn~0 := 2 + ~sn~0; VAL [~i~0=2, ~j~0=9, ~n~0=6, ~sn~0=4] [L16] #t~post2 := ~j~0; [L16] ~j~0 := #t~post2 - 1; [L16] havoc #t~post2; VAL [~i~0=2, ~j~0=8, ~n~0=6, ~sn~0=4] [L13] #t~post1 := ~i~0; [L13] ~i~0 := 1 + #t~post1; [L13] havoc #t~post1; VAL [~i~0=3, ~j~0=8, ~n~0=6, ~sn~0=4] [L13-L17] assume !!(~i~0 <= ~n~0); VAL [~i~0=3, ~j~0=8, ~n~0=6, ~sn~0=4] [L14-L15] assume ~i~0 < ~j~0; [L15] ~sn~0 := 2 + ~sn~0; VAL [~i~0=3, ~j~0=8, ~n~0=6, ~sn~0=6] [L16] #t~post2 := ~j~0; [L16] ~j~0 := #t~post2 - 1; [L16] havoc #t~post2; VAL [~i~0=3, ~j~0=7, ~n~0=6, ~sn~0=6] [L13] #t~post1 := ~i~0; [L13] ~i~0 := 1 + #t~post1; [L13] havoc #t~post1; VAL [~i~0=4, ~j~0=7, ~n~0=6, ~sn~0=6] [L13-L17] assume !!(~i~0 <= ~n~0); VAL [~i~0=4, ~j~0=7, ~n~0=6, ~sn~0=6] [L14-L15] assume ~i~0 < ~j~0; [L15] ~sn~0 := 2 + ~sn~0; VAL [~i~0=4, ~j~0=7, ~n~0=6, ~sn~0=8] [L16] #t~post2 := ~j~0; [L16] ~j~0 := #t~post2 - 1; [L16] havoc #t~post2; VAL [~i~0=4, ~j~0=6, ~n~0=6, ~sn~0=8] [L13] #t~post1 := ~i~0; [L13] ~i~0 := 1 + #t~post1; [L13] havoc #t~post1; VAL [~i~0=5, ~j~0=6, ~n~0=6, ~sn~0=8] [L13-L17] assume !!(~i~0 <= ~n~0); VAL [~i~0=5, ~j~0=6, ~n~0=6, ~sn~0=8] [L14-L15] assume ~i~0 < ~j~0; [L15] ~sn~0 := 2 + ~sn~0; VAL [~i~0=5, ~j~0=6, ~n~0=6, ~sn~0=10] [L16] #t~post2 := ~j~0; [L16] ~j~0 := #t~post2 - 1; [L16] havoc #t~post2; VAL [~i~0=5, ~j~0=5, ~n~0=6, ~sn~0=10] [L13] #t~post1 := ~i~0; [L13] ~i~0 := 1 + #t~post1; [L13] havoc #t~post1; VAL [~i~0=6, ~j~0=5, ~n~0=6, ~sn~0=10] [L13-L17] assume !!(~i~0 <= ~n~0); VAL [~i~0=6, ~j~0=5, ~n~0=6, ~sn~0=10] [L14-L15] assume !(~i~0 < ~j~0); VAL [~i~0=6, ~j~0=5, ~n~0=6, ~sn~0=10] [L16] #t~post2 := ~j~0; [L16] ~j~0 := #t~post2 - 1; [L16] havoc #t~post2; VAL [~i~0=6, ~j~0=4, ~n~0=6, ~sn~0=10] [L13] #t~post1 := ~i~0; [L13] ~i~0 := 1 + #t~post1; [L13] havoc #t~post1; VAL [~i~0=7, ~j~0=4, ~n~0=6, ~sn~0=10] [L13-L17] assume !(~i~0 <= ~n~0); VAL [~i~0=7, ~j~0=4, ~n~0=6, ~sn~0=10] [L18] CALL call __VERIFIER_assert((if ~sn~0 == 2 * ~n~0 || 0 == ~sn~0 then 1 else 0)); VAL [#in~cond=0] [L3-L8] ~cond := #in~cond; VAL [#in~cond=0, ~cond=0] [L4-L6] assume 0 == ~cond; VAL [#in~cond=0, ~cond=0] [L5] assert false; VAL [#in~cond=0, ~cond=0] [?] CALL call ULTIMATE.init(); [?] RET call ULTIMATE.init(); [?] CALL call #t~ret3 := main(); [L12] havoc ~i~0; [L12] ~j~0 := 10; [L12] ~n~0 := (if #t~nondet0 % 4294967296 % 4294967296 <= 2147483647 then #t~nondet0 % 4294967296 % 4294967296 else #t~nondet0 % 4294967296 % 4294967296 - 4294967296); [L12] havoc #t~nondet0; [L12] ~sn~0 := 0; [L13] ~i~0 := 1; VAL [~i~0=1, ~j~0=10, ~n~0=6, ~sn~0=0] [L13-L17] COND FALSE !(!(~i~0 <= ~n~0)) VAL [~i~0=1, ~j~0=10, ~n~0=6, ~sn~0=0] [L14] COND TRUE ~i~0 < ~j~0 [L15] ~sn~0 := 2 + ~sn~0; VAL [~i~0=1, ~j~0=10, ~n~0=6, ~sn~0=2] [L16] #t~post2 := ~j~0; [L16] ~j~0 := #t~post2 - 1; [L16] havoc #t~post2; VAL [~i~0=1, ~j~0=9, ~n~0=6, ~sn~0=2] [L13] #t~post1 := ~i~0; [L13] ~i~0 := 1 + #t~post1; [L13] havoc #t~post1; VAL [~i~0=2, ~j~0=9, ~n~0=6, ~sn~0=2] [L13-L17] COND FALSE !(!(~i~0 <= ~n~0)) VAL [~i~0=2, ~j~0=9, ~n~0=6, ~sn~0=2] [L14] COND TRUE ~i~0 < ~j~0 [L15] ~sn~0 := 2 + ~sn~0; VAL [~i~0=2, ~j~0=9, ~n~0=6, ~sn~0=4] [L16] #t~post2 := ~j~0; [L16] ~j~0 := #t~post2 - 1; [L16] havoc #t~post2; VAL [~i~0=2, ~j~0=8, ~n~0=6, ~sn~0=4] [L13] #t~post1 := ~i~0; [L13] ~i~0 := 1 + #t~post1; [L13] havoc #t~post1; VAL [~i~0=3, ~j~0=8, ~n~0=6, ~sn~0=4] [L13-L17] COND FALSE !(!(~i~0 <= ~n~0)) VAL [~i~0=3, ~j~0=8, ~n~0=6, ~sn~0=4] [L14] COND TRUE ~i~0 < ~j~0 [L15] ~sn~0 := 2 + ~sn~0; VAL [~i~0=3, ~j~0=8, ~n~0=6, ~sn~0=6] [L16] #t~post2 := ~j~0; [L16] ~j~0 := #t~post2 - 1; [L16] havoc #t~post2; VAL [~i~0=3, ~j~0=7, ~n~0=6, ~sn~0=6] [L13] #t~post1 := ~i~0; [L13] ~i~0 := 1 + #t~post1; [L13] havoc #t~post1; VAL [~i~0=4, ~j~0=7, ~n~0=6, ~sn~0=6] [L13-L17] COND FALSE !(!(~i~0 <= ~n~0)) VAL [~i~0=4, ~j~0=7, ~n~0=6, ~sn~0=6] [L14] COND TRUE ~i~0 < ~j~0 [L15] ~sn~0 := 2 + ~sn~0; VAL [~i~0=4, ~j~0=7, ~n~0=6, ~sn~0=8] [L16] #t~post2 := ~j~0; [L16] ~j~0 := #t~post2 - 1; [L16] havoc #t~post2; VAL [~i~0=4, ~j~0=6, ~n~0=6, ~sn~0=8] [L13] #t~post1 := ~i~0; [L13] ~i~0 := 1 + #t~post1; [L13] havoc #t~post1; VAL [~i~0=5, ~j~0=6, ~n~0=6, ~sn~0=8] [L13-L17] COND FALSE !(!(~i~0 <= ~n~0)) VAL [~i~0=5, ~j~0=6, ~n~0=6, ~sn~0=8] [L14] COND TRUE ~i~0 < ~j~0 [L15] ~sn~0 := 2 + ~sn~0; VAL [~i~0=5, ~j~0=6, ~n~0=6, ~sn~0=10] [L16] #t~post2 := ~j~0; [L16] ~j~0 := #t~post2 - 1; [L16] havoc #t~post2; VAL [~i~0=5, ~j~0=5, ~n~0=6, ~sn~0=10] [L13] #t~post1 := ~i~0; [L13] ~i~0 := 1 + #t~post1; [L13] havoc #t~post1; VAL [~i~0=6, ~j~0=5, ~n~0=6, ~sn~0=10] [L13-L17] COND FALSE !(!(~i~0 <= ~n~0)) VAL [~i~0=6, ~j~0=5, ~n~0=6, ~sn~0=10] [L14] COND FALSE !(~i~0 < ~j~0) VAL [~i~0=6, ~j~0=5, ~n~0=6, ~sn~0=10] [L16] #t~post2 := ~j~0; [L16] ~j~0 := #t~post2 - 1; [L16] havoc #t~post2; VAL [~i~0=6, ~j~0=4, ~n~0=6, ~sn~0=10] [L13] #t~post1 := ~i~0; [L13] ~i~0 := 1 + #t~post1; [L13] havoc #t~post1; VAL [~i~0=7, ~j~0=4, ~n~0=6, ~sn~0=10] [L13-L17] COND TRUE !(~i~0 <= ~n~0) VAL [~i~0=7, ~j~0=4, ~n~0=6, ~sn~0=10] [L18] CALL call __VERIFIER_assert((if ~sn~0 == 2 * ~n~0 || 0 == ~sn~0 then 1 else 0)); VAL [#in~cond=0] [L3-L8] ~cond := #in~cond; VAL [#in~cond=0, ~cond=0] [L4] COND TRUE 0 == ~cond VAL [#in~cond=0, ~cond=0] [L5] assert false; VAL [#in~cond=0, ~cond=0] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator [?] CALL call ULTIMATE.init(); [?] RET call ULTIMATE.init(); [?] CALL call #t~ret3 := main(); [L12] havoc ~i~0; [L12] ~j~0 := 10; [L12] ~n~0 := (if #t~nondet0 % 4294967296 % 4294967296 <= 2147483647 then #t~nondet0 % 4294967296 % 4294967296 else #t~nondet0 % 4294967296 % 4294967296 - 4294967296); [L12] havoc #t~nondet0; [L12] ~sn~0 := 0; [L13] ~i~0 := 1; VAL [~i~0=1, ~j~0=10, ~n~0=6, ~sn~0=0] [L13-L17] COND FALSE !(!(~i~0 <= ~n~0)) VAL [~i~0=1, ~j~0=10, ~n~0=6, ~sn~0=0] [L14] COND TRUE ~i~0 < ~j~0 [L15] ~sn~0 := 2 + ~sn~0; VAL [~i~0=1, ~j~0=10, ~n~0=6, ~sn~0=2] [L16] #t~post2 := ~j~0; [L16] ~j~0 := #t~post2 - 1; [L16] havoc #t~post2; VAL [~i~0=1, ~j~0=9, ~n~0=6, ~sn~0=2] [L13] #t~post1 := ~i~0; [L13] ~i~0 := 1 + #t~post1; [L13] havoc #t~post1; VAL [~i~0=2, ~j~0=9, ~n~0=6, ~sn~0=2] [L13-L17] COND FALSE !(!(~i~0 <= ~n~0)) VAL [~i~0=2, ~j~0=9, ~n~0=6, ~sn~0=2] [L14] COND TRUE ~i~0 < ~j~0 [L15] ~sn~0 := 2 + ~sn~0; VAL [~i~0=2, ~j~0=9, ~n~0=6, ~sn~0=4] [L16] #t~post2 := ~j~0; [L16] ~j~0 := #t~post2 - 1; [L16] havoc #t~post2; VAL [~i~0=2, ~j~0=8, ~n~0=6, ~sn~0=4] [L13] #t~post1 := ~i~0; [L13] ~i~0 := 1 + #t~post1; [L13] havoc #t~post1; VAL [~i~0=3, ~j~0=8, ~n~0=6, ~sn~0=4] [L13-L17] COND FALSE !(!(~i~0 <= ~n~0)) VAL [~i~0=3, ~j~0=8, ~n~0=6, ~sn~0=4] [L14] COND TRUE ~i~0 < ~j~0 [L15] ~sn~0 := 2 + ~sn~0; VAL [~i~0=3, ~j~0=8, ~n~0=6, ~sn~0=6] [L16] #t~post2 := ~j~0; [L16] ~j~0 := #t~post2 - 1; [L16] havoc #t~post2; VAL [~i~0=3, ~j~0=7, ~n~0=6, ~sn~0=6] [L13] #t~post1 := ~i~0; [L13] ~i~0 := 1 + #t~post1; [L13] havoc #t~post1; VAL [~i~0=4, ~j~0=7, ~n~0=6, ~sn~0=6] [L13-L17] COND FALSE !(!(~i~0 <= ~n~0)) VAL [~i~0=4, ~j~0=7, ~n~0=6, ~sn~0=6] [L14] COND TRUE ~i~0 < ~j~0 [L15] ~sn~0 := 2 + ~sn~0; VAL [~i~0=4, ~j~0=7, ~n~0=6, ~sn~0=8] [L16] #t~post2 := ~j~0; [L16] ~j~0 := #t~post2 - 1; [L16] havoc #t~post2; VAL [~i~0=4, ~j~0=6, ~n~0=6, ~sn~0=8] [L13] #t~post1 := ~i~0; [L13] ~i~0 := 1 + #t~post1; [L13] havoc #t~post1; VAL [~i~0=5, ~j~0=6, ~n~0=6, ~sn~0=8] [L13-L17] COND FALSE !(!(~i~0 <= ~n~0)) VAL [~i~0=5, ~j~0=6, ~n~0=6, ~sn~0=8] [L14] COND TRUE ~i~0 < ~j~0 [L15] ~sn~0 := 2 + ~sn~0; VAL [~i~0=5, ~j~0=6, ~n~0=6, ~sn~0=10] [L16] #t~post2 := ~j~0; [L16] ~j~0 := #t~post2 - 1; [L16] havoc #t~post2; VAL [~i~0=5, ~j~0=5, ~n~0=6, ~sn~0=10] [L13] #t~post1 := ~i~0; [L13] ~i~0 := 1 + #t~post1; [L13] havoc #t~post1; VAL [~i~0=6, ~j~0=5, ~n~0=6, ~sn~0=10] [L13-L17] COND FALSE !(!(~i~0 <= ~n~0)) VAL [~i~0=6, ~j~0=5, ~n~0=6, ~sn~0=10] [L14] COND FALSE !(~i~0 < ~j~0) VAL [~i~0=6, ~j~0=5, ~n~0=6, ~sn~0=10] [L16] #t~post2 := ~j~0; [L16] ~j~0 := #t~post2 - 1; [L16] havoc #t~post2; VAL [~i~0=6, ~j~0=4, ~n~0=6, ~sn~0=10] [L13] #t~post1 := ~i~0; [L13] ~i~0 := 1 + #t~post1; [L13] havoc #t~post1; VAL [~i~0=7, ~j~0=4, ~n~0=6, ~sn~0=10] [L13-L17] COND TRUE !(~i~0 <= ~n~0) VAL [~i~0=7, ~j~0=4, ~n~0=6, ~sn~0=10] [L18] CALL call __VERIFIER_assert((if ~sn~0 == 2 * ~n~0 || 0 == ~sn~0 then 1 else 0)); VAL [#in~cond=0] [L3-L8] ~cond := #in~cond; VAL [#in~cond=0, ~cond=0] [L4] COND TRUE 0 == ~cond VAL [#in~cond=0, ~cond=0] [L5] assert false; VAL [#in~cond=0, ~cond=0] [?] CALL call ULTIMATE.init(); [?] RET call ULTIMATE.init(); [?] CALL call #t~ret3 := main(); [L12] havoc ~i~0; [L12] ~j~0 := 10; [L12] ~n~0 := (if #t~nondet0 % 4294967296 % 4294967296 <= 2147483647 then #t~nondet0 % 4294967296 % 4294967296 else #t~nondet0 % 4294967296 % 4294967296 - 4294967296); [L12] havoc #t~nondet0; [L12] ~sn~0 := 0; [L13] ~i~0 := 1; VAL [~i~0=1, ~j~0=10, ~n~0=6, ~sn~0=0] [L13-L17] COND FALSE !(!(~i~0 <= ~n~0)) VAL [~i~0=1, ~j~0=10, ~n~0=6, ~sn~0=0] [L14] COND TRUE ~i~0 < ~j~0 [L15] ~sn~0 := 2 + ~sn~0; VAL [~i~0=1, ~j~0=10, ~n~0=6, ~sn~0=2] [L16] #t~post2 := ~j~0; [L16] ~j~0 := #t~post2 - 1; [L16] havoc #t~post2; VAL [~i~0=1, ~j~0=9, ~n~0=6, ~sn~0=2] [L13] #t~post1 := ~i~0; [L13] ~i~0 := 1 + #t~post1; [L13] havoc #t~post1; VAL [~i~0=2, ~j~0=9, ~n~0=6, ~sn~0=2] [L13-L17] COND FALSE !(!(~i~0 <= ~n~0)) VAL [~i~0=2, ~j~0=9, ~n~0=6, ~sn~0=2] [L14] COND TRUE ~i~0 < ~j~0 [L15] ~sn~0 := 2 + ~sn~0; VAL [~i~0=2, ~j~0=9, ~n~0=6, ~sn~0=4] [L16] #t~post2 := ~j~0; [L16] ~j~0 := #t~post2 - 1; [L16] havoc #t~post2; VAL [~i~0=2, ~j~0=8, ~n~0=6, ~sn~0=4] [L13] #t~post1 := ~i~0; [L13] ~i~0 := 1 + #t~post1; [L13] havoc #t~post1; VAL [~i~0=3, ~j~0=8, ~n~0=6, ~sn~0=4] [L13-L17] COND FALSE !(!(~i~0 <= ~n~0)) VAL [~i~0=3, ~j~0=8, ~n~0=6, ~sn~0=4] [L14] COND TRUE ~i~0 < ~j~0 [L15] ~sn~0 := 2 + ~sn~0; VAL [~i~0=3, ~j~0=8, ~n~0=6, ~sn~0=6] [L16] #t~post2 := ~j~0; [L16] ~j~0 := #t~post2 - 1; [L16] havoc #t~post2; VAL [~i~0=3, ~j~0=7, ~n~0=6, ~sn~0=6] [L13] #t~post1 := ~i~0; [L13] ~i~0 := 1 + #t~post1; [L13] havoc #t~post1; VAL [~i~0=4, ~j~0=7, ~n~0=6, ~sn~0=6] [L13-L17] COND FALSE !(!(~i~0 <= ~n~0)) VAL [~i~0=4, ~j~0=7, ~n~0=6, ~sn~0=6] [L14] COND TRUE ~i~0 < ~j~0 [L15] ~sn~0 := 2 + ~sn~0; VAL [~i~0=4, ~j~0=7, ~n~0=6, ~sn~0=8] [L16] #t~post2 := ~j~0; [L16] ~j~0 := #t~post2 - 1; [L16] havoc #t~post2; VAL [~i~0=4, ~j~0=6, ~n~0=6, ~sn~0=8] [L13] #t~post1 := ~i~0; [L13] ~i~0 := 1 + #t~post1; [L13] havoc #t~post1; VAL [~i~0=5, ~j~0=6, ~n~0=6, ~sn~0=8] [L13-L17] COND FALSE !(!(~i~0 <= ~n~0)) VAL [~i~0=5, ~j~0=6, ~n~0=6, ~sn~0=8] [L14] COND TRUE ~i~0 < ~j~0 [L15] ~sn~0 := 2 + ~sn~0; VAL [~i~0=5, ~j~0=6, ~n~0=6, ~sn~0=10] [L16] #t~post2 := ~j~0; [L16] ~j~0 := #t~post2 - 1; [L16] havoc #t~post2; VAL [~i~0=5, ~j~0=5, ~n~0=6, ~sn~0=10] [L13] #t~post1 := ~i~0; [L13] ~i~0 := 1 + #t~post1; [L13] havoc #t~post1; VAL [~i~0=6, ~j~0=5, ~n~0=6, ~sn~0=10] [L13-L17] COND FALSE !(!(~i~0 <= ~n~0)) VAL [~i~0=6, ~j~0=5, ~n~0=6, ~sn~0=10] [L14] COND FALSE !(~i~0 < ~j~0) VAL [~i~0=6, ~j~0=5, ~n~0=6, ~sn~0=10] [L16] #t~post2 := ~j~0; [L16] ~j~0 := #t~post2 - 1; [L16] havoc #t~post2; VAL [~i~0=6, ~j~0=4, ~n~0=6, ~sn~0=10] [L13] #t~post1 := ~i~0; [L13] ~i~0 := 1 + #t~post1; [L13] havoc #t~post1; VAL [~i~0=7, ~j~0=4, ~n~0=6, ~sn~0=10] [L13-L17] COND TRUE !(~i~0 <= ~n~0) VAL [~i~0=7, ~j~0=4, ~n~0=6, ~sn~0=10] [L18] CALL call __VERIFIER_assert((if ~sn~0 == 2 * ~n~0 || 0 == ~sn~0 then 1 else 0)); VAL [#in~cond=0] [L3-L8] ~cond := #in~cond; VAL [#in~cond=0, ~cond=0] [L4] COND TRUE 0 == ~cond VAL [#in~cond=0, ~cond=0] [L5] assert false; VAL [#in~cond=0, ~cond=0] ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieBacktranslator [?] CALL call ULTIMATE.init(); [?] RET call ULTIMATE.init(); [?] CALL call #t~ret3 := main(); [L12] havoc ~i~0; [L12] ~j~0 := 10; [L12] ~n~0 := (if #t~nondet0 % 4294967296 % 4294967296 <= 2147483647 then #t~nondet0 % 4294967296 % 4294967296 else #t~nondet0 % 4294967296 % 4294967296 - 4294967296); [L12] havoc #t~nondet0; [L12] ~sn~0 := 0; [L13] ~i~0 := 1; VAL [~i~0=1, ~j~0=10, ~n~0=6, ~sn~0=0] [L13-L17] COND FALSE !(!(~i~0 <= ~n~0)) VAL [~i~0=1, ~j~0=10, ~n~0=6, ~sn~0=0] [L14] COND TRUE ~i~0 < ~j~0 [L15] ~sn~0 := 2 + ~sn~0; VAL [~i~0=1, ~j~0=10, ~n~0=6, ~sn~0=2] [L16] #t~post2 := ~j~0; [L16] ~j~0 := #t~post2 - 1; [L16] havoc #t~post2; VAL [~i~0=1, ~j~0=9, ~n~0=6, ~sn~0=2] [L13] #t~post1 := ~i~0; [L13] ~i~0 := 1 + #t~post1; [L13] havoc #t~post1; VAL [~i~0=2, ~j~0=9, ~n~0=6, ~sn~0=2] [L13-L17] COND FALSE !(!(~i~0 <= ~n~0)) VAL [~i~0=2, ~j~0=9, ~n~0=6, ~sn~0=2] [L14] COND TRUE ~i~0 < ~j~0 [L15] ~sn~0 := 2 + ~sn~0; VAL [~i~0=2, ~j~0=9, ~n~0=6, ~sn~0=4] [L16] #t~post2 := ~j~0; [L16] ~j~0 := #t~post2 - 1; [L16] havoc #t~post2; VAL [~i~0=2, ~j~0=8, ~n~0=6, ~sn~0=4] [L13] #t~post1 := ~i~0; [L13] ~i~0 := 1 + #t~post1; [L13] havoc #t~post1; VAL [~i~0=3, ~j~0=8, ~n~0=6, ~sn~0=4] [L13-L17] COND FALSE !(!(~i~0 <= ~n~0)) VAL [~i~0=3, ~j~0=8, ~n~0=6, ~sn~0=4] [L14] COND TRUE ~i~0 < ~j~0 [L15] ~sn~0 := 2 + ~sn~0; VAL [~i~0=3, ~j~0=8, ~n~0=6, ~sn~0=6] [L16] #t~post2 := ~j~0; [L16] ~j~0 := #t~post2 - 1; [L16] havoc #t~post2; VAL [~i~0=3, ~j~0=7, ~n~0=6, ~sn~0=6] [L13] #t~post1 := ~i~0; [L13] ~i~0 := 1 + #t~post1; [L13] havoc #t~post1; VAL [~i~0=4, ~j~0=7, ~n~0=6, ~sn~0=6] [L13-L17] COND FALSE !(!(~i~0 <= ~n~0)) VAL [~i~0=4, ~j~0=7, ~n~0=6, ~sn~0=6] [L14] COND TRUE ~i~0 < ~j~0 [L15] ~sn~0 := 2 + ~sn~0; VAL [~i~0=4, ~j~0=7, ~n~0=6, ~sn~0=8] [L16] #t~post2 := ~j~0; [L16] ~j~0 := #t~post2 - 1; [L16] havoc #t~post2; VAL [~i~0=4, ~j~0=6, ~n~0=6, ~sn~0=8] [L13] #t~post1 := ~i~0; [L13] ~i~0 := 1 + #t~post1; [L13] havoc #t~post1; VAL [~i~0=5, ~j~0=6, ~n~0=6, ~sn~0=8] [L13-L17] COND FALSE !(!(~i~0 <= ~n~0)) VAL [~i~0=5, ~j~0=6, ~n~0=6, ~sn~0=8] [L14] COND TRUE ~i~0 < ~j~0 [L15] ~sn~0 := 2 + ~sn~0; VAL [~i~0=5, ~j~0=6, ~n~0=6, ~sn~0=10] [L16] #t~post2 := ~j~0; [L16] ~j~0 := #t~post2 - 1; [L16] havoc #t~post2; VAL [~i~0=5, ~j~0=5, ~n~0=6, ~sn~0=10] [L13] #t~post1 := ~i~0; [L13] ~i~0 := 1 + #t~post1; [L13] havoc #t~post1; VAL [~i~0=6, ~j~0=5, ~n~0=6, ~sn~0=10] [L13-L17] COND FALSE !(!(~i~0 <= ~n~0)) VAL [~i~0=6, ~j~0=5, ~n~0=6, ~sn~0=10] [L14] COND FALSE !(~i~0 < ~j~0) VAL [~i~0=6, ~j~0=5, ~n~0=6, ~sn~0=10] [L16] #t~post2 := ~j~0; [L16] ~j~0 := #t~post2 - 1; [L16] havoc #t~post2; VAL [~i~0=6, ~j~0=4, ~n~0=6, ~sn~0=10] [L13] #t~post1 := ~i~0; [L13] ~i~0 := 1 + #t~post1; [L13] havoc #t~post1; VAL [~i~0=7, ~j~0=4, ~n~0=6, ~sn~0=10] [L13-L17] COND TRUE !(~i~0 <= ~n~0) VAL [~i~0=7, ~j~0=4, ~n~0=6, ~sn~0=10] [L18] CALL call __VERIFIER_assert((if ~sn~0 == 2 * ~n~0 || 0 == ~sn~0 then 1 else 0)); VAL [#in~cond=0] [L3-L8] ~cond := #in~cond; VAL [#in~cond=0, ~cond=0] [L4] COND TRUE 0 == ~cond VAL [#in~cond=0, ~cond=0] [L5] assert false; VAL [#in~cond=0, ~cond=0] [L12] int i, j=10, n=__VERIFIER_nondet_uint(), sn=0; [L12] int i, j=10, n=__VERIFIER_nondet_uint(), sn=0; [L13] i=1 VAL [i=1, j=10, n=0, n=6] [L13] COND TRUE i<=n VAL [i=1, j=10, n=0, n=6] [L14] COND TRUE i