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/eureka_01_false-unreach-call_true-termination.i -------------------------------------------------------------------------------- This is Ultimate 0.1.23-61f4311 [2018-11-23 13:01:30,189 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 13:01:30,191 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 13:01:30,208 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 13:01:30,208 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 13:01:30,209 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 13:01:30,211 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 13:01:30,213 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 13:01:30,216 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 13:01:30,217 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 13:01:30,219 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 13:01:30,220 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 13:01:30,221 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 13:01:30,223 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 13:01:30,224 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 13:01:30,224 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 13:01:30,225 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 13:01:30,227 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 13:01:30,229 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 13:01:30,231 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 13:01:30,232 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 13:01:30,234 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 13:01:30,236 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 13:01:30,236 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 13:01:30,236 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 13:01:30,238 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 13:01:30,239 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 13:01:30,239 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 13:01:30,240 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 13:01:30,241 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 13:01:30,242 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 13:01:30,242 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 13:01:30,243 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 13:01:30,243 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 13:01:30,244 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 13:01:30,244 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 13:01:30,245 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:01:30,273 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 13:01:30,273 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 13:01:30,274 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 13:01:30,274 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 13:01:30,278 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 13:01:30,278 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 13:01:30,278 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 13:01:30,279 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 13:01:30,279 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 13:01:30,279 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 13:01:30,279 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 13:01:30,279 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 13:01:30,281 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 13:01:30,281 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 13:01:30,281 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 13:01:30,281 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 13:01:30,281 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 13:01:30,282 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 13:01:30,282 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 13:01:30,282 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 13:01:30,282 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 13:01:30,284 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 13:01:30,284 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 13:01:30,284 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 13:01:30,285 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 13:01:30,285 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 13:01:30,285 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 13:01:30,285 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-23 13:01:30,285 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 13:01:30,286 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-23 13:01:30,286 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-23 13:01:30,349 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 13:01:30,368 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 13:01:30,374 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 13:01:30,375 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 13:01:30,376 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 13:01:30,376 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/loops/eureka_01_false-unreach-call_true-termination.i [2018-11-23 13:01:30,448 INFO L221 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/d8b5dc9b5/e3880e6b5e944aefb0df9bebe43030b3/FLAG0ddb185e5 [2018-11-23 13:01:30,887 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 13:01:30,888 INFO L161 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/loops/eureka_01_false-unreach-call_true-termination.i [2018-11-23 13:01:30,899 INFO L355 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/d8b5dc9b5/e3880e6b5e944aefb0df9bebe43030b3/FLAG0ddb185e5 [2018-11-23 13:01:31,262 INFO L363 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/d8b5dc9b5/e3880e6b5e944aefb0df9bebe43030b3 [2018-11-23 13:01:31,271 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 13:01:31,273 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 13:01:31,274 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 13:01:31,274 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 13:01:31,278 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 13:01:31,280 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 01:01:31" (1/1) ... [2018-11-23 13:01:31,283 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@eca8b9a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:01:31, skipping insertion in model container [2018-11-23 13:01:31,283 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 01:01:31" (1/1) ... [2018-11-23 13:01:31,294 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 13:01:31,322 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 13:01:31,605 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 13:01:31,613 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 13:01:31,705 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 13:01:31,728 INFO L195 MainTranslator]: Completed translation [2018-11-23 13:01:31,728 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:01:31 WrapperNode [2018-11-23 13:01:31,729 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 13:01:31,729 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 13:01:31,730 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 13:01:31,730 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 13:01:31,739 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:01:31" (1/1) ... [2018-11-23 13:01:31,751 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:01:31" (1/1) ... [2018-11-23 13:01:31,761 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 13:01:31,761 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 13:01:31,762 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 13:01:31,762 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 13:01:31,772 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:01:31" (1/1) ... [2018-11-23 13:01:31,772 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:01:31" (1/1) ... [2018-11-23 13:01:31,776 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:01:31" (1/1) ... [2018-11-23 13:01:31,776 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:01:31" (1/1) ... [2018-11-23 13:01:31,806 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:01:31" (1/1) ... [2018-11-23 13:01:31,815 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:01:31" (1/1) ... [2018-11-23 13:01:31,818 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:01:31" (1/1) ... [2018-11-23 13:01:31,821 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 13:01:31,822 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 13:01:31,822 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 13:01:31,822 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 13:01:31,825 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:01:31" (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:01:31,951 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-23 13:01:31,952 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 13:01:31,952 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 13:01:31,952 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 13:01:31,952 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 13:01:31,952 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 13:01:31,952 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-23 13:01:31,953 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2018-11-23 13:01:31,953 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 13:01:31,953 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 13:01:31,953 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2018-11-23 13:01:31,953 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2018-11-23 13:01:31,953 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 13:01:33,039 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 13:01:33,040 INFO L280 CfgBuilder]: Removed 5 assue(true) statements. [2018-11-23 13:01:33,040 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 01:01:33 BoogieIcfgContainer [2018-11-23 13:01:33,041 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 13:01:33,042 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 13:01:33,042 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 13:01:33,045 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 13:01:33,046 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 01:01:31" (1/3) ... [2018-11-23 13:01:33,046 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@40fc3efd and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 01:01:33, skipping insertion in model container [2018-11-23 13:01:33,047 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:01:31" (2/3) ... [2018-11-23 13:01:33,047 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@40fc3efd and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 01:01:33, skipping insertion in model container [2018-11-23 13:01:33,047 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 01:01:33" (3/3) ... [2018-11-23 13:01:33,049 INFO L112 eAbstractionObserver]: Analyzing ICFG eureka_01_false-unreach-call_true-termination.i [2018-11-23 13:01:33,060 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 13:01:33,069 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 13:01:33,088 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 13:01:33,121 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 13:01:33,122 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 13:01:33,122 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 13:01:33,122 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 13:01:33,122 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 13:01:33,123 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 13:01:33,123 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 13:01:33,123 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 13:01:33,123 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 13:01:33,143 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states. [2018-11-23 13:01:33,150 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2018-11-23 13:01:33,150 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:01:33,151 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:01:33,153 INFO L423 AbstractCegarLoop]: === Iteration 1 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:01:33,159 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:01:33,160 INFO L82 PathProgramCache]: Analyzing trace with hash -539958144, now seen corresponding path program 1 times [2018-11-23 13:01:33,161 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:01:33,162 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:01:33,213 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:01:33,214 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 13:01:33,214 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:01:33,309 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:01:33,548 INFO L256 TraceCheckUtils]: 0: Hoare triple {40#true} call ULTIMATE.init(); {40#true} is VALID [2018-11-23 13:01:33,551 INFO L273 TraceCheckUtils]: 1: Hoare triple {40#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~INFINITY~0 := 899; {40#true} is VALID [2018-11-23 13:01:33,552 INFO L273 TraceCheckUtils]: 2: Hoare triple {40#true} assume true; {40#true} is VALID [2018-11-23 13:01:33,553 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {40#true} {40#true} #111#return; {40#true} is VALID [2018-11-23 13:01:33,553 INFO L256 TraceCheckUtils]: 4: Hoare triple {40#true} call #t~ret19 := main(); {40#true} is VALID [2018-11-23 13:01:33,553 INFO L273 TraceCheckUtils]: 5: Hoare triple {40#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~nodecount~0 := #t~nondet1;havoc #t~nondet1;assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~edgecount~0 := #t~nondet2;havoc #t~nondet2; {40#true} is VALID [2018-11-23 13:01:33,554 INFO L273 TraceCheckUtils]: 6: Hoare triple {40#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {40#true} is VALID [2018-11-23 13:01:33,554 INFO L273 TraceCheckUtils]: 7: Hoare triple {40#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.alloc(80);call write~init~int(0, ~#Source~0.base, ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 4 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 8 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 12 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 16 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 20 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 24 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 28 + ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 32 + ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 36 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 40 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 44 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 48 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 52 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 56 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 60 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 64 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 68 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 72 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 76 + ~#Source~0.offset, 4);call ~#Dest~0.base, ~#Dest~0.offset := #Ultimate.alloc(80);call write~init~int(1, ~#Dest~0.base, ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 4 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 8 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 12 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 16 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 20 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 24 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 28 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 32 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 36 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 40 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 44 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 48 + ~#Dest~0.offset, 4);call write~init~int(2, ~#Dest~0.base, 52 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 56 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 60 + ~#Dest~0.offset, 4);call write~init~int(2, ~#Dest~0.base, 64 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 68 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 72 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 76 + ~#Dest~0.offset, 4);call ~#Weight~0.base, ~#Weight~0.offset := #Ultimate.alloc(80);call write~init~int(0, ~#Weight~0.base, ~#Weight~0.offset, 4);call write~init~int(1, ~#Weight~0.base, 4 + ~#Weight~0.offset, 4);call write~init~int(2, ~#Weight~0.base, 8 + ~#Weight~0.offset, 4);call write~init~int(3, ~#Weight~0.base, 12 + ~#Weight~0.offset, 4);call write~init~int(4, ~#Weight~0.base, 16 + ~#Weight~0.offset, 4);call write~init~int(5, ~#Weight~0.base, 20 + ~#Weight~0.offset, 4);call write~init~int(6, ~#Weight~0.base, 24 + ~#Weight~0.offset, 4);call write~init~int(7, ~#Weight~0.base, 28 + ~#Weight~0.offset, 4);call write~init~int(8, ~#Weight~0.base, 32 + ~#Weight~0.offset, 4);call write~init~int(9, ~#Weight~0.base, 36 + ~#Weight~0.offset, 4);call write~init~int(10, ~#Weight~0.base, 40 + ~#Weight~0.offset, 4);call write~init~int(11, ~#Weight~0.base, 44 + ~#Weight~0.offset, 4);call write~init~int(12, ~#Weight~0.base, 48 + ~#Weight~0.offset, 4);call write~init~int(13, ~#Weight~0.base, 52 + ~#Weight~0.offset, 4);call write~init~int(14, ~#Weight~0.base, 56 + ~#Weight~0.offset, 4);call write~init~int(15, ~#Weight~0.base, 60 + ~#Weight~0.offset, 4);call write~init~int(16, ~#Weight~0.base, 64 + ~#Weight~0.offset, 4);call write~init~int(17, ~#Weight~0.base, 68 + ~#Weight~0.offset, 4);call write~init~int(18, ~#Weight~0.base, 72 + ~#Weight~0.offset, 4);call write~init~int(19, ~#Weight~0.base, 76 + ~#Weight~0.offset, 4);call ~#distance~0.base, ~#distance~0.offset := #Ultimate.alloc(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {40#true} is VALID [2018-11-23 13:01:33,555 INFO L273 TraceCheckUtils]: 8: Hoare triple {40#true} assume !(~i~0 < ~nodecount~0); {40#true} is VALID [2018-11-23 13:01:33,566 INFO L273 TraceCheckUtils]: 9: Hoare triple {40#true} ~i~0 := 0; {42#(= main_~i~0 0)} is VALID [2018-11-23 13:01:33,568 INFO L273 TraceCheckUtils]: 10: Hoare triple {42#(= main_~i~0 0)} assume !(~i~0 < ~nodecount~0); {43#(<= main_~nodecount~0 0)} is VALID [2018-11-23 13:01:33,569 INFO L273 TraceCheckUtils]: 11: Hoare triple {43#(<= main_~nodecount~0 0)} ~i~0 := 0; {43#(<= main_~nodecount~0 0)} is VALID [2018-11-23 13:01:33,570 INFO L273 TraceCheckUtils]: 12: Hoare triple {43#(<= main_~nodecount~0 0)} assume !(~i~0 < ~edgecount~0); {43#(<= main_~nodecount~0 0)} is VALID [2018-11-23 13:01:33,570 INFO L273 TraceCheckUtils]: 13: Hoare triple {43#(<= main_~nodecount~0 0)} ~i~0 := 0; {44#(and (<= main_~nodecount~0 0) (= main_~i~0 0))} is VALID [2018-11-23 13:01:33,571 INFO L273 TraceCheckUtils]: 14: Hoare triple {44#(and (<= main_~nodecount~0 0) (= main_~i~0 0))} assume !!(~i~0 < ~nodecount~0);call #t~mem18 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {41#false} is VALID [2018-11-23 13:01:33,571 INFO L256 TraceCheckUtils]: 15: Hoare triple {41#false} call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); {41#false} is VALID [2018-11-23 13:01:33,572 INFO L273 TraceCheckUtils]: 16: Hoare triple {41#false} ~cond := #in~cond; {41#false} is VALID [2018-11-23 13:01:33,572 INFO L273 TraceCheckUtils]: 17: Hoare triple {41#false} assume 0 == ~cond; {41#false} is VALID [2018-11-23 13:01:33,573 INFO L273 TraceCheckUtils]: 18: Hoare triple {41#false} assume !false; {41#false} is VALID [2018-11-23 13:01:33,577 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:01:33,579 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 13:01:33,580 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2018-11-23 13:01:33,584 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 19 [2018-11-23 13:01:33,587 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:01:33,591 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2018-11-23 13:01:33,777 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 19 edges. 19 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:01:33,778 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2018-11-23 13:01:33,788 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2018-11-23 13:01:33,788 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2018-11-23 13:01:33,791 INFO L87 Difference]: Start difference. First operand 37 states. Second operand 5 states. [2018-11-23 13:01:34,995 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:34,996 INFO L93 Difference]: Finished difference Result 98 states and 149 transitions. [2018-11-23 13:01:34,996 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-11-23 13:01:34,996 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 19 [2018-11-23 13:01:34,997 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:01:34,998 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-23 13:01:35,023 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 149 transitions. [2018-11-23 13:01:35,023 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-23 13:01:35,030 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 149 transitions. [2018-11-23 13:01:35,031 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 149 transitions. [2018-11-23 13:01:35,286 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 149 edges. 149 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:01:35,300 INFO L225 Difference]: With dead ends: 98 [2018-11-23 13:01:35,300 INFO L226 Difference]: Without dead ends: 48 [2018-11-23 13:01:35,304 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 5 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2018-11-23 13:01:35,321 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2018-11-23 13:01:35,358 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 34. [2018-11-23 13:01:35,358 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:01:35,359 INFO L82 GeneralOperation]: Start isEquivalent. First operand 48 states. Second operand 34 states. [2018-11-23 13:01:35,359 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand 34 states. [2018-11-23 13:01:35,359 INFO L87 Difference]: Start difference. First operand 48 states. Second operand 34 states. [2018-11-23 13:01:35,366 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:35,366 INFO L93 Difference]: Finished difference Result 48 states and 59 transitions. [2018-11-23 13:01:35,366 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 59 transitions. [2018-11-23 13:01:35,367 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:01:35,367 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:01:35,368 INFO L74 IsIncluded]: Start isIncluded. First operand 34 states. Second operand 48 states. [2018-11-23 13:01:35,368 INFO L87 Difference]: Start difference. First operand 34 states. Second operand 48 states. [2018-11-23 13:01:35,373 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:35,374 INFO L93 Difference]: Finished difference Result 48 states and 59 transitions. [2018-11-23 13:01:35,374 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 59 transitions. [2018-11-23 13:01:35,375 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:01:35,375 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:01:35,375 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:01:35,376 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:01:35,376 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 34 states. [2018-11-23 13:01:35,379 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 40 transitions. [2018-11-23 13:01:35,380 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 40 transitions. Word has length 19 [2018-11-23 13:01:35,381 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:01:35,381 INFO L480 AbstractCegarLoop]: Abstraction has 34 states and 40 transitions. [2018-11-23 13:01:35,381 INFO L481 AbstractCegarLoop]: Interpolant automaton has 5 states. [2018-11-23 13:01:35,381 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 40 transitions. [2018-11-23 13:01:35,382 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2018-11-23 13:01:35,383 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:01:35,383 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:01:35,383 INFO L423 AbstractCegarLoop]: === Iteration 2 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:01:35,383 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:01:35,384 INFO L82 PathProgramCache]: Analyzing trace with hash 2104518782, now seen corresponding path program 1 times [2018-11-23 13:01:35,384 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:01:35,384 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:01:35,385 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:01:35,385 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 13:01:35,386 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:01:35,452 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:01:35,896 INFO L256 TraceCheckUtils]: 0: Hoare triple {315#true} call ULTIMATE.init(); {315#true} is VALID [2018-11-23 13:01:35,896 INFO L273 TraceCheckUtils]: 1: Hoare triple {315#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~INFINITY~0 := 899; {315#true} is VALID [2018-11-23 13:01:35,897 INFO L273 TraceCheckUtils]: 2: Hoare triple {315#true} assume true; {315#true} is VALID [2018-11-23 13:01:35,897 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {315#true} {315#true} #111#return; {315#true} is VALID [2018-11-23 13:01:35,897 INFO L256 TraceCheckUtils]: 4: Hoare triple {315#true} call #t~ret19 := main(); {315#true} is VALID [2018-11-23 13:01:35,898 INFO L273 TraceCheckUtils]: 5: Hoare triple {315#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~nodecount~0 := #t~nondet1;havoc #t~nondet1;assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~edgecount~0 := #t~nondet2;havoc #t~nondet2; {315#true} is VALID [2018-11-23 13:01:35,898 INFO L273 TraceCheckUtils]: 6: Hoare triple {315#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {315#true} is VALID [2018-11-23 13:01:35,912 INFO L273 TraceCheckUtils]: 7: Hoare triple {315#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.alloc(80);call write~init~int(0, ~#Source~0.base, ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 4 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 8 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 12 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 16 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 20 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 24 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 28 + ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 32 + ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 36 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 40 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 44 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 48 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 52 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 56 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 60 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 64 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 68 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 72 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 76 + ~#Source~0.offset, 4);call ~#Dest~0.base, ~#Dest~0.offset := #Ultimate.alloc(80);call write~init~int(1, ~#Dest~0.base, ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 4 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 8 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 12 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 16 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 20 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 24 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 28 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 32 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 36 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 40 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 44 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 48 + ~#Dest~0.offset, 4);call write~init~int(2, ~#Dest~0.base, 52 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 56 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 60 + ~#Dest~0.offset, 4);call write~init~int(2, ~#Dest~0.base, 64 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 68 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 72 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 76 + ~#Dest~0.offset, 4);call ~#Weight~0.base, ~#Weight~0.offset := #Ultimate.alloc(80);call write~init~int(0, ~#Weight~0.base, ~#Weight~0.offset, 4);call write~init~int(1, ~#Weight~0.base, 4 + ~#Weight~0.offset, 4);call write~init~int(2, ~#Weight~0.base, 8 + ~#Weight~0.offset, 4);call write~init~int(3, ~#Weight~0.base, 12 + ~#Weight~0.offset, 4);call write~init~int(4, ~#Weight~0.base, 16 + ~#Weight~0.offset, 4);call write~init~int(5, ~#Weight~0.base, 20 + ~#Weight~0.offset, 4);call write~init~int(6, ~#Weight~0.base, 24 + ~#Weight~0.offset, 4);call write~init~int(7, ~#Weight~0.base, 28 + ~#Weight~0.offset, 4);call write~init~int(8, ~#Weight~0.base, 32 + ~#Weight~0.offset, 4);call write~init~int(9, ~#Weight~0.base, 36 + ~#Weight~0.offset, 4);call write~init~int(10, ~#Weight~0.base, 40 + ~#Weight~0.offset, 4);call write~init~int(11, ~#Weight~0.base, 44 + ~#Weight~0.offset, 4);call write~init~int(12, ~#Weight~0.base, 48 + ~#Weight~0.offset, 4);call write~init~int(13, ~#Weight~0.base, 52 + ~#Weight~0.offset, 4);call write~init~int(14, ~#Weight~0.base, 56 + ~#Weight~0.offset, 4);call write~init~int(15, ~#Weight~0.base, 60 + ~#Weight~0.offset, 4);call write~init~int(16, ~#Weight~0.base, 64 + ~#Weight~0.offset, 4);call write~init~int(17, ~#Weight~0.base, 68 + ~#Weight~0.offset, 4);call write~init~int(18, ~#Weight~0.base, 72 + ~#Weight~0.offset, 4);call write~init~int(19, ~#Weight~0.base, 76 + ~#Weight~0.offset, 4);call ~#distance~0.base, ~#distance~0.offset := #Ultimate.alloc(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {317#(and (= |main_~#distance~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 13:01:35,913 INFO L273 TraceCheckUtils]: 8: Hoare triple {317#(and (= |main_~#distance~0.offset| 0) (= main_~i~0 0))} assume !!(~i~0 < ~nodecount~0); {317#(and (= |main_~#distance~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 13:01:35,918 INFO L273 TraceCheckUtils]: 9: Hoare triple {317#(and (= |main_~#distance~0.offset| 0) (= main_~i~0 0))} assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {318#(and (= |main_~#distance~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 main_~i~0) |main_~#distance~0.offset|))) (= main_~i~0 0))} is VALID [2018-11-23 13:01:35,920 INFO L273 TraceCheckUtils]: 10: Hoare triple {318#(and (= |main_~#distance~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 main_~i~0) |main_~#distance~0.offset|))) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {319#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:01:35,920 INFO L273 TraceCheckUtils]: 11: Hoare triple {319#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} assume !(~i~0 < ~nodecount~0); {319#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:01:35,921 INFO L273 TraceCheckUtils]: 12: Hoare triple {319#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} ~i~0 := 0; {319#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:01:35,923 INFO L273 TraceCheckUtils]: 13: Hoare triple {319#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {319#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:01:35,924 INFO L273 TraceCheckUtils]: 14: Hoare triple {319#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} assume !(~j~0 < ~edgecount~0); {319#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:01:35,929 INFO L273 TraceCheckUtils]: 15: Hoare triple {319#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {319#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:01:35,932 INFO L273 TraceCheckUtils]: 16: Hoare triple {319#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} assume !(~i~0 < ~nodecount~0); {319#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:01:35,934 INFO L273 TraceCheckUtils]: 17: Hoare triple {319#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} ~i~0 := 0; {319#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:01:35,935 INFO L273 TraceCheckUtils]: 18: Hoare triple {319#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} assume !(~i~0 < ~edgecount~0); {319#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:01:35,937 INFO L273 TraceCheckUtils]: 19: Hoare triple {319#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} ~i~0 := 0; {318#(and (= |main_~#distance~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 main_~i~0) |main_~#distance~0.offset|))) (= main_~i~0 0))} is VALID [2018-11-23 13:01:35,937 INFO L273 TraceCheckUtils]: 20: Hoare triple {318#(and (= |main_~#distance~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 main_~i~0) |main_~#distance~0.offset|))) (= main_~i~0 0))} assume !!(~i~0 < ~nodecount~0);call #t~mem18 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {320#(= |main_#t~mem18| 0)} is VALID [2018-11-23 13:01:35,939 INFO L256 TraceCheckUtils]: 21: Hoare triple {320#(= |main_#t~mem18| 0)} call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); {321#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 13:01:35,940 INFO L273 TraceCheckUtils]: 22: Hoare triple {321#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {322#(= __VERIFIER_assert_~cond 1)} is VALID [2018-11-23 13:01:35,941 INFO L273 TraceCheckUtils]: 23: Hoare triple {322#(= __VERIFIER_assert_~cond 1)} assume 0 == ~cond; {316#false} is VALID [2018-11-23 13:01:35,941 INFO L273 TraceCheckUtils]: 24: Hoare triple {316#false} assume !false; {316#false} is VALID [2018-11-23 13:01:35,946 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-23 13:01:35,947 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 13:01:35,947 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:01:35,966 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 13:01:36,031 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:01:36,047 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:01:36,053 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 13:01:36,184 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 8 [2018-11-23 13:01:36,192 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 7 [2018-11-23 13:01:36,195 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 13:01:36,201 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:01:36,216 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:01:36,217 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:15, output treesize:11 [2018-11-23 13:01:36,395 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 11 [2018-11-23 13:01:36,401 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 3 [2018-11-23 13:01:36,406 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 13:01:36,440 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:01:36,442 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:01:36,442 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:15, output treesize:3 [2018-11-23 13:01:36,445 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 13:01:36,446 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#distance~0.base|]. (let ((.cse0 (select (select |#memory_int| |main_~#distance~0.base|) 0))) (and (= 0 .cse0) (<= .cse0 |main_#t~mem18|))) [2018-11-23 13:01:36,446 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (<= 0 |main_#t~mem18|) [2018-11-23 13:01:36,681 INFO L256 TraceCheckUtils]: 0: Hoare triple {315#true} call ULTIMATE.init(); {315#true} is VALID [2018-11-23 13:01:36,682 INFO L273 TraceCheckUtils]: 1: Hoare triple {315#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~INFINITY~0 := 899; {315#true} is VALID [2018-11-23 13:01:36,682 INFO L273 TraceCheckUtils]: 2: Hoare triple {315#true} assume true; {315#true} is VALID [2018-11-23 13:01:36,682 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {315#true} {315#true} #111#return; {315#true} is VALID [2018-11-23 13:01:36,683 INFO L256 TraceCheckUtils]: 4: Hoare triple {315#true} call #t~ret19 := main(); {315#true} is VALID [2018-11-23 13:01:36,685 INFO L273 TraceCheckUtils]: 5: Hoare triple {315#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~nodecount~0 := #t~nondet1;havoc #t~nondet1;assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~edgecount~0 := #t~nondet2;havoc #t~nondet2; {315#true} is VALID [2018-11-23 13:01:36,686 INFO L273 TraceCheckUtils]: 6: Hoare triple {315#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {315#true} is VALID [2018-11-23 13:01:36,703 INFO L273 TraceCheckUtils]: 7: Hoare triple {315#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.alloc(80);call write~init~int(0, ~#Source~0.base, ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 4 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 8 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 12 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 16 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 20 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 24 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 28 + ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 32 + ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 36 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 40 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 44 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 48 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 52 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 56 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 60 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 64 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 68 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 72 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 76 + ~#Source~0.offset, 4);call ~#Dest~0.base, ~#Dest~0.offset := #Ultimate.alloc(80);call write~init~int(1, ~#Dest~0.base, ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 4 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 8 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 12 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 16 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 20 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 24 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 28 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 32 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 36 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 40 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 44 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 48 + ~#Dest~0.offset, 4);call write~init~int(2, ~#Dest~0.base, 52 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 56 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 60 + ~#Dest~0.offset, 4);call write~init~int(2, ~#Dest~0.base, 64 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 68 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 72 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 76 + ~#Dest~0.offset, 4);call ~#Weight~0.base, ~#Weight~0.offset := #Ultimate.alloc(80);call write~init~int(0, ~#Weight~0.base, ~#Weight~0.offset, 4);call write~init~int(1, ~#Weight~0.base, 4 + ~#Weight~0.offset, 4);call write~init~int(2, ~#Weight~0.base, 8 + ~#Weight~0.offset, 4);call write~init~int(3, ~#Weight~0.base, 12 + ~#Weight~0.offset, 4);call write~init~int(4, ~#Weight~0.base, 16 + ~#Weight~0.offset, 4);call write~init~int(5, ~#Weight~0.base, 20 + ~#Weight~0.offset, 4);call write~init~int(6, ~#Weight~0.base, 24 + ~#Weight~0.offset, 4);call write~init~int(7, ~#Weight~0.base, 28 + ~#Weight~0.offset, 4);call write~init~int(8, ~#Weight~0.base, 32 + ~#Weight~0.offset, 4);call write~init~int(9, ~#Weight~0.base, 36 + ~#Weight~0.offset, 4);call write~init~int(10, ~#Weight~0.base, 40 + ~#Weight~0.offset, 4);call write~init~int(11, ~#Weight~0.base, 44 + ~#Weight~0.offset, 4);call write~init~int(12, ~#Weight~0.base, 48 + ~#Weight~0.offset, 4);call write~init~int(13, ~#Weight~0.base, 52 + ~#Weight~0.offset, 4);call write~init~int(14, ~#Weight~0.base, 56 + ~#Weight~0.offset, 4);call write~init~int(15, ~#Weight~0.base, 60 + ~#Weight~0.offset, 4);call write~init~int(16, ~#Weight~0.base, 64 + ~#Weight~0.offset, 4);call write~init~int(17, ~#Weight~0.base, 68 + ~#Weight~0.offset, 4);call write~init~int(18, ~#Weight~0.base, 72 + ~#Weight~0.offset, 4);call write~init~int(19, ~#Weight~0.base, 76 + ~#Weight~0.offset, 4);call ~#distance~0.base, ~#distance~0.offset := #Ultimate.alloc(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {317#(and (= |main_~#distance~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 13:01:36,718 INFO L273 TraceCheckUtils]: 8: Hoare triple {317#(and (= |main_~#distance~0.offset| 0) (= main_~i~0 0))} assume !!(~i~0 < ~nodecount~0); {317#(and (= |main_~#distance~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 13:01:36,732 INFO L273 TraceCheckUtils]: 9: Hoare triple {317#(and (= |main_~#distance~0.offset| 0) (= main_~i~0 0))} assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {319#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:01:36,748 INFO L273 TraceCheckUtils]: 10: Hoare triple {319#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {319#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:01:36,757 INFO L273 TraceCheckUtils]: 11: Hoare triple {319#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} assume !(~i~0 < ~nodecount~0); {319#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:01:36,772 INFO L273 TraceCheckUtils]: 12: Hoare triple {319#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} ~i~0 := 0; {319#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:01:36,781 INFO L273 TraceCheckUtils]: 13: Hoare triple {319#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {319#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:01:36,794 INFO L273 TraceCheckUtils]: 14: Hoare triple {319#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} assume !(~j~0 < ~edgecount~0); {319#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:01:36,814 INFO L273 TraceCheckUtils]: 15: Hoare triple {319#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {319#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:01:36,823 INFO L273 TraceCheckUtils]: 16: Hoare triple {319#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} assume !(~i~0 < ~nodecount~0); {319#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:01:36,836 INFO L273 TraceCheckUtils]: 17: Hoare triple {319#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} ~i~0 := 0; {319#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:01:36,844 INFO L273 TraceCheckUtils]: 18: Hoare triple {319#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} assume !(~i~0 < ~edgecount~0); {319#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:01:36,846 INFO L273 TraceCheckUtils]: 19: Hoare triple {319#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} ~i~0 := 0; {318#(and (= |main_~#distance~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 main_~i~0) |main_~#distance~0.offset|))) (= main_~i~0 0))} is VALID [2018-11-23 13:01:36,847 INFO L273 TraceCheckUtils]: 20: Hoare triple {318#(and (= |main_~#distance~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 main_~i~0) |main_~#distance~0.offset|))) (= main_~i~0 0))} assume !!(~i~0 < ~nodecount~0);call #t~mem18 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {386#(<= 0 |main_#t~mem18|)} is VALID [2018-11-23 13:01:36,848 INFO L256 TraceCheckUtils]: 21: Hoare triple {386#(<= 0 |main_#t~mem18|)} call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); {321#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 13:01:36,849 INFO L273 TraceCheckUtils]: 22: Hoare triple {321#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {322#(= __VERIFIER_assert_~cond 1)} is VALID [2018-11-23 13:01:36,849 INFO L273 TraceCheckUtils]: 23: Hoare triple {322#(= __VERIFIER_assert_~cond 1)} assume 0 == ~cond; {316#false} is VALID [2018-11-23 13:01:36,849 INFO L273 TraceCheckUtils]: 24: Hoare triple {316#false} assume !false; {316#false} is VALID [2018-11-23 13:01:36,854 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-23 13:01:36,885 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 13:01:36,885 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2018-11-23 13:01:36,886 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 25 [2018-11-23 13:01:36,887 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:01:36,887 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2018-11-23 13:01:36,976 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:01:36,977 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2018-11-23 13:01:36,977 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2018-11-23 13:01:36,977 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=54, Unknown=0, NotChecked=0, Total=72 [2018-11-23 13:01:36,977 INFO L87 Difference]: Start difference. First operand 34 states and 40 transitions. Second operand 9 states. [2018-11-23 13:01:38,128 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:38,128 INFO L93 Difference]: Finished difference Result 78 states and 97 transitions. [2018-11-23 13:01:38,129 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-11-23 13:01:38,129 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 25 [2018-11-23 13:01:38,129 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:01:38,129 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-11-23 13:01:38,133 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 96 transitions. [2018-11-23 13:01:38,133 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-11-23 13:01:38,137 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 96 transitions. [2018-11-23 13:01:38,137 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 96 transitions. [2018-11-23 13:01:38,266 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 96 edges. 96 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:01:38,273 INFO L225 Difference]: With dead ends: 78 [2018-11-23 13:01:38,273 INFO L226 Difference]: Without dead ends: 76 [2018-11-23 13:01:38,274 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 35 GetRequests, 21 SyntacticMatches, 5 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 18 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=29, Invalid=81, Unknown=0, NotChecked=0, Total=110 [2018-11-23 13:01:38,275 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 76 states. [2018-11-23 13:01:38,374 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 76 to 55. [2018-11-23 13:01:38,374 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:01:38,374 INFO L82 GeneralOperation]: Start isEquivalent. First operand 76 states. Second operand 55 states. [2018-11-23 13:01:38,375 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand 55 states. [2018-11-23 13:01:38,375 INFO L87 Difference]: Start difference. First operand 76 states. Second operand 55 states. [2018-11-23 13:01:38,380 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:38,381 INFO L93 Difference]: Finished difference Result 76 states and 95 transitions. [2018-11-23 13:01:38,381 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 95 transitions. [2018-11-23 13:01:38,382 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:01:38,382 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:01:38,382 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand 76 states. [2018-11-23 13:01:38,383 INFO L87 Difference]: Start difference. First operand 55 states. Second operand 76 states. [2018-11-23 13:01:38,388 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:38,388 INFO L93 Difference]: Finished difference Result 76 states and 95 transitions. [2018-11-23 13:01:38,388 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 95 transitions. [2018-11-23 13:01:38,389 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:01:38,390 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:01:38,390 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:01:38,390 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:01:38,390 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 55 states. [2018-11-23 13:01:38,394 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 67 transitions. [2018-11-23 13:01:38,394 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 67 transitions. Word has length 25 [2018-11-23 13:01:38,394 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:01:38,394 INFO L480 AbstractCegarLoop]: Abstraction has 55 states and 67 transitions. [2018-11-23 13:01:38,395 INFO L481 AbstractCegarLoop]: Interpolant automaton has 9 states. [2018-11-23 13:01:38,395 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 67 transitions. [2018-11-23 13:01:38,396 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2018-11-23 13:01:38,396 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:01:38,396 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:01:38,397 INFO L423 AbstractCegarLoop]: === Iteration 3 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:01:38,397 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:01:38,397 INFO L82 PathProgramCache]: Analyzing trace with hash 1083450428, now seen corresponding path program 1 times [2018-11-23 13:01:38,397 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:01:38,397 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:01:38,398 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:01:38,399 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 13:01:38,399 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:01:38,435 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:01:38,508 INFO L256 TraceCheckUtils]: 0: Hoare triple {734#true} call ULTIMATE.init(); {734#true} is VALID [2018-11-23 13:01:38,509 INFO L273 TraceCheckUtils]: 1: Hoare triple {734#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~INFINITY~0 := 899; {734#true} is VALID [2018-11-23 13:01:38,509 INFO L273 TraceCheckUtils]: 2: Hoare triple {734#true} assume true; {734#true} is VALID [2018-11-23 13:01:38,510 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {734#true} {734#true} #111#return; {734#true} is VALID [2018-11-23 13:01:38,510 INFO L256 TraceCheckUtils]: 4: Hoare triple {734#true} call #t~ret19 := main(); {734#true} is VALID [2018-11-23 13:01:38,510 INFO L273 TraceCheckUtils]: 5: Hoare triple {734#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~nodecount~0 := #t~nondet1;havoc #t~nondet1;assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~edgecount~0 := #t~nondet2;havoc #t~nondet2; {734#true} is VALID [2018-11-23 13:01:38,511 INFO L273 TraceCheckUtils]: 6: Hoare triple {734#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {734#true} is VALID [2018-11-23 13:01:38,515 INFO L273 TraceCheckUtils]: 7: Hoare triple {734#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.alloc(80);call write~init~int(0, ~#Source~0.base, ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 4 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 8 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 12 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 16 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 20 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 24 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 28 + ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 32 + ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 36 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 40 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 44 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 48 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 52 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 56 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 60 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 64 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 68 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 72 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 76 + ~#Source~0.offset, 4);call ~#Dest~0.base, ~#Dest~0.offset := #Ultimate.alloc(80);call write~init~int(1, ~#Dest~0.base, ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 4 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 8 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 12 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 16 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 20 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 24 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 28 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 32 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 36 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 40 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 44 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 48 + ~#Dest~0.offset, 4);call write~init~int(2, ~#Dest~0.base, 52 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 56 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 60 + ~#Dest~0.offset, 4);call write~init~int(2, ~#Dest~0.base, 64 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 68 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 72 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 76 + ~#Dest~0.offset, 4);call ~#Weight~0.base, ~#Weight~0.offset := #Ultimate.alloc(80);call write~init~int(0, ~#Weight~0.base, ~#Weight~0.offset, 4);call write~init~int(1, ~#Weight~0.base, 4 + ~#Weight~0.offset, 4);call write~init~int(2, ~#Weight~0.base, 8 + ~#Weight~0.offset, 4);call write~init~int(3, ~#Weight~0.base, 12 + ~#Weight~0.offset, 4);call write~init~int(4, ~#Weight~0.base, 16 + ~#Weight~0.offset, 4);call write~init~int(5, ~#Weight~0.base, 20 + ~#Weight~0.offset, 4);call write~init~int(6, ~#Weight~0.base, 24 + ~#Weight~0.offset, 4);call write~init~int(7, ~#Weight~0.base, 28 + ~#Weight~0.offset, 4);call write~init~int(8, ~#Weight~0.base, 32 + ~#Weight~0.offset, 4);call write~init~int(9, ~#Weight~0.base, 36 + ~#Weight~0.offset, 4);call write~init~int(10, ~#Weight~0.base, 40 + ~#Weight~0.offset, 4);call write~init~int(11, ~#Weight~0.base, 44 + ~#Weight~0.offset, 4);call write~init~int(12, ~#Weight~0.base, 48 + ~#Weight~0.offset, 4);call write~init~int(13, ~#Weight~0.base, 52 + ~#Weight~0.offset, 4);call write~init~int(14, ~#Weight~0.base, 56 + ~#Weight~0.offset, 4);call write~init~int(15, ~#Weight~0.base, 60 + ~#Weight~0.offset, 4);call write~init~int(16, ~#Weight~0.base, 64 + ~#Weight~0.offset, 4);call write~init~int(17, ~#Weight~0.base, 68 + ~#Weight~0.offset, 4);call write~init~int(18, ~#Weight~0.base, 72 + ~#Weight~0.offset, 4);call write~init~int(19, ~#Weight~0.base, 76 + ~#Weight~0.offset, 4);call ~#distance~0.base, ~#distance~0.offset := #Ultimate.alloc(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {736#(= main_~i~0 main_~source~0)} is VALID [2018-11-23 13:01:38,515 INFO L273 TraceCheckUtils]: 8: Hoare triple {736#(= main_~i~0 main_~source~0)} assume !!(~i~0 < ~nodecount~0); {736#(= main_~i~0 main_~source~0)} is VALID [2018-11-23 13:01:38,517 INFO L273 TraceCheckUtils]: 9: Hoare triple {736#(= main_~i~0 main_~source~0)} assume !(~i~0 == ~source~0);call write~int(~INFINITY~0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {735#false} is VALID [2018-11-23 13:01:38,517 INFO L273 TraceCheckUtils]: 10: Hoare triple {735#false} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {735#false} is VALID [2018-11-23 13:01:38,518 INFO L273 TraceCheckUtils]: 11: Hoare triple {735#false} assume !(~i~0 < ~nodecount~0); {735#false} is VALID [2018-11-23 13:01:38,518 INFO L273 TraceCheckUtils]: 12: Hoare triple {735#false} ~i~0 := 0; {735#false} is VALID [2018-11-23 13:01:38,518 INFO L273 TraceCheckUtils]: 13: Hoare triple {735#false} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {735#false} is VALID [2018-11-23 13:01:38,519 INFO L273 TraceCheckUtils]: 14: Hoare triple {735#false} assume !(~j~0 < ~edgecount~0); {735#false} is VALID [2018-11-23 13:01:38,519 INFO L273 TraceCheckUtils]: 15: Hoare triple {735#false} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {735#false} is VALID [2018-11-23 13:01:38,519 INFO L273 TraceCheckUtils]: 16: Hoare triple {735#false} assume !(~i~0 < ~nodecount~0); {735#false} is VALID [2018-11-23 13:01:38,520 INFO L273 TraceCheckUtils]: 17: Hoare triple {735#false} ~i~0 := 0; {735#false} is VALID [2018-11-23 13:01:38,520 INFO L273 TraceCheckUtils]: 18: Hoare triple {735#false} assume !(~i~0 < ~edgecount~0); {735#false} is VALID [2018-11-23 13:01:38,520 INFO L273 TraceCheckUtils]: 19: Hoare triple {735#false} ~i~0 := 0; {735#false} is VALID [2018-11-23 13:01:38,521 INFO L273 TraceCheckUtils]: 20: Hoare triple {735#false} assume !!(~i~0 < ~nodecount~0);call #t~mem18 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {735#false} is VALID [2018-11-23 13:01:38,521 INFO L256 TraceCheckUtils]: 21: Hoare triple {735#false} call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); {735#false} is VALID [2018-11-23 13:01:38,521 INFO L273 TraceCheckUtils]: 22: Hoare triple {735#false} ~cond := #in~cond; {735#false} is VALID [2018-11-23 13:01:38,521 INFO L273 TraceCheckUtils]: 23: Hoare triple {735#false} assume 0 == ~cond; {735#false} is VALID [2018-11-23 13:01:38,522 INFO L273 TraceCheckUtils]: 24: Hoare triple {735#false} assume !false; {735#false} is VALID [2018-11-23 13:01:38,523 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-23 13:01:38,523 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 13:01:38,523 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 13:01:38,524 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 25 [2018-11-23 13:01:38,524 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:01:38,524 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-23 13:01:38,573 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:01:38,574 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 13:01:38,574 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 13:01:38,574 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 13:01:38,575 INFO L87 Difference]: Start difference. First operand 55 states and 67 transitions. Second operand 3 states. [2018-11-23 13:01:38,715 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:38,715 INFO L93 Difference]: Finished difference Result 82 states and 101 transitions. [2018-11-23 13:01:38,715 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 13:01:38,715 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 25 [2018-11-23 13:01:38,715 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:01:38,716 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 13:01:38,718 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 72 transitions. [2018-11-23 13:01:38,718 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 13:01:38,721 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 72 transitions. [2018-11-23 13:01:38,721 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 72 transitions. [2018-11-23 13:01:38,819 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:01:38,823 INFO L225 Difference]: With dead ends: 82 [2018-11-23 13:01:38,823 INFO L226 Difference]: Without dead ends: 57 [2018-11-23 13:01:38,824 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:01:38,824 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 57 states. [2018-11-23 13:01:38,931 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 57 to 56. [2018-11-23 13:01:38,931 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:01:38,931 INFO L82 GeneralOperation]: Start isEquivalent. First operand 57 states. Second operand 56 states. [2018-11-23 13:01:38,931 INFO L74 IsIncluded]: Start isIncluded. First operand 57 states. Second operand 56 states. [2018-11-23 13:01:38,932 INFO L87 Difference]: Start difference. First operand 57 states. Second operand 56 states. [2018-11-23 13:01:38,935 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:38,935 INFO L93 Difference]: Finished difference Result 57 states and 69 transitions. [2018-11-23 13:01:38,935 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 69 transitions. [2018-11-23 13:01:38,936 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:01:38,936 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:01:38,936 INFO L74 IsIncluded]: Start isIncluded. First operand 56 states. Second operand 57 states. [2018-11-23 13:01:38,936 INFO L87 Difference]: Start difference. First operand 56 states. Second operand 57 states. [2018-11-23 13:01:38,940 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:38,940 INFO L93 Difference]: Finished difference Result 57 states and 69 transitions. [2018-11-23 13:01:38,940 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 69 transitions. [2018-11-23 13:01:38,941 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:01:38,941 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:01:38,942 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:01:38,942 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:01:38,942 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 56 states. [2018-11-23 13:01:38,945 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 68 transitions. [2018-11-23 13:01:38,945 INFO L78 Accepts]: Start accepts. Automaton has 56 states and 68 transitions. Word has length 25 [2018-11-23 13:01:38,946 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:01:38,946 INFO L480 AbstractCegarLoop]: Abstraction has 56 states and 68 transitions. [2018-11-23 13:01:38,946 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 13:01:38,946 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 68 transitions. [2018-11-23 13:01:38,947 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2018-11-23 13:01:38,947 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:01:38,947 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:01:38,948 INFO L423 AbstractCegarLoop]: === Iteration 4 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:01:38,948 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:01:38,948 INFO L82 PathProgramCache]: Analyzing trace with hash 3338338, now seen corresponding path program 1 times [2018-11-23 13:01:38,948 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:01:38,949 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:01:38,949 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:01:38,950 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 13:01:38,950 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:01:38,983 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:01:39,126 INFO L256 TraceCheckUtils]: 0: Hoare triple {1041#true} call ULTIMATE.init(); {1041#true} is VALID [2018-11-23 13:01:39,127 INFO L273 TraceCheckUtils]: 1: Hoare triple {1041#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~INFINITY~0 := 899; {1041#true} is VALID [2018-11-23 13:01:39,127 INFO L273 TraceCheckUtils]: 2: Hoare triple {1041#true} assume true; {1041#true} is VALID [2018-11-23 13:01:39,128 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1041#true} {1041#true} #111#return; {1041#true} is VALID [2018-11-23 13:01:39,128 INFO L256 TraceCheckUtils]: 4: Hoare triple {1041#true} call #t~ret19 := main(); {1041#true} is VALID [2018-11-23 13:01:39,128 INFO L273 TraceCheckUtils]: 5: Hoare triple {1041#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~nodecount~0 := #t~nondet1;havoc #t~nondet1;assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~edgecount~0 := #t~nondet2;havoc #t~nondet2; {1041#true} is VALID [2018-11-23 13:01:39,129 INFO L273 TraceCheckUtils]: 6: Hoare triple {1041#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {1041#true} is VALID [2018-11-23 13:01:39,129 INFO L273 TraceCheckUtils]: 7: Hoare triple {1041#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.alloc(80);call write~init~int(0, ~#Source~0.base, ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 4 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 8 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 12 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 16 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 20 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 24 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 28 + ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 32 + ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 36 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 40 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 44 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 48 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 52 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 56 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 60 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 64 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 68 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 72 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 76 + ~#Source~0.offset, 4);call ~#Dest~0.base, ~#Dest~0.offset := #Ultimate.alloc(80);call write~init~int(1, ~#Dest~0.base, ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 4 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 8 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 12 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 16 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 20 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 24 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 28 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 32 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 36 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 40 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 44 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 48 + ~#Dest~0.offset, 4);call write~init~int(2, ~#Dest~0.base, 52 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 56 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 60 + ~#Dest~0.offset, 4);call write~init~int(2, ~#Dest~0.base, 64 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 68 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 72 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 76 + ~#Dest~0.offset, 4);call ~#Weight~0.base, ~#Weight~0.offset := #Ultimate.alloc(80);call write~init~int(0, ~#Weight~0.base, ~#Weight~0.offset, 4);call write~init~int(1, ~#Weight~0.base, 4 + ~#Weight~0.offset, 4);call write~init~int(2, ~#Weight~0.base, 8 + ~#Weight~0.offset, 4);call write~init~int(3, ~#Weight~0.base, 12 + ~#Weight~0.offset, 4);call write~init~int(4, ~#Weight~0.base, 16 + ~#Weight~0.offset, 4);call write~init~int(5, ~#Weight~0.base, 20 + ~#Weight~0.offset, 4);call write~init~int(6, ~#Weight~0.base, 24 + ~#Weight~0.offset, 4);call write~init~int(7, ~#Weight~0.base, 28 + ~#Weight~0.offset, 4);call write~init~int(8, ~#Weight~0.base, 32 + ~#Weight~0.offset, 4);call write~init~int(9, ~#Weight~0.base, 36 + ~#Weight~0.offset, 4);call write~init~int(10, ~#Weight~0.base, 40 + ~#Weight~0.offset, 4);call write~init~int(11, ~#Weight~0.base, 44 + ~#Weight~0.offset, 4);call write~init~int(12, ~#Weight~0.base, 48 + ~#Weight~0.offset, 4);call write~init~int(13, ~#Weight~0.base, 52 + ~#Weight~0.offset, 4);call write~init~int(14, ~#Weight~0.base, 56 + ~#Weight~0.offset, 4);call write~init~int(15, ~#Weight~0.base, 60 + ~#Weight~0.offset, 4);call write~init~int(16, ~#Weight~0.base, 64 + ~#Weight~0.offset, 4);call write~init~int(17, ~#Weight~0.base, 68 + ~#Weight~0.offset, 4);call write~init~int(18, ~#Weight~0.base, 72 + ~#Weight~0.offset, 4);call write~init~int(19, ~#Weight~0.base, 76 + ~#Weight~0.offset, 4);call ~#distance~0.base, ~#distance~0.offset := #Ultimate.alloc(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {1041#true} is VALID [2018-11-23 13:01:39,129 INFO L273 TraceCheckUtils]: 8: Hoare triple {1041#true} assume !!(~i~0 < ~nodecount~0); {1041#true} is VALID [2018-11-23 13:01:39,129 INFO L273 TraceCheckUtils]: 9: Hoare triple {1041#true} assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {1041#true} is VALID [2018-11-23 13:01:39,130 INFO L273 TraceCheckUtils]: 10: Hoare triple {1041#true} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {1041#true} is VALID [2018-11-23 13:01:39,130 INFO L273 TraceCheckUtils]: 11: Hoare triple {1041#true} assume !(~i~0 < ~nodecount~0); {1041#true} is VALID [2018-11-23 13:01:39,130 INFO L273 TraceCheckUtils]: 12: Hoare triple {1041#true} ~i~0 := 0; {1041#true} is VALID [2018-11-23 13:01:39,131 INFO L273 TraceCheckUtils]: 13: Hoare triple {1041#true} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {1043#(= main_~j~0 0)} is VALID [2018-11-23 13:01:39,132 INFO L273 TraceCheckUtils]: 14: Hoare triple {1043#(= main_~j~0 0)} assume !!(~j~0 < ~edgecount~0);call #t~mem6 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4);~x~0 := #t~mem6;havoc #t~mem6;call #t~mem7 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4);~y~0 := #t~mem7;havoc #t~mem7;call #t~mem10 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem8 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem9 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); {1044#(and (<= (+ main_~j~0 1) main_~edgecount~0) (= main_~j~0 0))} is VALID [2018-11-23 13:01:39,133 INFO L273 TraceCheckUtils]: 15: Hoare triple {1044#(and (<= (+ main_~j~0 1) main_~edgecount~0) (= main_~j~0 0))} assume #t~mem10 > #t~mem8 + #t~mem9;havoc #t~mem8;havoc #t~mem10;havoc #t~mem9;call write~int(-1, ~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); {1044#(and (<= (+ main_~j~0 1) main_~edgecount~0) (= main_~j~0 0))} is VALID [2018-11-23 13:01:39,133 INFO L273 TraceCheckUtils]: 16: Hoare triple {1044#(and (<= (+ main_~j~0 1) main_~edgecount~0) (= main_~j~0 0))} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {1045#(<= 1 main_~edgecount~0)} is VALID [2018-11-23 13:01:39,134 INFO L273 TraceCheckUtils]: 17: Hoare triple {1045#(<= 1 main_~edgecount~0)} assume !(~j~0 < ~edgecount~0); {1045#(<= 1 main_~edgecount~0)} is VALID [2018-11-23 13:01:39,134 INFO L273 TraceCheckUtils]: 18: Hoare triple {1045#(<= 1 main_~edgecount~0)} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {1045#(<= 1 main_~edgecount~0)} is VALID [2018-11-23 13:01:39,135 INFO L273 TraceCheckUtils]: 19: Hoare triple {1045#(<= 1 main_~edgecount~0)} assume !(~i~0 < ~nodecount~0); {1045#(<= 1 main_~edgecount~0)} is VALID [2018-11-23 13:01:39,136 INFO L273 TraceCheckUtils]: 20: Hoare triple {1045#(<= 1 main_~edgecount~0)} ~i~0 := 0; {1046#(and (<= 1 main_~edgecount~0) (= main_~i~0 0))} is VALID [2018-11-23 13:01:39,137 INFO L273 TraceCheckUtils]: 21: Hoare triple {1046#(and (<= 1 main_~edgecount~0) (= main_~i~0 0))} assume !(~i~0 < ~edgecount~0); {1042#false} is VALID [2018-11-23 13:01:39,137 INFO L273 TraceCheckUtils]: 22: Hoare triple {1042#false} ~i~0 := 0; {1042#false} is VALID [2018-11-23 13:01:39,138 INFO L273 TraceCheckUtils]: 23: Hoare triple {1042#false} assume !!(~i~0 < ~nodecount~0);call #t~mem18 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {1042#false} is VALID [2018-11-23 13:01:39,138 INFO L256 TraceCheckUtils]: 24: Hoare triple {1042#false} call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); {1042#false} is VALID [2018-11-23 13:01:39,139 INFO L273 TraceCheckUtils]: 25: Hoare triple {1042#false} ~cond := #in~cond; {1042#false} is VALID [2018-11-23 13:01:39,139 INFO L273 TraceCheckUtils]: 26: Hoare triple {1042#false} assume 0 == ~cond; {1042#false} is VALID [2018-11-23 13:01:39,140 INFO L273 TraceCheckUtils]: 27: Hoare triple {1042#false} assume !false; {1042#false} is VALID [2018-11-23 13:01:39,141 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-23 13:01:39,142 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 13:01:39,142 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:01:39,159 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 13:01:39,201 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:01:39,224 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:01:39,226 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 13:01:39,312 INFO L256 TraceCheckUtils]: 0: Hoare triple {1041#true} call ULTIMATE.init(); {1041#true} is VALID [2018-11-23 13:01:39,313 INFO L273 TraceCheckUtils]: 1: Hoare triple {1041#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~INFINITY~0 := 899; {1041#true} is VALID [2018-11-23 13:01:39,313 INFO L273 TraceCheckUtils]: 2: Hoare triple {1041#true} assume true; {1041#true} is VALID [2018-11-23 13:01:39,313 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1041#true} {1041#true} #111#return; {1041#true} is VALID [2018-11-23 13:01:39,314 INFO L256 TraceCheckUtils]: 4: Hoare triple {1041#true} call #t~ret19 := main(); {1041#true} is VALID [2018-11-23 13:01:39,314 INFO L273 TraceCheckUtils]: 5: Hoare triple {1041#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~nodecount~0 := #t~nondet1;havoc #t~nondet1;assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~edgecount~0 := #t~nondet2;havoc #t~nondet2; {1041#true} is VALID [2018-11-23 13:01:39,315 INFO L273 TraceCheckUtils]: 6: Hoare triple {1041#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {1041#true} is VALID [2018-11-23 13:01:39,315 INFO L273 TraceCheckUtils]: 7: Hoare triple {1041#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.alloc(80);call write~init~int(0, ~#Source~0.base, ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 4 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 8 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 12 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 16 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 20 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 24 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 28 + ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 32 + ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 36 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 40 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 44 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 48 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 52 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 56 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 60 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 64 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 68 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 72 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 76 + ~#Source~0.offset, 4);call ~#Dest~0.base, ~#Dest~0.offset := #Ultimate.alloc(80);call write~init~int(1, ~#Dest~0.base, ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 4 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 8 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 12 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 16 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 20 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 24 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 28 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 32 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 36 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 40 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 44 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 48 + ~#Dest~0.offset, 4);call write~init~int(2, ~#Dest~0.base, 52 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 56 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 60 + ~#Dest~0.offset, 4);call write~init~int(2, ~#Dest~0.base, 64 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 68 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 72 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 76 + ~#Dest~0.offset, 4);call ~#Weight~0.base, ~#Weight~0.offset := #Ultimate.alloc(80);call write~init~int(0, ~#Weight~0.base, ~#Weight~0.offset, 4);call write~init~int(1, ~#Weight~0.base, 4 + ~#Weight~0.offset, 4);call write~init~int(2, ~#Weight~0.base, 8 + ~#Weight~0.offset, 4);call write~init~int(3, ~#Weight~0.base, 12 + ~#Weight~0.offset, 4);call write~init~int(4, ~#Weight~0.base, 16 + ~#Weight~0.offset, 4);call write~init~int(5, ~#Weight~0.base, 20 + ~#Weight~0.offset, 4);call write~init~int(6, ~#Weight~0.base, 24 + ~#Weight~0.offset, 4);call write~init~int(7, ~#Weight~0.base, 28 + ~#Weight~0.offset, 4);call write~init~int(8, ~#Weight~0.base, 32 + ~#Weight~0.offset, 4);call write~init~int(9, ~#Weight~0.base, 36 + ~#Weight~0.offset, 4);call write~init~int(10, ~#Weight~0.base, 40 + ~#Weight~0.offset, 4);call write~init~int(11, ~#Weight~0.base, 44 + ~#Weight~0.offset, 4);call write~init~int(12, ~#Weight~0.base, 48 + ~#Weight~0.offset, 4);call write~init~int(13, ~#Weight~0.base, 52 + ~#Weight~0.offset, 4);call write~init~int(14, ~#Weight~0.base, 56 + ~#Weight~0.offset, 4);call write~init~int(15, ~#Weight~0.base, 60 + ~#Weight~0.offset, 4);call write~init~int(16, ~#Weight~0.base, 64 + ~#Weight~0.offset, 4);call write~init~int(17, ~#Weight~0.base, 68 + ~#Weight~0.offset, 4);call write~init~int(18, ~#Weight~0.base, 72 + ~#Weight~0.offset, 4);call write~init~int(19, ~#Weight~0.base, 76 + ~#Weight~0.offset, 4);call ~#distance~0.base, ~#distance~0.offset := #Ultimate.alloc(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {1041#true} is VALID [2018-11-23 13:01:39,316 INFO L273 TraceCheckUtils]: 8: Hoare triple {1041#true} assume !!(~i~0 < ~nodecount~0); {1041#true} is VALID [2018-11-23 13:01:39,316 INFO L273 TraceCheckUtils]: 9: Hoare triple {1041#true} assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {1041#true} is VALID [2018-11-23 13:01:39,316 INFO L273 TraceCheckUtils]: 10: Hoare triple {1041#true} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {1041#true} is VALID [2018-11-23 13:01:39,317 INFO L273 TraceCheckUtils]: 11: Hoare triple {1041#true} assume !(~i~0 < ~nodecount~0); {1041#true} is VALID [2018-11-23 13:01:39,317 INFO L273 TraceCheckUtils]: 12: Hoare triple {1041#true} ~i~0 := 0; {1041#true} is VALID [2018-11-23 13:01:39,318 INFO L273 TraceCheckUtils]: 13: Hoare triple {1041#true} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {1089#(<= 0 main_~j~0)} is VALID [2018-11-23 13:01:39,319 INFO L273 TraceCheckUtils]: 14: Hoare triple {1089#(<= 0 main_~j~0)} assume !!(~j~0 < ~edgecount~0);call #t~mem6 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4);~x~0 := #t~mem6;havoc #t~mem6;call #t~mem7 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4);~y~0 := #t~mem7;havoc #t~mem7;call #t~mem10 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem8 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem9 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); {1045#(<= 1 main_~edgecount~0)} is VALID [2018-11-23 13:01:39,319 INFO L273 TraceCheckUtils]: 15: Hoare triple {1045#(<= 1 main_~edgecount~0)} assume #t~mem10 > #t~mem8 + #t~mem9;havoc #t~mem8;havoc #t~mem10;havoc #t~mem9;call write~int(-1, ~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); {1045#(<= 1 main_~edgecount~0)} is VALID [2018-11-23 13:01:39,319 INFO L273 TraceCheckUtils]: 16: Hoare triple {1045#(<= 1 main_~edgecount~0)} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {1045#(<= 1 main_~edgecount~0)} is VALID [2018-11-23 13:01:39,320 INFO L273 TraceCheckUtils]: 17: Hoare triple {1045#(<= 1 main_~edgecount~0)} assume !(~j~0 < ~edgecount~0); {1045#(<= 1 main_~edgecount~0)} is VALID [2018-11-23 13:01:39,320 INFO L273 TraceCheckUtils]: 18: Hoare triple {1045#(<= 1 main_~edgecount~0)} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {1045#(<= 1 main_~edgecount~0)} is VALID [2018-11-23 13:01:39,321 INFO L273 TraceCheckUtils]: 19: Hoare triple {1045#(<= 1 main_~edgecount~0)} assume !(~i~0 < ~nodecount~0); {1045#(<= 1 main_~edgecount~0)} is VALID [2018-11-23 13:01:39,323 INFO L273 TraceCheckUtils]: 20: Hoare triple {1045#(<= 1 main_~edgecount~0)} ~i~0 := 0; {1111#(and (<= 1 main_~edgecount~0) (<= main_~i~0 0))} is VALID [2018-11-23 13:01:39,324 INFO L273 TraceCheckUtils]: 21: Hoare triple {1111#(and (<= 1 main_~edgecount~0) (<= main_~i~0 0))} assume !(~i~0 < ~edgecount~0); {1042#false} is VALID [2018-11-23 13:01:39,324 INFO L273 TraceCheckUtils]: 22: Hoare triple {1042#false} ~i~0 := 0; {1042#false} is VALID [2018-11-23 13:01:39,325 INFO L273 TraceCheckUtils]: 23: Hoare triple {1042#false} assume !!(~i~0 < ~nodecount~0);call #t~mem18 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {1042#false} is VALID [2018-11-23 13:01:39,325 INFO L256 TraceCheckUtils]: 24: Hoare triple {1042#false} call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); {1042#false} is VALID [2018-11-23 13:01:39,326 INFO L273 TraceCheckUtils]: 25: Hoare triple {1042#false} ~cond := #in~cond; {1042#false} is VALID [2018-11-23 13:01:39,326 INFO L273 TraceCheckUtils]: 26: Hoare triple {1042#false} assume 0 == ~cond; {1042#false} is VALID [2018-11-23 13:01:39,327 INFO L273 TraceCheckUtils]: 27: Hoare triple {1042#false} assume !false; {1042#false} is VALID [2018-11-23 13:01:39,329 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-23 13:01:39,349 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 13:01:39,350 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 5] total 8 [2018-11-23 13:01:39,350 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 28 [2018-11-23 13:01:39,350 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:01:39,350 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-11-23 13:01:39,428 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:01:39,428 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-11-23 13:01:39,429 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-11-23 13:01:39,429 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2018-11-23 13:01:39,429 INFO L87 Difference]: Start difference. First operand 56 states and 68 transitions. Second operand 8 states. [2018-11-23 13:01:40,014 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:40,014 INFO L93 Difference]: Finished difference Result 130 states and 165 transitions. [2018-11-23 13:01:40,014 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-23 13:01:40,014 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 28 [2018-11-23 13:01:40,015 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:01:40,015 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-23 13:01:40,018 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 93 transitions. [2018-11-23 13:01:40,018 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-23 13:01:40,021 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 93 transitions. [2018-11-23 13:01:40,021 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 93 transitions. [2018-11-23 13:01:40,307 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 93 edges. 93 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:01:40,314 INFO L225 Difference]: With dead ends: 130 [2018-11-23 13:01:40,314 INFO L226 Difference]: Without dead ends: 94 [2018-11-23 13:01:40,316 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 35 GetRequests, 27 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=32, Invalid=58, Unknown=0, NotChecked=0, Total=90 [2018-11-23 13:01:40,317 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 94 states. [2018-11-23 13:01:40,457 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 94 to 68. [2018-11-23 13:01:40,457 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:01:40,457 INFO L82 GeneralOperation]: Start isEquivalent. First operand 94 states. Second operand 68 states. [2018-11-23 13:01:40,458 INFO L74 IsIncluded]: Start isIncluded. First operand 94 states. Second operand 68 states. [2018-11-23 13:01:40,458 INFO L87 Difference]: Start difference. First operand 94 states. Second operand 68 states. [2018-11-23 13:01:40,463 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:40,463 INFO L93 Difference]: Finished difference Result 94 states and 117 transitions. [2018-11-23 13:01:40,463 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 117 transitions. [2018-11-23 13:01:40,464 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:01:40,464 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:01:40,464 INFO L74 IsIncluded]: Start isIncluded. First operand 68 states. Second operand 94 states. [2018-11-23 13:01:40,465 INFO L87 Difference]: Start difference. First operand 68 states. Second operand 94 states. [2018-11-23 13:01:40,469 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:40,470 INFO L93 Difference]: Finished difference Result 94 states and 117 transitions. [2018-11-23 13:01:40,470 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 117 transitions. [2018-11-23 13:01:40,471 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:01:40,471 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:01:40,471 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:01:40,471 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:01:40,471 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 68 states. [2018-11-23 13:01:40,474 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 68 states to 68 states and 84 transitions. [2018-11-23 13:01:40,475 INFO L78 Accepts]: Start accepts. Automaton has 68 states and 84 transitions. Word has length 28 [2018-11-23 13:01:40,475 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:01:40,475 INFO L480 AbstractCegarLoop]: Abstraction has 68 states and 84 transitions. [2018-11-23 13:01:40,475 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-11-23 13:01:40,475 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 84 transitions. [2018-11-23 13:01:40,476 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2018-11-23 13:01:40,476 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:01:40,476 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:01:40,477 INFO L423 AbstractCegarLoop]: === Iteration 5 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:01:40,477 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:01:40,477 INFO L82 PathProgramCache]: Analyzing trace with hash 1687190263, now seen corresponding path program 1 times [2018-11-23 13:01:40,477 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:01:40,477 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:01:40,478 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:01:40,479 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 13:01:40,479 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:01:40,499 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:01:40,662 INFO L256 TraceCheckUtils]: 0: Hoare triple {1600#true} call ULTIMATE.init(); {1600#true} is VALID [2018-11-23 13:01:40,663 INFO L273 TraceCheckUtils]: 1: Hoare triple {1600#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~INFINITY~0 := 899; {1600#true} is VALID [2018-11-23 13:01:40,663 INFO L273 TraceCheckUtils]: 2: Hoare triple {1600#true} assume true; {1600#true} is VALID [2018-11-23 13:01:40,664 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1600#true} {1600#true} #111#return; {1600#true} is VALID [2018-11-23 13:01:40,664 INFO L256 TraceCheckUtils]: 4: Hoare triple {1600#true} call #t~ret19 := main(); {1600#true} is VALID [2018-11-23 13:01:40,665 INFO L273 TraceCheckUtils]: 5: Hoare triple {1600#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~nodecount~0 := #t~nondet1;havoc #t~nondet1;assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~edgecount~0 := #t~nondet2;havoc #t~nondet2; {1600#true} is VALID [2018-11-23 13:01:40,665 INFO L273 TraceCheckUtils]: 6: Hoare triple {1600#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {1600#true} is VALID [2018-11-23 13:01:40,666 INFO L273 TraceCheckUtils]: 7: Hoare triple {1600#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.alloc(80);call write~init~int(0, ~#Source~0.base, ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 4 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 8 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 12 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 16 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 20 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 24 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 28 + ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 32 + ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 36 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 40 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 44 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 48 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 52 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 56 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 60 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 64 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 68 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 72 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 76 + ~#Source~0.offset, 4);call ~#Dest~0.base, ~#Dest~0.offset := #Ultimate.alloc(80);call write~init~int(1, ~#Dest~0.base, ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 4 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 8 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 12 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 16 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 20 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 24 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 28 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 32 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 36 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 40 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 44 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 48 + ~#Dest~0.offset, 4);call write~init~int(2, ~#Dest~0.base, 52 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 56 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 60 + ~#Dest~0.offset, 4);call write~init~int(2, ~#Dest~0.base, 64 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 68 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 72 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 76 + ~#Dest~0.offset, 4);call ~#Weight~0.base, ~#Weight~0.offset := #Ultimate.alloc(80);call write~init~int(0, ~#Weight~0.base, ~#Weight~0.offset, 4);call write~init~int(1, ~#Weight~0.base, 4 + ~#Weight~0.offset, 4);call write~init~int(2, ~#Weight~0.base, 8 + ~#Weight~0.offset, 4);call write~init~int(3, ~#Weight~0.base, 12 + ~#Weight~0.offset, 4);call write~init~int(4, ~#Weight~0.base, 16 + ~#Weight~0.offset, 4);call write~init~int(5, ~#Weight~0.base, 20 + ~#Weight~0.offset, 4);call write~init~int(6, ~#Weight~0.base, 24 + ~#Weight~0.offset, 4);call write~init~int(7, ~#Weight~0.base, 28 + ~#Weight~0.offset, 4);call write~init~int(8, ~#Weight~0.base, 32 + ~#Weight~0.offset, 4);call write~init~int(9, ~#Weight~0.base, 36 + ~#Weight~0.offset, 4);call write~init~int(10, ~#Weight~0.base, 40 + ~#Weight~0.offset, 4);call write~init~int(11, ~#Weight~0.base, 44 + ~#Weight~0.offset, 4);call write~init~int(12, ~#Weight~0.base, 48 + ~#Weight~0.offset, 4);call write~init~int(13, ~#Weight~0.base, 52 + ~#Weight~0.offset, 4);call write~init~int(14, ~#Weight~0.base, 56 + ~#Weight~0.offset, 4);call write~init~int(15, ~#Weight~0.base, 60 + ~#Weight~0.offset, 4);call write~init~int(16, ~#Weight~0.base, 64 + ~#Weight~0.offset, 4);call write~init~int(17, ~#Weight~0.base, 68 + ~#Weight~0.offset, 4);call write~init~int(18, ~#Weight~0.base, 72 + ~#Weight~0.offset, 4);call write~init~int(19, ~#Weight~0.base, 76 + ~#Weight~0.offset, 4);call ~#distance~0.base, ~#distance~0.offset := #Ultimate.alloc(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {1602#(= main_~i~0 0)} is VALID [2018-11-23 13:01:40,666 INFO L273 TraceCheckUtils]: 8: Hoare triple {1602#(= main_~i~0 0)} assume !!(~i~0 < ~nodecount~0); {1602#(= main_~i~0 0)} is VALID [2018-11-23 13:01:40,667 INFO L273 TraceCheckUtils]: 9: Hoare triple {1602#(= main_~i~0 0)} assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {1602#(= main_~i~0 0)} is VALID [2018-11-23 13:01:40,667 INFO L273 TraceCheckUtils]: 10: Hoare triple {1602#(= main_~i~0 0)} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {1603#(<= 1 main_~i~0)} is VALID [2018-11-23 13:01:40,668 INFO L273 TraceCheckUtils]: 11: Hoare triple {1603#(<= 1 main_~i~0)} assume !!(~i~0 < ~nodecount~0); {1604#(<= 2 main_~nodecount~0)} is VALID [2018-11-23 13:01:40,669 INFO L273 TraceCheckUtils]: 12: Hoare triple {1604#(<= 2 main_~nodecount~0)} assume !(~i~0 == ~source~0);call write~int(~INFINITY~0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {1604#(<= 2 main_~nodecount~0)} is VALID [2018-11-23 13:01:40,669 INFO L273 TraceCheckUtils]: 13: Hoare triple {1604#(<= 2 main_~nodecount~0)} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {1604#(<= 2 main_~nodecount~0)} is VALID [2018-11-23 13:01:40,670 INFO L273 TraceCheckUtils]: 14: Hoare triple {1604#(<= 2 main_~nodecount~0)} assume !(~i~0 < ~nodecount~0); {1604#(<= 2 main_~nodecount~0)} is VALID [2018-11-23 13:01:40,670 INFO L273 TraceCheckUtils]: 15: Hoare triple {1604#(<= 2 main_~nodecount~0)} ~i~0 := 0; {1605#(and (<= 2 main_~nodecount~0) (= main_~i~0 0))} is VALID [2018-11-23 13:01:40,671 INFO L273 TraceCheckUtils]: 16: Hoare triple {1605#(and (<= 2 main_~nodecount~0) (= main_~i~0 0))} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {1605#(and (<= 2 main_~nodecount~0) (= main_~i~0 0))} is VALID [2018-11-23 13:01:40,672 INFO L273 TraceCheckUtils]: 17: Hoare triple {1605#(and (<= 2 main_~nodecount~0) (= main_~i~0 0))} assume !(~j~0 < ~edgecount~0); {1605#(and (<= 2 main_~nodecount~0) (= main_~i~0 0))} is VALID [2018-11-23 13:01:40,673 INFO L273 TraceCheckUtils]: 18: Hoare triple {1605#(and (<= 2 main_~nodecount~0) (= main_~i~0 0))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {1606#(<= (+ main_~i~0 1) main_~nodecount~0)} is VALID [2018-11-23 13:01:40,674 INFO L273 TraceCheckUtils]: 19: Hoare triple {1606#(<= (+ main_~i~0 1) main_~nodecount~0)} assume !(~i~0 < ~nodecount~0); {1601#false} is VALID [2018-11-23 13:01:40,675 INFO L273 TraceCheckUtils]: 20: Hoare triple {1601#false} ~i~0 := 0; {1601#false} is VALID [2018-11-23 13:01:40,675 INFO L273 TraceCheckUtils]: 21: Hoare triple {1601#false} assume !(~i~0 < ~edgecount~0); {1601#false} is VALID [2018-11-23 13:01:40,676 INFO L273 TraceCheckUtils]: 22: Hoare triple {1601#false} ~i~0 := 0; {1601#false} is VALID [2018-11-23 13:01:40,676 INFO L273 TraceCheckUtils]: 23: Hoare triple {1601#false} assume !!(~i~0 < ~nodecount~0);call #t~mem18 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {1601#false} is VALID [2018-11-23 13:01:40,676 INFO L256 TraceCheckUtils]: 24: Hoare triple {1601#false} call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); {1601#false} is VALID [2018-11-23 13:01:40,677 INFO L273 TraceCheckUtils]: 25: Hoare triple {1601#false} ~cond := #in~cond; {1601#false} is VALID [2018-11-23 13:01:40,677 INFO L273 TraceCheckUtils]: 26: Hoare triple {1601#false} assume 0 == ~cond; {1601#false} is VALID [2018-11-23 13:01:40,677 INFO L273 TraceCheckUtils]: 27: Hoare triple {1601#false} assume !false; {1601#false} is VALID [2018-11-23 13:01:40,680 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 13:01:40,680 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 13:01:40,680 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:01:40,690 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 13:01:40,735 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:01:40,747 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:01:40,748 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 13:01:40,949 INFO L256 TraceCheckUtils]: 0: Hoare triple {1600#true} call ULTIMATE.init(); {1600#true} is VALID [2018-11-23 13:01:40,949 INFO L273 TraceCheckUtils]: 1: Hoare triple {1600#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~INFINITY~0 := 899; {1600#true} is VALID [2018-11-23 13:01:40,950 INFO L273 TraceCheckUtils]: 2: Hoare triple {1600#true} assume true; {1600#true} is VALID [2018-11-23 13:01:40,950 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1600#true} {1600#true} #111#return; {1600#true} is VALID [2018-11-23 13:01:40,950 INFO L256 TraceCheckUtils]: 4: Hoare triple {1600#true} call #t~ret19 := main(); {1600#true} is VALID [2018-11-23 13:01:40,950 INFO L273 TraceCheckUtils]: 5: Hoare triple {1600#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~nodecount~0 := #t~nondet1;havoc #t~nondet1;assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~edgecount~0 := #t~nondet2;havoc #t~nondet2; {1600#true} is VALID [2018-11-23 13:01:40,951 INFO L273 TraceCheckUtils]: 6: Hoare triple {1600#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {1600#true} is VALID [2018-11-23 13:01:40,954 INFO L273 TraceCheckUtils]: 7: Hoare triple {1600#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.alloc(80);call write~init~int(0, ~#Source~0.base, ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 4 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 8 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 12 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 16 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 20 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 24 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 28 + ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 32 + ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 36 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 40 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 44 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 48 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 52 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 56 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 60 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 64 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 68 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 72 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 76 + ~#Source~0.offset, 4);call ~#Dest~0.base, ~#Dest~0.offset := #Ultimate.alloc(80);call write~init~int(1, ~#Dest~0.base, ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 4 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 8 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 12 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 16 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 20 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 24 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 28 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 32 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 36 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 40 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 44 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 48 + ~#Dest~0.offset, 4);call write~init~int(2, ~#Dest~0.base, 52 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 56 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 60 + ~#Dest~0.offset, 4);call write~init~int(2, ~#Dest~0.base, 64 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 68 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 72 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 76 + ~#Dest~0.offset, 4);call ~#Weight~0.base, ~#Weight~0.offset := #Ultimate.alloc(80);call write~init~int(0, ~#Weight~0.base, ~#Weight~0.offset, 4);call write~init~int(1, ~#Weight~0.base, 4 + ~#Weight~0.offset, 4);call write~init~int(2, ~#Weight~0.base, 8 + ~#Weight~0.offset, 4);call write~init~int(3, ~#Weight~0.base, 12 + ~#Weight~0.offset, 4);call write~init~int(4, ~#Weight~0.base, 16 + ~#Weight~0.offset, 4);call write~init~int(5, ~#Weight~0.base, 20 + ~#Weight~0.offset, 4);call write~init~int(6, ~#Weight~0.base, 24 + ~#Weight~0.offset, 4);call write~init~int(7, ~#Weight~0.base, 28 + ~#Weight~0.offset, 4);call write~init~int(8, ~#Weight~0.base, 32 + ~#Weight~0.offset, 4);call write~init~int(9, ~#Weight~0.base, 36 + ~#Weight~0.offset, 4);call write~init~int(10, ~#Weight~0.base, 40 + ~#Weight~0.offset, 4);call write~init~int(11, ~#Weight~0.base, 44 + ~#Weight~0.offset, 4);call write~init~int(12, ~#Weight~0.base, 48 + ~#Weight~0.offset, 4);call write~init~int(13, ~#Weight~0.base, 52 + ~#Weight~0.offset, 4);call write~init~int(14, ~#Weight~0.base, 56 + ~#Weight~0.offset, 4);call write~init~int(15, ~#Weight~0.base, 60 + ~#Weight~0.offset, 4);call write~init~int(16, ~#Weight~0.base, 64 + ~#Weight~0.offset, 4);call write~init~int(17, ~#Weight~0.base, 68 + ~#Weight~0.offset, 4);call write~init~int(18, ~#Weight~0.base, 72 + ~#Weight~0.offset, 4);call write~init~int(19, ~#Weight~0.base, 76 + ~#Weight~0.offset, 4);call ~#distance~0.base, ~#distance~0.offset := #Ultimate.alloc(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {1631#(<= 0 main_~i~0)} is VALID [2018-11-23 13:01:40,987 INFO L273 TraceCheckUtils]: 8: Hoare triple {1631#(<= 0 main_~i~0)} assume !!(~i~0 < ~nodecount~0); {1631#(<= 0 main_~i~0)} is VALID [2018-11-23 13:01:40,996 INFO L273 TraceCheckUtils]: 9: Hoare triple {1631#(<= 0 main_~i~0)} assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {1631#(<= 0 main_~i~0)} is VALID [2018-11-23 13:01:41,000 INFO L273 TraceCheckUtils]: 10: Hoare triple {1631#(<= 0 main_~i~0)} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {1603#(<= 1 main_~i~0)} is VALID [2018-11-23 13:01:41,001 INFO L273 TraceCheckUtils]: 11: Hoare triple {1603#(<= 1 main_~i~0)} assume !!(~i~0 < ~nodecount~0); {1604#(<= 2 main_~nodecount~0)} is VALID [2018-11-23 13:01:41,003 INFO L273 TraceCheckUtils]: 12: Hoare triple {1604#(<= 2 main_~nodecount~0)} assume !(~i~0 == ~source~0);call write~int(~INFINITY~0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {1604#(<= 2 main_~nodecount~0)} is VALID [2018-11-23 13:01:41,012 INFO L273 TraceCheckUtils]: 13: Hoare triple {1604#(<= 2 main_~nodecount~0)} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {1604#(<= 2 main_~nodecount~0)} is VALID [2018-11-23 13:01:41,018 INFO L273 TraceCheckUtils]: 14: Hoare triple {1604#(<= 2 main_~nodecount~0)} assume !(~i~0 < ~nodecount~0); {1604#(<= 2 main_~nodecount~0)} is VALID [2018-11-23 13:01:41,021 INFO L273 TraceCheckUtils]: 15: Hoare triple {1604#(<= 2 main_~nodecount~0)} ~i~0 := 0; {1656#(and (<= 2 main_~nodecount~0) (<= main_~i~0 0))} is VALID [2018-11-23 13:01:41,026 INFO L273 TraceCheckUtils]: 16: Hoare triple {1656#(and (<= 2 main_~nodecount~0) (<= main_~i~0 0))} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {1656#(and (<= 2 main_~nodecount~0) (<= main_~i~0 0))} is VALID [2018-11-23 13:01:41,029 INFO L273 TraceCheckUtils]: 17: Hoare triple {1656#(and (<= 2 main_~nodecount~0) (<= main_~i~0 0))} assume !(~j~0 < ~edgecount~0); {1656#(and (<= 2 main_~nodecount~0) (<= main_~i~0 0))} is VALID [2018-11-23 13:01:41,030 INFO L273 TraceCheckUtils]: 18: Hoare triple {1656#(and (<= 2 main_~nodecount~0) (<= main_~i~0 0))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {1666#(and (<= 2 main_~nodecount~0) (<= main_~i~0 1))} is VALID [2018-11-23 13:01:41,030 INFO L273 TraceCheckUtils]: 19: Hoare triple {1666#(and (<= 2 main_~nodecount~0) (<= main_~i~0 1))} assume !(~i~0 < ~nodecount~0); {1601#false} is VALID [2018-11-23 13:01:41,030 INFO L273 TraceCheckUtils]: 20: Hoare triple {1601#false} ~i~0 := 0; {1601#false} is VALID [2018-11-23 13:01:41,030 INFO L273 TraceCheckUtils]: 21: Hoare triple {1601#false} assume !(~i~0 < ~edgecount~0); {1601#false} is VALID [2018-11-23 13:01:41,031 INFO L273 TraceCheckUtils]: 22: Hoare triple {1601#false} ~i~0 := 0; {1601#false} is VALID [2018-11-23 13:01:41,031 INFO L273 TraceCheckUtils]: 23: Hoare triple {1601#false} assume !!(~i~0 < ~nodecount~0);call #t~mem18 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {1601#false} is VALID [2018-11-23 13:01:41,031 INFO L256 TraceCheckUtils]: 24: Hoare triple {1601#false} call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); {1601#false} is VALID [2018-11-23 13:01:41,031 INFO L273 TraceCheckUtils]: 25: Hoare triple {1601#false} ~cond := #in~cond; {1601#false} is VALID [2018-11-23 13:01:41,032 INFO L273 TraceCheckUtils]: 26: Hoare triple {1601#false} assume 0 == ~cond; {1601#false} is VALID [2018-11-23 13:01:41,032 INFO L273 TraceCheckUtils]: 27: Hoare triple {1601#false} assume !false; {1601#false} is VALID [2018-11-23 13:01:41,033 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 13:01:41,055 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 13:01:41,055 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 10 [2018-11-23 13:01:41,055 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 28 [2018-11-23 13:01:41,056 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:01:41,056 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-11-23 13:01:41,150 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:01:41,150 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-11-23 13:01:41,150 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-11-23 13:01:41,150 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=30, Invalid=60, Unknown=0, NotChecked=0, Total=90 [2018-11-23 13:01:41,150 INFO L87 Difference]: Start difference. First operand 68 states and 84 transitions. Second operand 10 states. [2018-11-23 13:01:42,851 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:42,851 INFO L93 Difference]: Finished difference Result 195 states and 249 transitions. [2018-11-23 13:01:42,851 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-11-23 13:01:42,851 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 28 [2018-11-23 13:01:42,852 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:01:42,852 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-11-23 13:01:42,855 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 121 transitions. [2018-11-23 13:01:42,855 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-11-23 13:01:42,858 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 121 transitions. [2018-11-23 13:01:42,858 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 121 transitions. [2018-11-23 13:01:43,011 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 121 edges. 121 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:01:43,015 INFO L225 Difference]: With dead ends: 195 [2018-11-23 13:01:43,016 INFO L226 Difference]: Without dead ends: 165 [2018-11-23 13:01:43,016 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 38 GetRequests, 26 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 20 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=57, Invalid=125, Unknown=0, NotChecked=0, Total=182 [2018-11-23 13:01:43,017 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 165 states. [2018-11-23 13:01:43,208 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 165 to 87. [2018-11-23 13:01:43,208 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:01:43,208 INFO L82 GeneralOperation]: Start isEquivalent. First operand 165 states. Second operand 87 states. [2018-11-23 13:01:43,208 INFO L74 IsIncluded]: Start isIncluded. First operand 165 states. Second operand 87 states. [2018-11-23 13:01:43,209 INFO L87 Difference]: Start difference. First operand 165 states. Second operand 87 states. [2018-11-23 13:01:43,216 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:43,216 INFO L93 Difference]: Finished difference Result 165 states and 213 transitions. [2018-11-23 13:01:43,216 INFO L276 IsEmpty]: Start isEmpty. Operand 165 states and 213 transitions. [2018-11-23 13:01:43,217 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:01:43,217 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:01:43,217 INFO L74 IsIncluded]: Start isIncluded. First operand 87 states. Second operand 165 states. [2018-11-23 13:01:43,218 INFO L87 Difference]: Start difference. First operand 87 states. Second operand 165 states. [2018-11-23 13:01:43,224 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:43,225 INFO L93 Difference]: Finished difference Result 165 states and 213 transitions. [2018-11-23 13:01:43,225 INFO L276 IsEmpty]: Start isEmpty. Operand 165 states and 213 transitions. [2018-11-23 13:01:43,225 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:01:43,225 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:01:43,226 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:01:43,226 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:01:43,226 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 87 states. [2018-11-23 13:01:43,229 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 87 states to 87 states and 110 transitions. [2018-11-23 13:01:43,229 INFO L78 Accepts]: Start accepts. Automaton has 87 states and 110 transitions. Word has length 28 [2018-11-23 13:01:43,229 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:01:43,229 INFO L480 AbstractCegarLoop]: Abstraction has 87 states and 110 transitions. [2018-11-23 13:01:43,229 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-11-23 13:01:43,230 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 110 transitions. [2018-11-23 13:01:43,230 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2018-11-23 13:01:43,230 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:01:43,231 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:01:43,231 INFO L423 AbstractCegarLoop]: === Iteration 6 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:01:43,231 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:01:43,231 INFO L82 PathProgramCache]: Analyzing trace with hash 1281163029, now seen corresponding path program 1 times [2018-11-23 13:01:43,231 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:01:43,231 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:01:43,232 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:01:43,232 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 13:01:43,233 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:01:43,334 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:01:44,227 WARN L180 SmtUtils]: Spent 119.00 ms on a formula simplification. DAG size of input: 92 DAG size of output: 34 [2018-11-23 13:01:44,486 WARN L180 SmtUtils]: Spent 114.00 ms on a formula simplification. DAG size of input: 118 DAG size of output: 31 [2018-11-23 13:01:45,448 INFO L256 TraceCheckUtils]: 0: Hoare triple {2430#true} call ULTIMATE.init(); {2430#true} is VALID [2018-11-23 13:01:45,449 INFO L273 TraceCheckUtils]: 1: Hoare triple {2430#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~INFINITY~0 := 899; {2430#true} is VALID [2018-11-23 13:01:45,449 INFO L273 TraceCheckUtils]: 2: Hoare triple {2430#true} assume true; {2430#true} is VALID [2018-11-23 13:01:45,450 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2430#true} {2430#true} #111#return; {2430#true} is VALID [2018-11-23 13:01:45,450 INFO L256 TraceCheckUtils]: 4: Hoare triple {2430#true} call #t~ret19 := main(); {2430#true} is VALID [2018-11-23 13:01:45,451 INFO L273 TraceCheckUtils]: 5: Hoare triple {2430#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~nodecount~0 := #t~nondet1;havoc #t~nondet1;assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~edgecount~0 := #t~nondet2;havoc #t~nondet2; {2430#true} is VALID [2018-11-23 13:01:45,451 INFO L273 TraceCheckUtils]: 6: Hoare triple {2430#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {2430#true} is VALID [2018-11-23 13:01:45,455 INFO L273 TraceCheckUtils]: 7: Hoare triple {2430#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.alloc(80);call write~init~int(0, ~#Source~0.base, ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 4 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 8 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 12 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 16 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 20 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 24 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 28 + ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 32 + ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 36 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 40 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 44 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 48 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 52 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 56 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 60 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 64 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 68 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 72 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 76 + ~#Source~0.offset, 4);call ~#Dest~0.base, ~#Dest~0.offset := #Ultimate.alloc(80);call write~init~int(1, ~#Dest~0.base, ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 4 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 8 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 12 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 16 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 20 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 24 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 28 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 32 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 36 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 40 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 44 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 48 + ~#Dest~0.offset, 4);call write~init~int(2, ~#Dest~0.base, 52 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 56 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 60 + ~#Dest~0.offset, 4);call write~init~int(2, ~#Dest~0.base, 64 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 68 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 72 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 76 + ~#Dest~0.offset, 4);call ~#Weight~0.base, ~#Weight~0.offset := #Ultimate.alloc(80);call write~init~int(0, ~#Weight~0.base, ~#Weight~0.offset, 4);call write~init~int(1, ~#Weight~0.base, 4 + ~#Weight~0.offset, 4);call write~init~int(2, ~#Weight~0.base, 8 + ~#Weight~0.offset, 4);call write~init~int(3, ~#Weight~0.base, 12 + ~#Weight~0.offset, 4);call write~init~int(4, ~#Weight~0.base, 16 + ~#Weight~0.offset, 4);call write~init~int(5, ~#Weight~0.base, 20 + ~#Weight~0.offset, 4);call write~init~int(6, ~#Weight~0.base, 24 + ~#Weight~0.offset, 4);call write~init~int(7, ~#Weight~0.base, 28 + ~#Weight~0.offset, 4);call write~init~int(8, ~#Weight~0.base, 32 + ~#Weight~0.offset, 4);call write~init~int(9, ~#Weight~0.base, 36 + ~#Weight~0.offset, 4);call write~init~int(10, ~#Weight~0.base, 40 + ~#Weight~0.offset, 4);call write~init~int(11, ~#Weight~0.base, 44 + ~#Weight~0.offset, 4);call write~init~int(12, ~#Weight~0.base, 48 + ~#Weight~0.offset, 4);call write~init~int(13, ~#Weight~0.base, 52 + ~#Weight~0.offset, 4);call write~init~int(14, ~#Weight~0.base, 56 + ~#Weight~0.offset, 4);call write~init~int(15, ~#Weight~0.base, 60 + ~#Weight~0.offset, 4);call write~init~int(16, ~#Weight~0.base, 64 + ~#Weight~0.offset, 4);call write~init~int(17, ~#Weight~0.base, 68 + ~#Weight~0.offset, 4);call write~init~int(18, ~#Weight~0.base, 72 + ~#Weight~0.offset, 4);call write~init~int(19, ~#Weight~0.base, 76 + ~#Weight~0.offset, 4);call ~#distance~0.base, ~#distance~0.offset := #Ultimate.alloc(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {2432#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (<= 0 |main_~#Dest~0.offset|) (= 0 (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|)) (= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (<= |main_~#Dest~0.offset| 0) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= 0 |main_~#Source~0.offset|) (= main_~i~0 0))} is VALID [2018-11-23 13:01:45,455 INFO L273 TraceCheckUtils]: 8: Hoare triple {2432#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (<= 0 |main_~#Dest~0.offset|) (= 0 (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|)) (= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (<= |main_~#Dest~0.offset| 0) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= 0 |main_~#Source~0.offset|) (= main_~i~0 0))} assume !!(~i~0 < ~nodecount~0); {2432#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (<= 0 |main_~#Dest~0.offset|) (= 0 (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|)) (= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (<= |main_~#Dest~0.offset| 0) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= 0 |main_~#Source~0.offset|) (= main_~i~0 0))} is VALID [2018-11-23 13:01:45,456 INFO L273 TraceCheckUtils]: 9: Hoare triple {2432#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (<= 0 |main_~#Dest~0.offset|) (= 0 (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|)) (= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (<= |main_~#Dest~0.offset| 0) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= 0 |main_~#Source~0.offset|) (= main_~i~0 0))} assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {2433#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (<= 0 |main_~#Dest~0.offset|) (= 0 (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|)) (= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (<= |main_~#Dest~0.offset| 0) (= |main_~#distance~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 main_~i~0) |main_~#distance~0.offset|))) (= 0 |main_~#Source~0.offset|) (= main_~i~0 0))} is VALID [2018-11-23 13:01:45,458 INFO L273 TraceCheckUtils]: 10: Hoare triple {2433#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (<= 0 |main_~#Dest~0.offset|) (= 0 (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|)) (= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (<= |main_~#Dest~0.offset| 0) (= |main_~#distance~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 main_~i~0) |main_~#distance~0.offset|))) (= 0 |main_~#Source~0.offset|) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {2434#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (<= 0 |main_~#Dest~0.offset|) (= 0 (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|)) (= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (<= |main_~#Dest~0.offset| 0) (= |main_~#distance~0.offset| 0) (= 0 |main_~#Source~0.offset|))} is VALID [2018-11-23 13:01:45,459 INFO L273 TraceCheckUtils]: 11: Hoare triple {2434#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (<= 0 |main_~#Dest~0.offset|) (= 0 (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|)) (= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (<= |main_~#Dest~0.offset| 0) (= |main_~#distance~0.offset| 0) (= 0 |main_~#Source~0.offset|))} assume !(~i~0 < ~nodecount~0); {2434#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (<= 0 |main_~#Dest~0.offset|) (= 0 (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|)) (= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (<= |main_~#Dest~0.offset| 0) (= |main_~#distance~0.offset| 0) (= 0 |main_~#Source~0.offset|))} is VALID [2018-11-23 13:01:45,460 INFO L273 TraceCheckUtils]: 12: Hoare triple {2434#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (<= 0 |main_~#Dest~0.offset|) (= 0 (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|)) (= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (<= |main_~#Dest~0.offset| 0) (= |main_~#distance~0.offset| 0) (= 0 |main_~#Source~0.offset|))} ~i~0 := 0; {2434#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (<= 0 |main_~#Dest~0.offset|) (= 0 (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|)) (= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (<= |main_~#Dest~0.offset| 0) (= |main_~#distance~0.offset| 0) (= 0 |main_~#Source~0.offset|))} is VALID [2018-11-23 13:01:45,461 INFO L273 TraceCheckUtils]: 13: Hoare triple {2434#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (<= 0 |main_~#Dest~0.offset|) (= 0 (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|)) (= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (<= |main_~#Dest~0.offset| 0) (= |main_~#distance~0.offset| 0) (= 0 |main_~#Source~0.offset|))} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {2435#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (= 0 (+ (* 4 main_~j~0) |main_~#Source~0.offset|)) (= main_~j~0 0) (= |main_~#distance~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#Source~0.base|) (+ (* 4 main_~j~0) |main_~#Source~0.offset|))) (= 0 (+ (* 4 main_~j~0) |main_~#Dest~0.offset|)) (= 1 (select (select |#memory_int| |main_~#Dest~0.base|) (+ (* 4 main_~j~0) |main_~#Dest~0.offset|))))} is VALID [2018-11-23 13:01:45,463 INFO L273 TraceCheckUtils]: 14: Hoare triple {2435#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (= 0 (+ (* 4 main_~j~0) |main_~#Source~0.offset|)) (= main_~j~0 0) (= |main_~#distance~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#Source~0.base|) (+ (* 4 main_~j~0) |main_~#Source~0.offset|))) (= 0 (+ (* 4 main_~j~0) |main_~#Dest~0.offset|)) (= 1 (select (select |#memory_int| |main_~#Dest~0.base|) (+ (* 4 main_~j~0) |main_~#Dest~0.offset|))))} assume !!(~j~0 < ~edgecount~0);call #t~mem6 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4);~x~0 := #t~mem6;havoc #t~mem6;call #t~mem7 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4);~y~0 := #t~mem7;havoc #t~mem7;call #t~mem10 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem8 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem9 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); {2436#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (= 0 (select (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 main_~x~0)) (- 1)) 0)) (<= 0 |main_~#Source~0.offset|) (= 0 (+ (* 4 main_~j~0) |main_~#Source~0.offset|)) (<= |main_~#Source~0.offset| 0) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)))} is VALID [2018-11-23 13:01:45,465 INFO L273 TraceCheckUtils]: 15: Hoare triple {2436#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (= 0 (select (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 main_~x~0)) (- 1)) 0)) (<= 0 |main_~#Source~0.offset|) (= 0 (+ (* 4 main_~j~0) |main_~#Source~0.offset|)) (<= |main_~#Source~0.offset| 0) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)))} assume #t~mem10 > #t~mem8 + #t~mem9;havoc #t~mem8;havoc #t~mem10;havoc #t~mem9;call write~int(-1, ~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); {2437#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= 0 (+ (* 4 main_~j~0) |main_~#Source~0.offset|)) (= main_~j~0 0) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)))} is VALID [2018-11-23 13:01:45,467 INFO L273 TraceCheckUtils]: 16: Hoare triple {2437#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= 0 (+ (* 4 main_~j~0) |main_~#Source~0.offset|)) (= main_~j~0 0) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)))} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {2438#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (<= 0 |main_~#Source~0.offset|) (<= |main_~#Source~0.offset| 0) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)))} is VALID [2018-11-23 13:01:45,468 INFO L273 TraceCheckUtils]: 17: Hoare triple {2438#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (<= 0 |main_~#Source~0.offset|) (<= |main_~#Source~0.offset| 0) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)))} assume !(~j~0 < ~edgecount~0); {2438#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (<= 0 |main_~#Source~0.offset|) (<= |main_~#Source~0.offset| 0) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)))} is VALID [2018-11-23 13:01:45,469 INFO L273 TraceCheckUtils]: 18: Hoare triple {2438#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (<= 0 |main_~#Source~0.offset|) (<= |main_~#Source~0.offset| 0) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {2438#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (<= 0 |main_~#Source~0.offset|) (<= |main_~#Source~0.offset| 0) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)))} is VALID [2018-11-23 13:01:45,469 INFO L273 TraceCheckUtils]: 19: Hoare triple {2438#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (<= 0 |main_~#Source~0.offset|) (<= |main_~#Source~0.offset| 0) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)))} assume !(~i~0 < ~nodecount~0); {2438#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (<= 0 |main_~#Source~0.offset|) (<= |main_~#Source~0.offset| 0) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)))} is VALID [2018-11-23 13:01:45,471 INFO L273 TraceCheckUtils]: 20: Hoare triple {2438#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (<= 0 |main_~#Source~0.offset|) (<= |main_~#Source~0.offset| 0) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)))} ~i~0 := 0; {2439#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (= 0 (+ (* 4 main_~i~0) |main_~#Source~0.offset|)) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= main_~i~0 0))} is VALID [2018-11-23 13:01:45,472 INFO L273 TraceCheckUtils]: 21: Hoare triple {2439#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (= 0 (+ (* 4 main_~i~0) |main_~#Source~0.offset|)) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= main_~i~0 0))} assume !!(~i~0 < ~edgecount~0);call #t~mem12 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~i~0, 4);~x~0 := #t~mem12;havoc #t~mem12;call #t~mem13 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~i~0, 4);~y~0 := #t~mem13;havoc #t~mem13;call #t~mem16 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem14 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem15 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~i~0, 4); {2440#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 13:01:45,473 INFO L273 TraceCheckUtils]: 22: Hoare triple {2440#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0) (= main_~i~0 0))} assume !(#t~mem16 > #t~mem14 + #t~mem15);havoc #t~mem14;havoc #t~mem15;havoc #t~mem16; {2440#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 13:01:45,474 INFO L273 TraceCheckUtils]: 23: Hoare triple {2440#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0) (= main_~i~0 0))} #t~post11 := ~i~0;~i~0 := 1 + #t~post11;havoc #t~post11; {2441#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:01:45,474 INFO L273 TraceCheckUtils]: 24: Hoare triple {2441#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} assume !(~i~0 < ~edgecount~0); {2441#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:01:45,476 INFO L273 TraceCheckUtils]: 25: Hoare triple {2441#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} ~i~0 := 0; {2440#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 13:01:45,477 INFO L273 TraceCheckUtils]: 26: Hoare triple {2440#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0) (= main_~i~0 0))} assume !!(~i~0 < ~nodecount~0);call #t~mem18 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {2442#(= |main_#t~mem18| 0)} is VALID [2018-11-23 13:01:45,478 INFO L256 TraceCheckUtils]: 27: Hoare triple {2442#(= |main_#t~mem18| 0)} call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); {2443#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 13:01:45,478 INFO L273 TraceCheckUtils]: 28: Hoare triple {2443#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {2444#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-23 13:01:45,479 INFO L273 TraceCheckUtils]: 29: Hoare triple {2444#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {2431#false} is VALID [2018-11-23 13:01:45,479 INFO L273 TraceCheckUtils]: 30: Hoare triple {2431#false} assume !false; {2431#false} is VALID [2018-11-23 13:01:45,488 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 13:01:45,488 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 13:01:45,488 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:01:45,505 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 13:01:45,543 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:01:45,572 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:01:45,577 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 13:01:45,697 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 25 [2018-11-23 13:01:45,721 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:01:45,723 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:01:45,724 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 38 [2018-11-23 13:01:45,767 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:01:45,769 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:01:45,770 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:01:45,772 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:01:45,774 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 21 [2018-11-23 13:01:45,782 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 13:01:45,791 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:01:45,802 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:01:45,823 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:01:45,824 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 3 variables, input treesize:42, output treesize:21 [2018-11-23 13:01:45,828 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 13:01:45,828 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#valid_22|, |main_~#Source~0.base|, |main_~#Weight~0.base|]. (let ((.cse0 (store (store |v_#valid_22| |main_~#Source~0.base| 1) |main_~#Dest~0.base| 1))) (and (= 0 |main_~#distance~0.offset|) (= 0 |main_~#Dest~0.offset|) (= (select (store .cse0 |main_~#Weight~0.base| 1) |main_~#distance~0.base|) 0) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (= (select .cse0 |main_~#Weight~0.base|) 0) (= main_~i~0 0))) [2018-11-23 13:01:45,828 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= 0 |main_~#distance~0.offset|) (= 0 |main_~#Dest~0.offset|) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= main_~i~0 0)) [2018-11-23 13:01:45,893 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:01:45,895 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 19 treesize of output 29 [2018-11-23 13:01:45,902 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 16 [2018-11-23 13:01:45,904 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 13:01:45,914 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:01:45,925 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:01:45,925 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:29, output treesize:21 [2018-11-23 13:01:46,198 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:01:46,200 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:01:46,204 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:01:46,211 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 55 [2018-11-23 13:01:46,225 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:01:46,230 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:01:46,248 INFO L478 Elim1Store]: Elim1 applied some preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 3 case distinctions, treesize of input 37 treesize of output 66 [2018-11-23 13:01:46,262 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 2 xjuncts. [2018-11-23 13:01:46,305 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:01:46,321 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-11-23 13:01:46,321 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:40, output treesize:36 [2018-11-23 13:01:46,329 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 13:01:46,329 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_15|, main_~x~0, |main_~#Dest~0.base|]. (let ((.cse0 (select (select |v_#memory_int_15| |main_~#Dest~0.base|) 0)) (.cse1 (select |v_#memory_int_15| |main_~#distance~0.base|))) (and (<= .cse0 main_~x~0) (<= 1 .cse0) (= 0 |main_~#distance~0.offset|) (= 0 (select .cse1 |main_~#distance~0.offset|)) (= (store |v_#memory_int_15| |main_~#distance~0.base| (store .cse1 (+ (* 4 main_~x~0) |main_~#distance~0.offset|) (- 1))) |#memory_int|))) [2018-11-23 13:01:46,329 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [main_~x~0, |main_~#Dest~0.base|]. (let ((.cse0 (select (select |#memory_int| |main_~#Dest~0.base|) 0)) (.cse1 (select |#memory_int| |main_~#distance~0.base|))) (and (<= .cse0 main_~x~0) (= 0 |main_~#distance~0.offset|) (<= 1 .cse0) (= (select .cse1 (+ (* 4 main_~x~0) |main_~#distance~0.offset|)) (- 1)) (= (select .cse1 |main_~#distance~0.offset|) 0))) [2018-11-23 13:01:46,775 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:01:46,776 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:01:46,779 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 40 treesize of output 38 [2018-11-23 13:01:46,793 INFO L478 Elim1Store]: Elim1 applied some preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 1 case distinctions, treesize of input 15 treesize of output 21 [2018-11-23 13:01:46,900 INFO L267 ElimStorePlain]: Start of recursive call 3: 2 dim-0 vars, End of recursive call: 2 dim-0 vars, and 3 xjuncts. [2018-11-23 13:01:46,921 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:01:46,922 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:01:46,923 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 20 treesize of output 10 [2018-11-23 13:01:46,925 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 13:01:46,933 INFO L267 ElimStorePlain]: Start of recursive call 2: 2 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:01:46,939 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:01:46,940 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 4 variables, input treesize:40, output treesize:3 [2018-11-23 13:01:46,943 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 13:01:46,943 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#Dest~0.base|, main_~x~0, |main_~#distance~0.base|]. (let ((.cse2 (select |#memory_int| |main_~#distance~0.base|))) (let ((.cse0 (select (select |#memory_int| |main_~#Dest~0.base|) 0)) (.cse1 (select .cse2 0))) (and (<= .cse0 main_~x~0) (= 0 .cse1) (= (+ (select .cse2 (* 4 main_~x~0)) 1) 0) (<= 1 .cse0) (<= .cse1 |main_#t~mem18|)))) [2018-11-23 13:01:46,943 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (<= 0 |main_#t~mem18|) [2018-11-23 13:01:47,013 INFO L256 TraceCheckUtils]: 0: Hoare triple {2430#true} call ULTIMATE.init(); {2430#true} is VALID [2018-11-23 13:01:47,013 INFO L273 TraceCheckUtils]: 1: Hoare triple {2430#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~INFINITY~0 := 899; {2430#true} is VALID [2018-11-23 13:01:47,014 INFO L273 TraceCheckUtils]: 2: Hoare triple {2430#true} assume true; {2430#true} is VALID [2018-11-23 13:01:47,014 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2430#true} {2430#true} #111#return; {2430#true} is VALID [2018-11-23 13:01:47,014 INFO L256 TraceCheckUtils]: 4: Hoare triple {2430#true} call #t~ret19 := main(); {2430#true} is VALID [2018-11-23 13:01:47,014 INFO L273 TraceCheckUtils]: 5: Hoare triple {2430#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~nodecount~0 := #t~nondet1;havoc #t~nondet1;assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~edgecount~0 := #t~nondet2;havoc #t~nondet2; {2430#true} is VALID [2018-11-23 13:01:47,015 INFO L273 TraceCheckUtils]: 6: Hoare triple {2430#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {2430#true} is VALID [2018-11-23 13:01:47,019 INFO L273 TraceCheckUtils]: 7: Hoare triple {2430#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.alloc(80);call write~init~int(0, ~#Source~0.base, ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 4 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 8 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 12 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 16 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 20 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 24 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 28 + ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 32 + ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 36 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 40 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 44 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 48 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 52 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 56 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 60 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 64 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 68 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 72 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 76 + ~#Source~0.offset, 4);call ~#Dest~0.base, ~#Dest~0.offset := #Ultimate.alloc(80);call write~init~int(1, ~#Dest~0.base, ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 4 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 8 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 12 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 16 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 20 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 24 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 28 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 32 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 36 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 40 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 44 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 48 + ~#Dest~0.offset, 4);call write~init~int(2, ~#Dest~0.base, 52 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 56 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 60 + ~#Dest~0.offset, 4);call write~init~int(2, ~#Dest~0.base, 64 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 68 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 72 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 76 + ~#Dest~0.offset, 4);call ~#Weight~0.base, ~#Weight~0.offset := #Ultimate.alloc(80);call write~init~int(0, ~#Weight~0.base, ~#Weight~0.offset, 4);call write~init~int(1, ~#Weight~0.base, 4 + ~#Weight~0.offset, 4);call write~init~int(2, ~#Weight~0.base, 8 + ~#Weight~0.offset, 4);call write~init~int(3, ~#Weight~0.base, 12 + ~#Weight~0.offset, 4);call write~init~int(4, ~#Weight~0.base, 16 + ~#Weight~0.offset, 4);call write~init~int(5, ~#Weight~0.base, 20 + ~#Weight~0.offset, 4);call write~init~int(6, ~#Weight~0.base, 24 + ~#Weight~0.offset, 4);call write~init~int(7, ~#Weight~0.base, 28 + ~#Weight~0.offset, 4);call write~init~int(8, ~#Weight~0.base, 32 + ~#Weight~0.offset, 4);call write~init~int(9, ~#Weight~0.base, 36 + ~#Weight~0.offset, 4);call write~init~int(10, ~#Weight~0.base, 40 + ~#Weight~0.offset, 4);call write~init~int(11, ~#Weight~0.base, 44 + ~#Weight~0.offset, 4);call write~init~int(12, ~#Weight~0.base, 48 + ~#Weight~0.offset, 4);call write~init~int(13, ~#Weight~0.base, 52 + ~#Weight~0.offset, 4);call write~init~int(14, ~#Weight~0.base, 56 + ~#Weight~0.offset, 4);call write~init~int(15, ~#Weight~0.base, 60 + ~#Weight~0.offset, 4);call write~init~int(16, ~#Weight~0.base, 64 + ~#Weight~0.offset, 4);call write~init~int(17, ~#Weight~0.base, 68 + ~#Weight~0.offset, 4);call write~init~int(18, ~#Weight~0.base, 72 + ~#Weight~0.offset, 4);call write~init~int(19, ~#Weight~0.base, 76 + ~#Weight~0.offset, 4);call ~#distance~0.base, ~#distance~0.offset := #Ultimate.alloc(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {2469#(and (= 0 |main_~#distance~0.offset|) (= 0 |main_~#Dest~0.offset|) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= main_~i~0 0))} is VALID [2018-11-23 13:01:47,021 INFO L273 TraceCheckUtils]: 8: Hoare triple {2469#(and (= 0 |main_~#distance~0.offset|) (= 0 |main_~#Dest~0.offset|) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= main_~i~0 0))} assume !!(~i~0 < ~nodecount~0); {2469#(and (= 0 |main_~#distance~0.offset|) (= 0 |main_~#Dest~0.offset|) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= main_~i~0 0))} is VALID [2018-11-23 13:01:47,022 INFO L273 TraceCheckUtils]: 9: Hoare triple {2469#(and (= 0 |main_~#distance~0.offset|) (= 0 |main_~#Dest~0.offset|) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= main_~i~0 0))} assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {2476#(and (= 0 |main_~#distance~0.offset|) (= 0 |main_~#Dest~0.offset|) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} is VALID [2018-11-23 13:01:47,023 INFO L273 TraceCheckUtils]: 10: Hoare triple {2476#(and (= 0 |main_~#distance~0.offset|) (= 0 |main_~#Dest~0.offset|) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {2476#(and (= 0 |main_~#distance~0.offset|) (= 0 |main_~#Dest~0.offset|) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} is VALID [2018-11-23 13:01:47,025 INFO L273 TraceCheckUtils]: 11: Hoare triple {2476#(and (= 0 |main_~#distance~0.offset|) (= 0 |main_~#Dest~0.offset|) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} assume !(~i~0 < ~nodecount~0); {2476#(and (= 0 |main_~#distance~0.offset|) (= 0 |main_~#Dest~0.offset|) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} is VALID [2018-11-23 13:01:47,026 INFO L273 TraceCheckUtils]: 12: Hoare triple {2476#(and (= 0 |main_~#distance~0.offset|) (= 0 |main_~#Dest~0.offset|) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} ~i~0 := 0; {2476#(and (= 0 |main_~#distance~0.offset|) (= 0 |main_~#Dest~0.offset|) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} is VALID [2018-11-23 13:01:47,028 INFO L273 TraceCheckUtils]: 13: Hoare triple {2476#(and (= 0 |main_~#distance~0.offset|) (= 0 |main_~#Dest~0.offset|) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {2489#(and (= 0 |main_~#distance~0.offset|) (= 0 |main_~#Dest~0.offset|) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (= main_~j~0 0) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} is VALID [2018-11-23 13:01:47,030 INFO L273 TraceCheckUtils]: 14: Hoare triple {2489#(and (= 0 |main_~#distance~0.offset|) (= 0 |main_~#Dest~0.offset|) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (= main_~j~0 0) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} assume !!(~j~0 < ~edgecount~0);call #t~mem6 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4);~x~0 := #t~mem6;havoc #t~mem6;call #t~mem7 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4);~y~0 := #t~mem7;havoc #t~mem7;call #t~mem10 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem8 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem9 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); {2493#(and (= 0 |main_~#distance~0.offset|) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0) (exists ((|main_~#Dest~0.base| Int)) (and (<= (select (select |#memory_int| |main_~#Dest~0.base|) 0) main_~x~0) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)))))} is VALID [2018-11-23 13:01:47,039 INFO L273 TraceCheckUtils]: 15: Hoare triple {2493#(and (= 0 |main_~#distance~0.offset|) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0) (exists ((|main_~#Dest~0.base| Int)) (and (<= (select (select |#memory_int| |main_~#Dest~0.base|) 0) main_~x~0) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)))))} assume #t~mem10 > #t~mem8 + #t~mem9;havoc #t~mem8;havoc #t~mem10;havoc #t~mem9;call write~int(-1, ~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); {2497#(and (= 0 |main_~#distance~0.offset|) (exists ((main_~x~0 Int) (|main_~#Dest~0.base| Int)) (and (<= (select (select |#memory_int| |main_~#Dest~0.base|) 0) main_~x~0) (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 main_~x~0) |main_~#distance~0.offset|)) 1) 0) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)))) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} is VALID [2018-11-23 13:01:47,041 INFO L273 TraceCheckUtils]: 16: Hoare triple {2497#(and (= 0 |main_~#distance~0.offset|) (exists ((main_~x~0 Int) (|main_~#Dest~0.base| Int)) (and (<= (select (select |#memory_int| |main_~#Dest~0.base|) 0) main_~x~0) (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 main_~x~0) |main_~#distance~0.offset|)) 1) 0) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)))) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {2497#(and (= 0 |main_~#distance~0.offset|) (exists ((main_~x~0 Int) (|main_~#Dest~0.base| Int)) (and (<= (select (select |#memory_int| |main_~#Dest~0.base|) 0) main_~x~0) (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 main_~x~0) |main_~#distance~0.offset|)) 1) 0) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)))) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} is VALID [2018-11-23 13:01:47,043 INFO L273 TraceCheckUtils]: 17: Hoare triple {2497#(and (= 0 |main_~#distance~0.offset|) (exists ((main_~x~0 Int) (|main_~#Dest~0.base| Int)) (and (<= (select (select |#memory_int| |main_~#Dest~0.base|) 0) main_~x~0) (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 main_~x~0) |main_~#distance~0.offset|)) 1) 0) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)))) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} assume !(~j~0 < ~edgecount~0); {2497#(and (= 0 |main_~#distance~0.offset|) (exists ((main_~x~0 Int) (|main_~#Dest~0.base| Int)) (and (<= (select (select |#memory_int| |main_~#Dest~0.base|) 0) main_~x~0) (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 main_~x~0) |main_~#distance~0.offset|)) 1) 0) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)))) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} is VALID [2018-11-23 13:01:47,047 INFO L273 TraceCheckUtils]: 18: Hoare triple {2497#(and (= 0 |main_~#distance~0.offset|) (exists ((main_~x~0 Int) (|main_~#Dest~0.base| Int)) (and (<= (select (select |#memory_int| |main_~#Dest~0.base|) 0) main_~x~0) (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 main_~x~0) |main_~#distance~0.offset|)) 1) 0) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)))) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {2497#(and (= 0 |main_~#distance~0.offset|) (exists ((main_~x~0 Int) (|main_~#Dest~0.base| Int)) (and (<= (select (select |#memory_int| |main_~#Dest~0.base|) 0) main_~x~0) (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 main_~x~0) |main_~#distance~0.offset|)) 1) 0) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)))) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} is VALID [2018-11-23 13:01:47,050 INFO L273 TraceCheckUtils]: 19: Hoare triple {2497#(and (= 0 |main_~#distance~0.offset|) (exists ((main_~x~0 Int) (|main_~#Dest~0.base| Int)) (and (<= (select (select |#memory_int| |main_~#Dest~0.base|) 0) main_~x~0) (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 main_~x~0) |main_~#distance~0.offset|)) 1) 0) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)))) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} assume !(~i~0 < ~nodecount~0); {2497#(and (= 0 |main_~#distance~0.offset|) (exists ((main_~x~0 Int) (|main_~#Dest~0.base| Int)) (and (<= (select (select |#memory_int| |main_~#Dest~0.base|) 0) main_~x~0) (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 main_~x~0) |main_~#distance~0.offset|)) 1) 0) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)))) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} is VALID [2018-11-23 13:01:47,051 INFO L273 TraceCheckUtils]: 20: Hoare triple {2497#(and (= 0 |main_~#distance~0.offset|) (exists ((main_~x~0 Int) (|main_~#Dest~0.base| Int)) (and (<= (select (select |#memory_int| |main_~#Dest~0.base|) 0) main_~x~0) (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 main_~x~0) |main_~#distance~0.offset|)) 1) 0) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)))) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} ~i~0 := 0; {2497#(and (= 0 |main_~#distance~0.offset|) (exists ((main_~x~0 Int) (|main_~#Dest~0.base| Int)) (and (<= (select (select |#memory_int| |main_~#Dest~0.base|) 0) main_~x~0) (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 main_~x~0) |main_~#distance~0.offset|)) 1) 0) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)))) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} is VALID [2018-11-23 13:01:47,052 INFO L273 TraceCheckUtils]: 21: Hoare triple {2497#(and (= 0 |main_~#distance~0.offset|) (exists ((main_~x~0 Int) (|main_~#Dest~0.base| Int)) (and (<= (select (select |#memory_int| |main_~#Dest~0.base|) 0) main_~x~0) (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 main_~x~0) |main_~#distance~0.offset|)) 1) 0) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)))) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} assume !!(~i~0 < ~edgecount~0);call #t~mem12 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~i~0, 4);~x~0 := #t~mem12;havoc #t~mem12;call #t~mem13 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~i~0, 4);~y~0 := #t~mem13;havoc #t~mem13;call #t~mem16 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem14 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem15 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~i~0, 4); {2497#(and (= 0 |main_~#distance~0.offset|) (exists ((main_~x~0 Int) (|main_~#Dest~0.base| Int)) (and (<= (select (select |#memory_int| |main_~#Dest~0.base|) 0) main_~x~0) (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 main_~x~0) |main_~#distance~0.offset|)) 1) 0) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)))) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} is VALID [2018-11-23 13:01:47,053 INFO L273 TraceCheckUtils]: 22: Hoare triple {2497#(and (= 0 |main_~#distance~0.offset|) (exists ((main_~x~0 Int) (|main_~#Dest~0.base| Int)) (and (<= (select (select |#memory_int| |main_~#Dest~0.base|) 0) main_~x~0) (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 main_~x~0) |main_~#distance~0.offset|)) 1) 0) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)))) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} assume !(#t~mem16 > #t~mem14 + #t~mem15);havoc #t~mem14;havoc #t~mem15;havoc #t~mem16; {2497#(and (= 0 |main_~#distance~0.offset|) (exists ((main_~x~0 Int) (|main_~#Dest~0.base| Int)) (and (<= (select (select |#memory_int| |main_~#Dest~0.base|) 0) main_~x~0) (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 main_~x~0) |main_~#distance~0.offset|)) 1) 0) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)))) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} is VALID [2018-11-23 13:01:47,054 INFO L273 TraceCheckUtils]: 23: Hoare triple {2497#(and (= 0 |main_~#distance~0.offset|) (exists ((main_~x~0 Int) (|main_~#Dest~0.base| Int)) (and (<= (select (select |#memory_int| |main_~#Dest~0.base|) 0) main_~x~0) (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 main_~x~0) |main_~#distance~0.offset|)) 1) 0) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)))) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} #t~post11 := ~i~0;~i~0 := 1 + #t~post11;havoc #t~post11; {2497#(and (= 0 |main_~#distance~0.offset|) (exists ((main_~x~0 Int) (|main_~#Dest~0.base| Int)) (and (<= (select (select |#memory_int| |main_~#Dest~0.base|) 0) main_~x~0) (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 main_~x~0) |main_~#distance~0.offset|)) 1) 0) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)))) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} is VALID [2018-11-23 13:01:47,056 INFO L273 TraceCheckUtils]: 24: Hoare triple {2497#(and (= 0 |main_~#distance~0.offset|) (exists ((main_~x~0 Int) (|main_~#Dest~0.base| Int)) (and (<= (select (select |#memory_int| |main_~#Dest~0.base|) 0) main_~x~0) (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 main_~x~0) |main_~#distance~0.offset|)) 1) 0) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)))) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} assume !(~i~0 < ~edgecount~0); {2497#(and (= 0 |main_~#distance~0.offset|) (exists ((main_~x~0 Int) (|main_~#Dest~0.base| Int)) (and (<= (select (select |#memory_int| |main_~#Dest~0.base|) 0) main_~x~0) (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 main_~x~0) |main_~#distance~0.offset|)) 1) 0) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)))) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} is VALID [2018-11-23 13:01:47,057 INFO L273 TraceCheckUtils]: 25: Hoare triple {2497#(and (= 0 |main_~#distance~0.offset|) (exists ((main_~x~0 Int) (|main_~#Dest~0.base| Int)) (and (<= (select (select |#memory_int| |main_~#Dest~0.base|) 0) main_~x~0) (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 main_~x~0) |main_~#distance~0.offset|)) 1) 0) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)))) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} ~i~0 := 0; {2528#(and (= 0 |main_~#distance~0.offset|) (exists ((main_~x~0 Int) (|main_~#Dest~0.base| Int)) (and (<= (select (select |#memory_int| |main_~#Dest~0.base|) 0) main_~x~0) (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 main_~x~0) |main_~#distance~0.offset|)) 1) 0) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)))) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0) (= main_~i~0 0))} is VALID [2018-11-23 13:01:47,059 INFO L273 TraceCheckUtils]: 26: Hoare triple {2528#(and (= 0 |main_~#distance~0.offset|) (exists ((main_~x~0 Int) (|main_~#Dest~0.base| Int)) (and (<= (select (select |#memory_int| |main_~#Dest~0.base|) 0) main_~x~0) (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 main_~x~0) |main_~#distance~0.offset|)) 1) 0) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)))) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0) (= main_~i~0 0))} assume !!(~i~0 < ~nodecount~0);call #t~mem18 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {2532#(<= 0 |main_#t~mem18|)} is VALID [2018-11-23 13:01:47,060 INFO L256 TraceCheckUtils]: 27: Hoare triple {2532#(<= 0 |main_#t~mem18|)} call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); {2536#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 13:01:47,061 INFO L273 TraceCheckUtils]: 28: Hoare triple {2536#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {2540#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 13:01:47,062 INFO L273 TraceCheckUtils]: 29: Hoare triple {2540#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2431#false} is VALID [2018-11-23 13:01:47,062 INFO L273 TraceCheckUtils]: 30: Hoare triple {2431#false} assume !false; {2431#false} is VALID [2018-11-23 13:01:47,070 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-23 13:01:47,098 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 13:01:47,099 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 11] total 24 [2018-11-23 13:01:47,099 INFO L78 Accepts]: Start accepts. Automaton has 24 states. Word has length 31 [2018-11-23 13:01:47,100 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:01:47,100 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 24 states. [2018-11-23 13:01:47,202 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:01:47,202 INFO L459 AbstractCegarLoop]: Interpolant automaton has 24 states [2018-11-23 13:01:47,202 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 24 interpolants. [2018-11-23 13:01:47,203 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=84, Invalid=468, Unknown=0, NotChecked=0, Total=552 [2018-11-23 13:01:47,203 INFO L87 Difference]: Start difference. First operand 87 states and 110 transitions. Second operand 24 states. [2018-11-23 13:01:48,245 WARN L180 SmtUtils]: Spent 108.00 ms on a formula simplification. DAG size of input: 62 DAG size of output: 37 [2018-11-23 13:01:50,170 WARN L180 SmtUtils]: Spent 138.00 ms on a formula simplification. DAG size of input: 55 DAG size of output: 43 [2018-11-23 13:01:55,101 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:55,101 INFO L93 Difference]: Finished difference Result 225 states and 290 transitions. [2018-11-23 13:01:55,101 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 27 states. [2018-11-23 13:01:55,102 INFO L78 Accepts]: Start accepts. Automaton has 24 states. Word has length 31 [2018-11-23 13:01:55,102 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:01:55,102 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2018-11-23 13:01:55,108 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 226 transitions. [2018-11-23 13:01:55,108 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2018-11-23 13:01:55,114 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 226 transitions. [2018-11-23 13:01:55,114 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 27 states and 226 transitions. [2018-11-23 13:01:55,633 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 226 edges. 226 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:01:55,640 INFO L225 Difference]: With dead ends: 225 [2018-11-23 13:01:55,640 INFO L226 Difference]: Without dead ends: 223 [2018-11-23 13:01:55,641 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 65 GetRequests, 23 SyntacticMatches, 1 SemanticMatches, 41 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 408 ImplicationChecksByTransitivity, 3.6s TimeCoverageRelationStatistics Valid=380, Invalid=1426, Unknown=0, NotChecked=0, Total=1806 [2018-11-23 13:01:55,642 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 223 states. [2018-11-23 13:01:55,916 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 223 to 89. [2018-11-23 13:01:55,917 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:01:55,917 INFO L82 GeneralOperation]: Start isEquivalent. First operand 223 states. Second operand 89 states. [2018-11-23 13:01:55,917 INFO L74 IsIncluded]: Start isIncluded. First operand 223 states. Second operand 89 states. [2018-11-23 13:01:55,917 INFO L87 Difference]: Start difference. First operand 223 states. Second operand 89 states. [2018-11-23 13:01:55,928 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:55,929 INFO L93 Difference]: Finished difference Result 223 states and 288 transitions. [2018-11-23 13:01:55,929 INFO L276 IsEmpty]: Start isEmpty. Operand 223 states and 288 transitions. [2018-11-23 13:01:55,930 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:01:55,930 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:01:55,930 INFO L74 IsIncluded]: Start isIncluded. First operand 89 states. Second operand 223 states. [2018-11-23 13:01:55,930 INFO L87 Difference]: Start difference. First operand 89 states. Second operand 223 states. [2018-11-23 13:01:55,939 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:55,939 INFO L93 Difference]: Finished difference Result 223 states and 288 transitions. [2018-11-23 13:01:55,940 INFO L276 IsEmpty]: Start isEmpty. Operand 223 states and 288 transitions. [2018-11-23 13:01:55,941 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:01:55,941 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:01:55,941 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:01:55,941 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:01:55,941 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 89 states. [2018-11-23 13:01:55,944 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 89 states to 89 states and 114 transitions. [2018-11-23 13:01:55,944 INFO L78 Accepts]: Start accepts. Automaton has 89 states and 114 transitions. Word has length 31 [2018-11-23 13:01:55,945 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:01:55,945 INFO L480 AbstractCegarLoop]: Abstraction has 89 states and 114 transitions. [2018-11-23 13:01:55,945 INFO L481 AbstractCegarLoop]: Interpolant automaton has 24 states. [2018-11-23 13:01:55,945 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 114 transitions. [2018-11-23 13:01:55,946 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2018-11-23 13:01:55,946 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:01:55,946 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:01:55,946 INFO L423 AbstractCegarLoop]: === Iteration 7 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:01:55,946 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:01:55,947 INFO L82 PathProgramCache]: Analyzing trace with hash -1972596862, now seen corresponding path program 2 times [2018-11-23 13:01:55,947 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:01:55,947 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:01:55,948 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:01:55,948 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 13:01:55,948 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:01:55,966 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:01:56,338 WARN L180 SmtUtils]: Spent 175.00 ms on a formula simplification. DAG size of input: 13 DAG size of output: 6 [2018-11-23 13:01:56,798 INFO L256 TraceCheckUtils]: 0: Hoare triple {3475#true} call ULTIMATE.init(); {3475#true} is VALID [2018-11-23 13:01:56,798 INFO L273 TraceCheckUtils]: 1: Hoare triple {3475#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~INFINITY~0 := 899; {3475#true} is VALID [2018-11-23 13:01:56,799 INFO L273 TraceCheckUtils]: 2: Hoare triple {3475#true} assume true; {3475#true} is VALID [2018-11-23 13:01:56,799 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3475#true} {3475#true} #111#return; {3475#true} is VALID [2018-11-23 13:01:56,799 INFO L256 TraceCheckUtils]: 4: Hoare triple {3475#true} call #t~ret19 := main(); {3475#true} is VALID [2018-11-23 13:01:56,800 INFO L273 TraceCheckUtils]: 5: Hoare triple {3475#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~nodecount~0 := #t~nondet1;havoc #t~nondet1;assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~edgecount~0 := #t~nondet2;havoc #t~nondet2; {3475#true} is VALID [2018-11-23 13:01:56,800 INFO L273 TraceCheckUtils]: 6: Hoare triple {3475#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {3475#true} is VALID [2018-11-23 13:01:56,803 INFO L273 TraceCheckUtils]: 7: Hoare triple {3475#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.alloc(80);call write~init~int(0, ~#Source~0.base, ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 4 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 8 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 12 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 16 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 20 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 24 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 28 + ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 32 + ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 36 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 40 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 44 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 48 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 52 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 56 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 60 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 64 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 68 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 72 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 76 + ~#Source~0.offset, 4);call ~#Dest~0.base, ~#Dest~0.offset := #Ultimate.alloc(80);call write~init~int(1, ~#Dest~0.base, ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 4 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 8 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 12 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 16 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 20 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 24 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 28 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 32 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 36 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 40 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 44 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 48 + ~#Dest~0.offset, 4);call write~init~int(2, ~#Dest~0.base, 52 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 56 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 60 + ~#Dest~0.offset, 4);call write~init~int(2, ~#Dest~0.base, 64 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 68 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 72 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 76 + ~#Dest~0.offset, 4);call ~#Weight~0.base, ~#Weight~0.offset := #Ultimate.alloc(80);call write~init~int(0, ~#Weight~0.base, ~#Weight~0.offset, 4);call write~init~int(1, ~#Weight~0.base, 4 + ~#Weight~0.offset, 4);call write~init~int(2, ~#Weight~0.base, 8 + ~#Weight~0.offset, 4);call write~init~int(3, ~#Weight~0.base, 12 + ~#Weight~0.offset, 4);call write~init~int(4, ~#Weight~0.base, 16 + ~#Weight~0.offset, 4);call write~init~int(5, ~#Weight~0.base, 20 + ~#Weight~0.offset, 4);call write~init~int(6, ~#Weight~0.base, 24 + ~#Weight~0.offset, 4);call write~init~int(7, ~#Weight~0.base, 28 + ~#Weight~0.offset, 4);call write~init~int(8, ~#Weight~0.base, 32 + ~#Weight~0.offset, 4);call write~init~int(9, ~#Weight~0.base, 36 + ~#Weight~0.offset, 4);call write~init~int(10, ~#Weight~0.base, 40 + ~#Weight~0.offset, 4);call write~init~int(11, ~#Weight~0.base, 44 + ~#Weight~0.offset, 4);call write~init~int(12, ~#Weight~0.base, 48 + ~#Weight~0.offset, 4);call write~init~int(13, ~#Weight~0.base, 52 + ~#Weight~0.offset, 4);call write~init~int(14, ~#Weight~0.base, 56 + ~#Weight~0.offset, 4);call write~init~int(15, ~#Weight~0.base, 60 + ~#Weight~0.offset, 4);call write~init~int(16, ~#Weight~0.base, 64 + ~#Weight~0.offset, 4);call write~init~int(17, ~#Weight~0.base, 68 + ~#Weight~0.offset, 4);call write~init~int(18, ~#Weight~0.base, 72 + ~#Weight~0.offset, 4);call write~init~int(19, ~#Weight~0.base, 76 + ~#Weight~0.offset, 4);call ~#distance~0.base, ~#distance~0.offset := #Ultimate.alloc(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {3477#(and (= |main_~#distance~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 13:01:56,803 INFO L273 TraceCheckUtils]: 8: Hoare triple {3477#(and (= |main_~#distance~0.offset| 0) (= main_~i~0 0))} assume !!(~i~0 < ~nodecount~0); {3477#(and (= |main_~#distance~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 13:01:56,804 INFO L273 TraceCheckUtils]: 9: Hoare triple {3477#(and (= |main_~#distance~0.offset| 0) (= main_~i~0 0))} assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {3478#(and (= |main_~#distance~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 main_~i~0) |main_~#distance~0.offset|))) (= main_~i~0 0))} is VALID [2018-11-23 13:01:56,806 INFO L273 TraceCheckUtils]: 10: Hoare triple {3478#(and (= |main_~#distance~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 main_~i~0) |main_~#distance~0.offset|))) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {3479#(and (= 0 (select (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 main_~i~0)) ~INFINITY~0) 0)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:01:56,807 INFO L273 TraceCheckUtils]: 11: Hoare triple {3479#(and (= 0 (select (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 main_~i~0)) ~INFINITY~0) 0)) (= |main_~#distance~0.offset| 0))} assume !!(~i~0 < ~nodecount~0); {3479#(and (= 0 (select (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 main_~i~0)) ~INFINITY~0) 0)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:01:56,808 INFO L273 TraceCheckUtils]: 12: Hoare triple {3479#(and (= 0 (select (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 main_~i~0)) ~INFINITY~0) 0)) (= |main_~#distance~0.offset| 0))} assume !(~i~0 == ~source~0);call write~int(~INFINITY~0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {3480#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:01:56,808 INFO L273 TraceCheckUtils]: 13: Hoare triple {3480#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {3480#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:01:56,809 INFO L273 TraceCheckUtils]: 14: Hoare triple {3480#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} assume !(~i~0 < ~nodecount~0); {3480#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:01:56,815 INFO L273 TraceCheckUtils]: 15: Hoare triple {3480#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} ~i~0 := 0; {3480#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:01:56,818 INFO L273 TraceCheckUtils]: 16: Hoare triple {3480#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {3480#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:01:56,819 INFO L273 TraceCheckUtils]: 17: Hoare triple {3480#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} assume !(~j~0 < ~edgecount~0); {3480#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:01:56,819 INFO L273 TraceCheckUtils]: 18: Hoare triple {3480#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {3480#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:01:56,819 INFO L273 TraceCheckUtils]: 19: Hoare triple {3480#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {3480#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:01:56,820 INFO L273 TraceCheckUtils]: 20: Hoare triple {3480#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} assume !(~j~0 < ~edgecount~0); {3480#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:01:56,820 INFO L273 TraceCheckUtils]: 21: Hoare triple {3480#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {3480#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:01:56,821 INFO L273 TraceCheckUtils]: 22: Hoare triple {3480#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} assume !(~i~0 < ~nodecount~0); {3480#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:01:56,822 INFO L273 TraceCheckUtils]: 23: Hoare triple {3480#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} ~i~0 := 0; {3480#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:01:56,822 INFO L273 TraceCheckUtils]: 24: Hoare triple {3480#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} assume !(~i~0 < ~edgecount~0); {3480#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:01:56,823 INFO L273 TraceCheckUtils]: 25: Hoare triple {3480#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} ~i~0 := 0; {3478#(and (= |main_~#distance~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 main_~i~0) |main_~#distance~0.offset|))) (= main_~i~0 0))} is VALID [2018-11-23 13:01:56,824 INFO L273 TraceCheckUtils]: 26: Hoare triple {3478#(and (= |main_~#distance~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 main_~i~0) |main_~#distance~0.offset|))) (= main_~i~0 0))} assume !!(~i~0 < ~nodecount~0);call #t~mem18 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {3481#(= |main_#t~mem18| 0)} is VALID [2018-11-23 13:01:56,825 INFO L256 TraceCheckUtils]: 27: Hoare triple {3481#(= |main_#t~mem18| 0)} call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); {3482#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 13:01:56,826 INFO L273 TraceCheckUtils]: 28: Hoare triple {3482#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {3483#(= __VERIFIER_assert_~cond 1)} is VALID [2018-11-23 13:01:56,826 INFO L273 TraceCheckUtils]: 29: Hoare triple {3483#(= __VERIFIER_assert_~cond 1)} assume 0 == ~cond; {3476#false} is VALID [2018-11-23 13:01:56,827 INFO L273 TraceCheckUtils]: 30: Hoare triple {3476#false} assume !false; {3476#false} is VALID [2018-11-23 13:01:56,829 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2018-11-23 13:01:56,829 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 13:01:56,830 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:01:56,841 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 13:01:56,876 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 13:01:56,876 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 13:01:56,890 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:01:56,891 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 13:01:56,952 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 12 [2018-11-23 13:01:56,960 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 11 [2018-11-23 13:01:56,963 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 13:01:56,965 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:01:56,973 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:01:56,973 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:25, output treesize:21 [2018-11-23 13:01:57,037 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 16 [2018-11-23 13:01:57,044 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:01:57,046 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 23 [2018-11-23 13:01:57,048 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 13:01:57,055 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:01:57,062 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:01:57,063 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:24, output treesize:11 [2018-11-23 13:01:57,067 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 13:01:57,068 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_17|, ~INFINITY~0]. (let ((.cse0 (select |v_#memory_int_17| |main_~#distance~0.base|))) (and (= 0 |main_~#distance~0.offset|) (= 0 (select .cse0 |main_~#distance~0.offset|)) (= |#memory_int| (store |v_#memory_int_17| |main_~#distance~0.base| (store .cse0 (+ |main_~#distance~0.offset| 4) ~INFINITY~0))))) [2018-11-23 13:01:57,068 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= 0 |main_~#distance~0.offset|) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0)) [2018-11-23 13:01:57,147 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 11 [2018-11-23 13:01:57,159 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 3 [2018-11-23 13:01:57,159 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 13:01:57,161 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:01:57,162 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:01:57,162 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:15, output treesize:3 [2018-11-23 13:01:57,164 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 13:01:57,165 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#distance~0.base|]. (let ((.cse0 (select (select |#memory_int| |main_~#distance~0.base|) 0))) (and (= 0 .cse0) (<= .cse0 |main_#t~mem18|))) [2018-11-23 13:01:57,165 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (<= 0 |main_#t~mem18|) [2018-11-23 13:01:57,187 INFO L256 TraceCheckUtils]: 0: Hoare triple {3475#true} call ULTIMATE.init(); {3475#true} is VALID [2018-11-23 13:01:57,187 INFO L273 TraceCheckUtils]: 1: Hoare triple {3475#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~INFINITY~0 := 899; {3475#true} is VALID [2018-11-23 13:01:57,187 INFO L273 TraceCheckUtils]: 2: Hoare triple {3475#true} assume true; {3475#true} is VALID [2018-11-23 13:01:57,188 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3475#true} {3475#true} #111#return; {3475#true} is VALID [2018-11-23 13:01:57,188 INFO L256 TraceCheckUtils]: 4: Hoare triple {3475#true} call #t~ret19 := main(); {3475#true} is VALID [2018-11-23 13:01:57,188 INFO L273 TraceCheckUtils]: 5: Hoare triple {3475#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~nodecount~0 := #t~nondet1;havoc #t~nondet1;assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~edgecount~0 := #t~nondet2;havoc #t~nondet2; {3475#true} is VALID [2018-11-23 13:01:57,188 INFO L273 TraceCheckUtils]: 6: Hoare triple {3475#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {3475#true} is VALID [2018-11-23 13:01:57,191 INFO L273 TraceCheckUtils]: 7: Hoare triple {3475#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.alloc(80);call write~init~int(0, ~#Source~0.base, ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 4 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 8 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 12 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 16 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 20 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 24 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 28 + ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 32 + ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 36 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 40 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 44 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 48 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 52 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 56 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 60 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 64 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 68 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 72 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 76 + ~#Source~0.offset, 4);call ~#Dest~0.base, ~#Dest~0.offset := #Ultimate.alloc(80);call write~init~int(1, ~#Dest~0.base, ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 4 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 8 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 12 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 16 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 20 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 24 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 28 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 32 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 36 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 40 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 44 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 48 + ~#Dest~0.offset, 4);call write~init~int(2, ~#Dest~0.base, 52 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 56 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 60 + ~#Dest~0.offset, 4);call write~init~int(2, ~#Dest~0.base, 64 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 68 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 72 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 76 + ~#Dest~0.offset, 4);call ~#Weight~0.base, ~#Weight~0.offset := #Ultimate.alloc(80);call write~init~int(0, ~#Weight~0.base, ~#Weight~0.offset, 4);call write~init~int(1, ~#Weight~0.base, 4 + ~#Weight~0.offset, 4);call write~init~int(2, ~#Weight~0.base, 8 + ~#Weight~0.offset, 4);call write~init~int(3, ~#Weight~0.base, 12 + ~#Weight~0.offset, 4);call write~init~int(4, ~#Weight~0.base, 16 + ~#Weight~0.offset, 4);call write~init~int(5, ~#Weight~0.base, 20 + ~#Weight~0.offset, 4);call write~init~int(6, ~#Weight~0.base, 24 + ~#Weight~0.offset, 4);call write~init~int(7, ~#Weight~0.base, 28 + ~#Weight~0.offset, 4);call write~init~int(8, ~#Weight~0.base, 32 + ~#Weight~0.offset, 4);call write~init~int(9, ~#Weight~0.base, 36 + ~#Weight~0.offset, 4);call write~init~int(10, ~#Weight~0.base, 40 + ~#Weight~0.offset, 4);call write~init~int(11, ~#Weight~0.base, 44 + ~#Weight~0.offset, 4);call write~init~int(12, ~#Weight~0.base, 48 + ~#Weight~0.offset, 4);call write~init~int(13, ~#Weight~0.base, 52 + ~#Weight~0.offset, 4);call write~init~int(14, ~#Weight~0.base, 56 + ~#Weight~0.offset, 4);call write~init~int(15, ~#Weight~0.base, 60 + ~#Weight~0.offset, 4);call write~init~int(16, ~#Weight~0.base, 64 + ~#Weight~0.offset, 4);call write~init~int(17, ~#Weight~0.base, 68 + ~#Weight~0.offset, 4);call write~init~int(18, ~#Weight~0.base, 72 + ~#Weight~0.offset, 4);call write~init~int(19, ~#Weight~0.base, 76 + ~#Weight~0.offset, 4);call ~#distance~0.base, ~#distance~0.offset := #Ultimate.alloc(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {3508#(and (= 0 |main_~#distance~0.offset|) (= main_~source~0 0) (= main_~i~0 0))} is VALID [2018-11-23 13:01:57,193 INFO L273 TraceCheckUtils]: 8: Hoare triple {3508#(and (= 0 |main_~#distance~0.offset|) (= main_~source~0 0) (= main_~i~0 0))} assume !!(~i~0 < ~nodecount~0); {3508#(and (= 0 |main_~#distance~0.offset|) (= main_~source~0 0) (= main_~i~0 0))} is VALID [2018-11-23 13:01:57,194 INFO L273 TraceCheckUtils]: 9: Hoare triple {3508#(and (= 0 |main_~#distance~0.offset|) (= main_~source~0 0) (= main_~i~0 0))} assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {3515#(and (= 0 |main_~#distance~0.offset|) (= main_~source~0 0) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 main_~i~0) |main_~#distance~0.offset|))) (= main_~i~0 0))} is VALID [2018-11-23 13:01:57,195 INFO L273 TraceCheckUtils]: 10: Hoare triple {3515#(and (= 0 |main_~#distance~0.offset|) (= main_~source~0 0) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 main_~i~0) |main_~#distance~0.offset|))) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {3519#(and (= 0 |main_~#distance~0.offset|) (= main_~source~0 0) (= main_~i~0 1) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} is VALID [2018-11-23 13:01:57,196 INFO L273 TraceCheckUtils]: 11: Hoare triple {3519#(and (= 0 |main_~#distance~0.offset|) (= main_~source~0 0) (= main_~i~0 1) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} assume !!(~i~0 < ~nodecount~0); {3519#(and (= 0 |main_~#distance~0.offset|) (= main_~source~0 0) (= main_~i~0 1) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} is VALID [2018-11-23 13:01:57,197 INFO L273 TraceCheckUtils]: 12: Hoare triple {3519#(and (= 0 |main_~#distance~0.offset|) (= main_~source~0 0) (= main_~i~0 1) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} assume !(~i~0 == ~source~0);call write~int(~INFINITY~0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {3480#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:01:57,198 INFO L273 TraceCheckUtils]: 13: Hoare triple {3480#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {3480#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:01:57,198 INFO L273 TraceCheckUtils]: 14: Hoare triple {3480#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} assume !(~i~0 < ~nodecount~0); {3480#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:01:57,199 INFO L273 TraceCheckUtils]: 15: Hoare triple {3480#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} ~i~0 := 0; {3480#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:01:57,200 INFO L273 TraceCheckUtils]: 16: Hoare triple {3480#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {3480#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:01:57,201 INFO L273 TraceCheckUtils]: 17: Hoare triple {3480#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} assume !(~j~0 < ~edgecount~0); {3480#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:01:57,201 INFO L273 TraceCheckUtils]: 18: Hoare triple {3480#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {3480#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:01:57,202 INFO L273 TraceCheckUtils]: 19: Hoare triple {3480#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {3480#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:01:57,203 INFO L273 TraceCheckUtils]: 20: Hoare triple {3480#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} assume !(~j~0 < ~edgecount~0); {3480#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:01:57,204 INFO L273 TraceCheckUtils]: 21: Hoare triple {3480#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {3480#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:01:57,205 INFO L273 TraceCheckUtils]: 22: Hoare triple {3480#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} assume !(~i~0 < ~nodecount~0); {3480#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:01:57,205 INFO L273 TraceCheckUtils]: 23: Hoare triple {3480#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} ~i~0 := 0; {3480#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:01:57,206 INFO L273 TraceCheckUtils]: 24: Hoare triple {3480#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} assume !(~i~0 < ~edgecount~0); {3480#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:01:57,207 INFO L273 TraceCheckUtils]: 25: Hoare triple {3480#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} ~i~0 := 0; {3478#(and (= |main_~#distance~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 main_~i~0) |main_~#distance~0.offset|))) (= main_~i~0 0))} is VALID [2018-11-23 13:01:57,208 INFO L273 TraceCheckUtils]: 26: Hoare triple {3478#(and (= |main_~#distance~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 main_~i~0) |main_~#distance~0.offset|))) (= main_~i~0 0))} assume !!(~i~0 < ~nodecount~0);call #t~mem18 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {3568#(<= 0 |main_#t~mem18|)} is VALID [2018-11-23 13:01:57,211 INFO L256 TraceCheckUtils]: 27: Hoare triple {3568#(<= 0 |main_#t~mem18|)} call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); {3482#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 13:01:57,212 INFO L273 TraceCheckUtils]: 28: Hoare triple {3482#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {3483#(= __VERIFIER_assert_~cond 1)} is VALID [2018-11-23 13:01:57,213 INFO L273 TraceCheckUtils]: 29: Hoare triple {3483#(= __VERIFIER_assert_~cond 1)} assume 0 == ~cond; {3476#false} is VALID [2018-11-23 13:01:57,213 INFO L273 TraceCheckUtils]: 30: Hoare triple {3476#false} assume !false; {3476#false} is VALID [2018-11-23 13:01:57,216 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2018-11-23 13:01:57,235 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 13:01:57,236 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 10] total 13 [2018-11-23 13:01:57,236 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 31 [2018-11-23 13:01:57,236 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:01:57,236 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states. [2018-11-23 13:01:57,274 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:01:57,275 INFO L459 AbstractCegarLoop]: Interpolant automaton has 13 states [2018-11-23 13:01:57,275 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2018-11-23 13:01:57,275 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=123, Unknown=0, NotChecked=0, Total=156 [2018-11-23 13:01:57,275 INFO L87 Difference]: Start difference. First operand 89 states and 114 transitions. Second operand 13 states. [2018-11-23 13:01:59,600 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:01:59,600 INFO L93 Difference]: Finished difference Result 305 states and 403 transitions. [2018-11-23 13:01:59,601 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2018-11-23 13:01:59,601 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 31 [2018-11-23 13:01:59,601 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:01:59,601 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2018-11-23 13:01:59,605 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 196 transitions. [2018-11-23 13:01:59,605 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2018-11-23 13:01:59,609 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 196 transitions. [2018-11-23 13:01:59,609 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 196 transitions. [2018-11-23 13:01:59,900 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 196 edges. 196 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:01:59,908 INFO L225 Difference]: With dead ends: 305 [2018-11-23 13:01:59,908 INFO L226 Difference]: Without dead ends: 229 [2018-11-23 13:01:59,909 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 45 GetRequests, 25 SyntacticMatches, 5 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 52 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=59, Invalid=213, Unknown=0, NotChecked=0, Total=272 [2018-11-23 13:01:59,910 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 229 states. [2018-11-23 13:02:00,584 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 229 to 102. [2018-11-23 13:02:00,584 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:02:00,584 INFO L82 GeneralOperation]: Start isEquivalent. First operand 229 states. Second operand 102 states. [2018-11-23 13:02:00,585 INFO L74 IsIncluded]: Start isIncluded. First operand 229 states. Second operand 102 states. [2018-11-23 13:02:00,585 INFO L87 Difference]: Start difference. First operand 229 states. Second operand 102 states. [2018-11-23 13:02:00,596 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:02:00,597 INFO L93 Difference]: Finished difference Result 229 states and 301 transitions. [2018-11-23 13:02:00,597 INFO L276 IsEmpty]: Start isEmpty. Operand 229 states and 301 transitions. [2018-11-23 13:02:00,598 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:02:00,598 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:02:00,598 INFO L74 IsIncluded]: Start isIncluded. First operand 102 states. Second operand 229 states. [2018-11-23 13:02:00,598 INFO L87 Difference]: Start difference. First operand 102 states. Second operand 229 states. [2018-11-23 13:02:00,607 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:02:00,607 INFO L93 Difference]: Finished difference Result 229 states and 301 transitions. [2018-11-23 13:02:00,608 INFO L276 IsEmpty]: Start isEmpty. Operand 229 states and 301 transitions. [2018-11-23 13:02:00,608 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:02:00,609 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:02:00,609 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:02:00,609 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:02:00,609 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 102 states. [2018-11-23 13:02:00,612 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 102 states to 102 states and 133 transitions. [2018-11-23 13:02:00,613 INFO L78 Accepts]: Start accepts. Automaton has 102 states and 133 transitions. Word has length 31 [2018-11-23 13:02:00,613 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:02:00,613 INFO L480 AbstractCegarLoop]: Abstraction has 102 states and 133 transitions. [2018-11-23 13:02:00,613 INFO L481 AbstractCegarLoop]: Interpolant automaton has 13 states. [2018-11-23 13:02:00,613 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 133 transitions. [2018-11-23 13:02:00,614 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2018-11-23 13:02:00,614 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:02:00,614 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:02:00,614 INFO L423 AbstractCegarLoop]: === Iteration 8 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:02:00,615 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:02:00,615 INFO L82 PathProgramCache]: Analyzing trace with hash -1698114635, now seen corresponding path program 1 times [2018-11-23 13:02:00,615 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:02:00,615 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:02:00,616 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:02:00,616 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 13:02:00,616 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:02:00,626 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:02:01,159 INFO L256 TraceCheckUtils]: 0: Hoare triple {4621#true} call ULTIMATE.init(); {4621#true} is VALID [2018-11-23 13:02:01,159 INFO L273 TraceCheckUtils]: 1: Hoare triple {4621#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~INFINITY~0 := 899; {4621#true} is VALID [2018-11-23 13:02:01,160 INFO L273 TraceCheckUtils]: 2: Hoare triple {4621#true} assume true; {4621#true} is VALID [2018-11-23 13:02:01,160 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4621#true} {4621#true} #111#return; {4621#true} is VALID [2018-11-23 13:02:01,160 INFO L256 TraceCheckUtils]: 4: Hoare triple {4621#true} call #t~ret19 := main(); {4621#true} is VALID [2018-11-23 13:02:01,160 INFO L273 TraceCheckUtils]: 5: Hoare triple {4621#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~nodecount~0 := #t~nondet1;havoc #t~nondet1;assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~edgecount~0 := #t~nondet2;havoc #t~nondet2; {4621#true} is VALID [2018-11-23 13:02:01,161 INFO L273 TraceCheckUtils]: 6: Hoare triple {4621#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {4621#true} is VALID [2018-11-23 13:02:01,161 INFO L273 TraceCheckUtils]: 7: Hoare triple {4621#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.alloc(80);call write~init~int(0, ~#Source~0.base, ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 4 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 8 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 12 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 16 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 20 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 24 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 28 + ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 32 + ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 36 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 40 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 44 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 48 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 52 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 56 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 60 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 64 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 68 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 72 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 76 + ~#Source~0.offset, 4);call ~#Dest~0.base, ~#Dest~0.offset := #Ultimate.alloc(80);call write~init~int(1, ~#Dest~0.base, ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 4 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 8 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 12 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 16 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 20 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 24 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 28 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 32 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 36 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 40 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 44 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 48 + ~#Dest~0.offset, 4);call write~init~int(2, ~#Dest~0.base, 52 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 56 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 60 + ~#Dest~0.offset, 4);call write~init~int(2, ~#Dest~0.base, 64 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 68 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 72 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 76 + ~#Dest~0.offset, 4);call ~#Weight~0.base, ~#Weight~0.offset := #Ultimate.alloc(80);call write~init~int(0, ~#Weight~0.base, ~#Weight~0.offset, 4);call write~init~int(1, ~#Weight~0.base, 4 + ~#Weight~0.offset, 4);call write~init~int(2, ~#Weight~0.base, 8 + ~#Weight~0.offset, 4);call write~init~int(3, ~#Weight~0.base, 12 + ~#Weight~0.offset, 4);call write~init~int(4, ~#Weight~0.base, 16 + ~#Weight~0.offset, 4);call write~init~int(5, ~#Weight~0.base, 20 + ~#Weight~0.offset, 4);call write~init~int(6, ~#Weight~0.base, 24 + ~#Weight~0.offset, 4);call write~init~int(7, ~#Weight~0.base, 28 + ~#Weight~0.offset, 4);call write~init~int(8, ~#Weight~0.base, 32 + ~#Weight~0.offset, 4);call write~init~int(9, ~#Weight~0.base, 36 + ~#Weight~0.offset, 4);call write~init~int(10, ~#Weight~0.base, 40 + ~#Weight~0.offset, 4);call write~init~int(11, ~#Weight~0.base, 44 + ~#Weight~0.offset, 4);call write~init~int(12, ~#Weight~0.base, 48 + ~#Weight~0.offset, 4);call write~init~int(13, ~#Weight~0.base, 52 + ~#Weight~0.offset, 4);call write~init~int(14, ~#Weight~0.base, 56 + ~#Weight~0.offset, 4);call write~init~int(15, ~#Weight~0.base, 60 + ~#Weight~0.offset, 4);call write~init~int(16, ~#Weight~0.base, 64 + ~#Weight~0.offset, 4);call write~init~int(17, ~#Weight~0.base, 68 + ~#Weight~0.offset, 4);call write~init~int(18, ~#Weight~0.base, 72 + ~#Weight~0.offset, 4);call write~init~int(19, ~#Weight~0.base, 76 + ~#Weight~0.offset, 4);call ~#distance~0.base, ~#distance~0.offset := #Ultimate.alloc(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {4623#(= main_~i~0 0)} is VALID [2018-11-23 13:02:01,162 INFO L273 TraceCheckUtils]: 8: Hoare triple {4623#(= main_~i~0 0)} assume !!(~i~0 < ~nodecount~0); {4623#(= main_~i~0 0)} is VALID [2018-11-23 13:02:01,162 INFO L273 TraceCheckUtils]: 9: Hoare triple {4623#(= main_~i~0 0)} assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {4623#(= main_~i~0 0)} is VALID [2018-11-23 13:02:01,163 INFO L273 TraceCheckUtils]: 10: Hoare triple {4623#(= main_~i~0 0)} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {4624#(<= main_~i~0 1)} is VALID [2018-11-23 13:02:01,164 INFO L273 TraceCheckUtils]: 11: Hoare triple {4624#(<= main_~i~0 1)} assume !(~i~0 < ~nodecount~0); {4625#(<= main_~nodecount~0 1)} is VALID [2018-11-23 13:02:01,164 INFO L273 TraceCheckUtils]: 12: Hoare triple {4625#(<= main_~nodecount~0 1)} ~i~0 := 0; {4625#(<= main_~nodecount~0 1)} is VALID [2018-11-23 13:02:01,164 INFO L273 TraceCheckUtils]: 13: Hoare triple {4625#(<= main_~nodecount~0 1)} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {4625#(<= main_~nodecount~0 1)} is VALID [2018-11-23 13:02:01,165 INFO L273 TraceCheckUtils]: 14: Hoare triple {4625#(<= main_~nodecount~0 1)} assume !(~j~0 < ~edgecount~0); {4625#(<= main_~nodecount~0 1)} is VALID [2018-11-23 13:02:01,165 INFO L273 TraceCheckUtils]: 15: Hoare triple {4625#(<= main_~nodecount~0 1)} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {4625#(<= main_~nodecount~0 1)} is VALID [2018-11-23 13:02:01,165 INFO L273 TraceCheckUtils]: 16: Hoare triple {4625#(<= main_~nodecount~0 1)} assume !(~i~0 < ~nodecount~0); {4625#(<= main_~nodecount~0 1)} is VALID [2018-11-23 13:02:01,174 INFO L273 TraceCheckUtils]: 17: Hoare triple {4625#(<= main_~nodecount~0 1)} ~i~0 := 0; {4625#(<= main_~nodecount~0 1)} is VALID [2018-11-23 13:02:01,175 INFO L273 TraceCheckUtils]: 18: Hoare triple {4625#(<= main_~nodecount~0 1)} assume !(~i~0 < ~edgecount~0); {4625#(<= main_~nodecount~0 1)} is VALID [2018-11-23 13:02:01,175 INFO L273 TraceCheckUtils]: 19: Hoare triple {4625#(<= main_~nodecount~0 1)} ~i~0 := 0; {4626#(and (<= main_~nodecount~0 1) (= main_~i~0 0))} is VALID [2018-11-23 13:02:01,176 INFO L273 TraceCheckUtils]: 20: Hoare triple {4626#(and (<= main_~nodecount~0 1) (= main_~i~0 0))} assume !!(~i~0 < ~nodecount~0);call #t~mem18 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {4626#(and (<= main_~nodecount~0 1) (= main_~i~0 0))} is VALID [2018-11-23 13:02:01,176 INFO L256 TraceCheckUtils]: 21: Hoare triple {4626#(and (<= main_~nodecount~0 1) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); {4621#true} is VALID [2018-11-23 13:02:01,176 INFO L273 TraceCheckUtils]: 22: Hoare triple {4621#true} ~cond := #in~cond; {4621#true} is VALID [2018-11-23 13:02:01,176 INFO L273 TraceCheckUtils]: 23: Hoare triple {4621#true} assume !(0 == ~cond); {4621#true} is VALID [2018-11-23 13:02:01,176 INFO L273 TraceCheckUtils]: 24: Hoare triple {4621#true} assume true; {4621#true} is VALID [2018-11-23 13:02:01,177 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {4621#true} {4626#(and (<= main_~nodecount~0 1) (= main_~i~0 0))} #115#return; {4626#(and (<= main_~nodecount~0 1) (= main_~i~0 0))} is VALID [2018-11-23 13:02:01,177 INFO L273 TraceCheckUtils]: 26: Hoare triple {4626#(and (<= main_~nodecount~0 1) (= main_~i~0 0))} havoc #t~mem18; {4626#(and (<= main_~nodecount~0 1) (= main_~i~0 0))} is VALID [2018-11-23 13:02:01,178 INFO L273 TraceCheckUtils]: 27: Hoare triple {4626#(and (<= main_~nodecount~0 1) (= main_~i~0 0))} #t~post17 := ~i~0;~i~0 := 1 + #t~post17;havoc #t~post17; {4627#(<= main_~nodecount~0 main_~i~0)} is VALID [2018-11-23 13:02:01,178 INFO L273 TraceCheckUtils]: 28: Hoare triple {4627#(<= main_~nodecount~0 main_~i~0)} assume !!(~i~0 < ~nodecount~0);call #t~mem18 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {4622#false} is VALID [2018-11-23 13:02:01,178 INFO L256 TraceCheckUtils]: 29: Hoare triple {4622#false} call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); {4622#false} is VALID [2018-11-23 13:02:01,179 INFO L273 TraceCheckUtils]: 30: Hoare triple {4622#false} ~cond := #in~cond; {4622#false} is VALID [2018-11-23 13:02:01,179 INFO L273 TraceCheckUtils]: 31: Hoare triple {4622#false} assume 0 == ~cond; {4622#false} is VALID [2018-11-23 13:02:01,179 INFO L273 TraceCheckUtils]: 32: Hoare triple {4622#false} assume !false; {4622#false} is VALID [2018-11-23 13:02:01,180 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 3 proven. 2 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-23 13:02:01,180 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 13:02:01,181 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:01,190 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 13:02:01,223 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:02:01,234 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:02:01,235 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 13:02:01,414 INFO L256 TraceCheckUtils]: 0: Hoare triple {4621#true} call ULTIMATE.init(); {4621#true} is VALID [2018-11-23 13:02:01,414 INFO L273 TraceCheckUtils]: 1: Hoare triple {4621#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~INFINITY~0 := 899; {4621#true} is VALID [2018-11-23 13:02:01,415 INFO L273 TraceCheckUtils]: 2: Hoare triple {4621#true} assume true; {4621#true} is VALID [2018-11-23 13:02:01,415 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4621#true} {4621#true} #111#return; {4621#true} is VALID [2018-11-23 13:02:01,415 INFO L256 TraceCheckUtils]: 4: Hoare triple {4621#true} call #t~ret19 := main(); {4621#true} is VALID [2018-11-23 13:02:01,415 INFO L273 TraceCheckUtils]: 5: Hoare triple {4621#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~nodecount~0 := #t~nondet1;havoc #t~nondet1;assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~edgecount~0 := #t~nondet2;havoc #t~nondet2; {4621#true} is VALID [2018-11-23 13:02:01,415 INFO L273 TraceCheckUtils]: 6: Hoare triple {4621#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {4621#true} is VALID [2018-11-23 13:02:01,426 INFO L273 TraceCheckUtils]: 7: Hoare triple {4621#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.alloc(80);call write~init~int(0, ~#Source~0.base, ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 4 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 8 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 12 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 16 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 20 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 24 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 28 + ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 32 + ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 36 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 40 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 44 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 48 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 52 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 56 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 60 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 64 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 68 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 72 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 76 + ~#Source~0.offset, 4);call ~#Dest~0.base, ~#Dest~0.offset := #Ultimate.alloc(80);call write~init~int(1, ~#Dest~0.base, ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 4 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 8 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 12 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 16 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 20 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 24 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 28 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 32 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 36 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 40 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 44 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 48 + ~#Dest~0.offset, 4);call write~init~int(2, ~#Dest~0.base, 52 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 56 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 60 + ~#Dest~0.offset, 4);call write~init~int(2, ~#Dest~0.base, 64 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 68 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 72 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 76 + ~#Dest~0.offset, 4);call ~#Weight~0.base, ~#Weight~0.offset := #Ultimate.alloc(80);call write~init~int(0, ~#Weight~0.base, ~#Weight~0.offset, 4);call write~init~int(1, ~#Weight~0.base, 4 + ~#Weight~0.offset, 4);call write~init~int(2, ~#Weight~0.base, 8 + ~#Weight~0.offset, 4);call write~init~int(3, ~#Weight~0.base, 12 + ~#Weight~0.offset, 4);call write~init~int(4, ~#Weight~0.base, 16 + ~#Weight~0.offset, 4);call write~init~int(5, ~#Weight~0.base, 20 + ~#Weight~0.offset, 4);call write~init~int(6, ~#Weight~0.base, 24 + ~#Weight~0.offset, 4);call write~init~int(7, ~#Weight~0.base, 28 + ~#Weight~0.offset, 4);call write~init~int(8, ~#Weight~0.base, 32 + ~#Weight~0.offset, 4);call write~init~int(9, ~#Weight~0.base, 36 + ~#Weight~0.offset, 4);call write~init~int(10, ~#Weight~0.base, 40 + ~#Weight~0.offset, 4);call write~init~int(11, ~#Weight~0.base, 44 + ~#Weight~0.offset, 4);call write~init~int(12, ~#Weight~0.base, 48 + ~#Weight~0.offset, 4);call write~init~int(13, ~#Weight~0.base, 52 + ~#Weight~0.offset, 4);call write~init~int(14, ~#Weight~0.base, 56 + ~#Weight~0.offset, 4);call write~init~int(15, ~#Weight~0.base, 60 + ~#Weight~0.offset, 4);call write~init~int(16, ~#Weight~0.base, 64 + ~#Weight~0.offset, 4);call write~init~int(17, ~#Weight~0.base, 68 + ~#Weight~0.offset, 4);call write~init~int(18, ~#Weight~0.base, 72 + ~#Weight~0.offset, 4);call write~init~int(19, ~#Weight~0.base, 76 + ~#Weight~0.offset, 4);call ~#distance~0.base, ~#distance~0.offset := #Ultimate.alloc(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {4652#(<= main_~i~0 0)} is VALID [2018-11-23 13:02:01,426 INFO L273 TraceCheckUtils]: 8: Hoare triple {4652#(<= main_~i~0 0)} assume !!(~i~0 < ~nodecount~0); {4652#(<= main_~i~0 0)} is VALID [2018-11-23 13:02:01,428 INFO L273 TraceCheckUtils]: 9: Hoare triple {4652#(<= main_~i~0 0)} assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {4652#(<= main_~i~0 0)} is VALID [2018-11-23 13:02:01,428 INFO L273 TraceCheckUtils]: 10: Hoare triple {4652#(<= main_~i~0 0)} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {4624#(<= main_~i~0 1)} is VALID [2018-11-23 13:02:01,430 INFO L273 TraceCheckUtils]: 11: Hoare triple {4624#(<= main_~i~0 1)} assume !(~i~0 < ~nodecount~0); {4625#(<= main_~nodecount~0 1)} is VALID [2018-11-23 13:02:01,430 INFO L273 TraceCheckUtils]: 12: Hoare triple {4625#(<= main_~nodecount~0 1)} ~i~0 := 0; {4625#(<= main_~nodecount~0 1)} is VALID [2018-11-23 13:02:01,432 INFO L273 TraceCheckUtils]: 13: Hoare triple {4625#(<= main_~nodecount~0 1)} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {4625#(<= main_~nodecount~0 1)} is VALID [2018-11-23 13:02:01,434 INFO L273 TraceCheckUtils]: 14: Hoare triple {4625#(<= main_~nodecount~0 1)} assume !(~j~0 < ~edgecount~0); {4625#(<= main_~nodecount~0 1)} is VALID [2018-11-23 13:02:01,436 INFO L273 TraceCheckUtils]: 15: Hoare triple {4625#(<= main_~nodecount~0 1)} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {4625#(<= main_~nodecount~0 1)} is VALID [2018-11-23 13:02:01,436 INFO L273 TraceCheckUtils]: 16: Hoare triple {4625#(<= main_~nodecount~0 1)} assume !(~i~0 < ~nodecount~0); {4625#(<= main_~nodecount~0 1)} is VALID [2018-11-23 13:02:01,438 INFO L273 TraceCheckUtils]: 17: Hoare triple {4625#(<= main_~nodecount~0 1)} ~i~0 := 0; {4625#(<= main_~nodecount~0 1)} is VALID [2018-11-23 13:02:01,438 INFO L273 TraceCheckUtils]: 18: Hoare triple {4625#(<= main_~nodecount~0 1)} assume !(~i~0 < ~edgecount~0); {4625#(<= main_~nodecount~0 1)} is VALID [2018-11-23 13:02:01,439 INFO L273 TraceCheckUtils]: 19: Hoare triple {4625#(<= main_~nodecount~0 1)} ~i~0 := 0; {4689#(and (<= 0 main_~i~0) (<= main_~nodecount~0 1))} is VALID [2018-11-23 13:02:01,439 INFO L273 TraceCheckUtils]: 20: Hoare triple {4689#(and (<= 0 main_~i~0) (<= main_~nodecount~0 1))} assume !!(~i~0 < ~nodecount~0);call #t~mem18 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {4689#(and (<= 0 main_~i~0) (<= main_~nodecount~0 1))} is VALID [2018-11-23 13:02:01,439 INFO L256 TraceCheckUtils]: 21: Hoare triple {4689#(and (<= 0 main_~i~0) (<= main_~nodecount~0 1))} call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); {4621#true} is VALID [2018-11-23 13:02:01,440 INFO L273 TraceCheckUtils]: 22: Hoare triple {4621#true} ~cond := #in~cond; {4621#true} is VALID [2018-11-23 13:02:01,440 INFO L273 TraceCheckUtils]: 23: Hoare triple {4621#true} assume !(0 == ~cond); {4621#true} is VALID [2018-11-23 13:02:01,440 INFO L273 TraceCheckUtils]: 24: Hoare triple {4621#true} assume true; {4621#true} is VALID [2018-11-23 13:02:01,443 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {4621#true} {4689#(and (<= 0 main_~i~0) (<= main_~nodecount~0 1))} #115#return; {4689#(and (<= 0 main_~i~0) (<= main_~nodecount~0 1))} is VALID [2018-11-23 13:02:01,443 INFO L273 TraceCheckUtils]: 26: Hoare triple {4689#(and (<= 0 main_~i~0) (<= main_~nodecount~0 1))} havoc #t~mem18; {4689#(and (<= 0 main_~i~0) (<= main_~nodecount~0 1))} is VALID [2018-11-23 13:02:01,445 INFO L273 TraceCheckUtils]: 27: Hoare triple {4689#(and (<= 0 main_~i~0) (<= main_~nodecount~0 1))} #t~post17 := ~i~0;~i~0 := 1 + #t~post17;havoc #t~post17; {4714#(and (<= 1 main_~i~0) (<= main_~nodecount~0 1))} is VALID [2018-11-23 13:02:01,445 INFO L273 TraceCheckUtils]: 28: Hoare triple {4714#(and (<= 1 main_~i~0) (<= main_~nodecount~0 1))} assume !!(~i~0 < ~nodecount~0);call #t~mem18 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {4622#false} is VALID [2018-11-23 13:02:01,445 INFO L256 TraceCheckUtils]: 29: Hoare triple {4622#false} call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); {4622#false} is VALID [2018-11-23 13:02:01,446 INFO L273 TraceCheckUtils]: 30: Hoare triple {4622#false} ~cond := #in~cond; {4622#false} is VALID [2018-11-23 13:02:01,446 INFO L273 TraceCheckUtils]: 31: Hoare triple {4622#false} assume 0 == ~cond; {4622#false} is VALID [2018-11-23 13:02:01,446 INFO L273 TraceCheckUtils]: 32: Hoare triple {4622#false} assume !false; {4622#false} is VALID [2018-11-23 13:02:01,447 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 4 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-23 13:02:01,467 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 13:02:01,467 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 10 [2018-11-23 13:02:01,467 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 33 [2018-11-23 13:02:01,468 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:02:01,468 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-11-23 13:02:01,523 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:02:01,523 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-11-23 13:02:01,523 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-11-23 13:02:01,523 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=61, Unknown=0, NotChecked=0, Total=90 [2018-11-23 13:02:01,523 INFO L87 Difference]: Start difference. First operand 102 states and 133 transitions. Second operand 10 states. [2018-11-23 13:02:03,057 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:02:03,058 INFO L93 Difference]: Finished difference Result 223 states and 287 transitions. [2018-11-23 13:02:03,058 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-11-23 13:02:03,058 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 33 [2018-11-23 13:02:03,058 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:02:03,058 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-11-23 13:02:03,061 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 135 transitions. [2018-11-23 13:02:03,061 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-11-23 13:02:03,063 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 135 transitions. [2018-11-23 13:02:03,063 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 135 transitions. [2018-11-23 13:02:03,730 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 135 edges. 135 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:02:03,747 INFO L225 Difference]: With dead ends: 223 [2018-11-23 13:02:03,747 INFO L226 Difference]: Without dead ends: 154 [2018-11-23 13:02:03,749 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 41 GetRequests, 31 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 19 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=42, Invalid=90, Unknown=0, NotChecked=0, Total=132 [2018-11-23 13:02:03,752 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 154 states. [2018-11-23 13:02:04,217 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 154 to 110. [2018-11-23 13:02:04,217 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:02:04,218 INFO L82 GeneralOperation]: Start isEquivalent. First operand 154 states. Second operand 110 states. [2018-11-23 13:02:04,218 INFO L74 IsIncluded]: Start isIncluded. First operand 154 states. Second operand 110 states. [2018-11-23 13:02:04,218 INFO L87 Difference]: Start difference. First operand 154 states. Second operand 110 states. [2018-11-23 13:02:04,226 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:02:04,226 INFO L93 Difference]: Finished difference Result 154 states and 197 transitions. [2018-11-23 13:02:04,226 INFO L276 IsEmpty]: Start isEmpty. Operand 154 states and 197 transitions. [2018-11-23 13:02:04,227 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:02:04,227 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:02:04,227 INFO L74 IsIncluded]: Start isIncluded. First operand 110 states. Second operand 154 states. [2018-11-23 13:02:04,227 INFO L87 Difference]: Start difference. First operand 110 states. Second operand 154 states. [2018-11-23 13:02:04,233 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:02:04,233 INFO L93 Difference]: Finished difference Result 154 states and 197 transitions. [2018-11-23 13:02:04,233 INFO L276 IsEmpty]: Start isEmpty. Operand 154 states and 197 transitions. [2018-11-23 13:02:04,234 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:02:04,234 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:02:04,234 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:02:04,234 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:02:04,234 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 110 states. [2018-11-23 13:02:04,238 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 110 states to 110 states and 140 transitions. [2018-11-23 13:02:04,238 INFO L78 Accepts]: Start accepts. Automaton has 110 states and 140 transitions. Word has length 33 [2018-11-23 13:02:04,238 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:02:04,239 INFO L480 AbstractCegarLoop]: Abstraction has 110 states and 140 transitions. [2018-11-23 13:02:04,239 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-11-23 13:02:04,239 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 140 transitions. [2018-11-23 13:02:04,239 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2018-11-23 13:02:04,240 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:02:04,240 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:02:04,240 INFO L423 AbstractCegarLoop]: === Iteration 9 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:02:04,240 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:02:04,240 INFO L82 PathProgramCache]: Analyzing trace with hash -1142223879, now seen corresponding path program 2 times [2018-11-23 13:02:04,240 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:02:04,241 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:02:04,241 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:02:04,241 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 13:02:04,241 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:02:04,269 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:02:04,407 INFO L256 TraceCheckUtils]: 0: Hoare triple {5512#true} call ULTIMATE.init(); {5512#true} is VALID [2018-11-23 13:02:04,407 INFO L273 TraceCheckUtils]: 1: Hoare triple {5512#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~INFINITY~0 := 899; {5512#true} is VALID [2018-11-23 13:02:04,407 INFO L273 TraceCheckUtils]: 2: Hoare triple {5512#true} assume true; {5512#true} is VALID [2018-11-23 13:02:04,408 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5512#true} {5512#true} #111#return; {5512#true} is VALID [2018-11-23 13:02:04,408 INFO L256 TraceCheckUtils]: 4: Hoare triple {5512#true} call #t~ret19 := main(); {5512#true} is VALID [2018-11-23 13:02:04,408 INFO L273 TraceCheckUtils]: 5: Hoare triple {5512#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~nodecount~0 := #t~nondet1;havoc #t~nondet1;assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~edgecount~0 := #t~nondet2;havoc #t~nondet2; {5512#true} is VALID [2018-11-23 13:02:04,408 INFO L273 TraceCheckUtils]: 6: Hoare triple {5512#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {5512#true} is VALID [2018-11-23 13:02:04,409 INFO L273 TraceCheckUtils]: 7: Hoare triple {5512#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.alloc(80);call write~init~int(0, ~#Source~0.base, ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 4 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 8 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 12 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 16 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 20 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 24 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 28 + ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 32 + ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 36 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 40 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 44 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 48 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 52 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 56 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 60 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 64 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 68 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 72 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 76 + ~#Source~0.offset, 4);call ~#Dest~0.base, ~#Dest~0.offset := #Ultimate.alloc(80);call write~init~int(1, ~#Dest~0.base, ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 4 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 8 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 12 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 16 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 20 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 24 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 28 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 32 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 36 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 40 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 44 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 48 + ~#Dest~0.offset, 4);call write~init~int(2, ~#Dest~0.base, 52 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 56 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 60 + ~#Dest~0.offset, 4);call write~init~int(2, ~#Dest~0.base, 64 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 68 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 72 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 76 + ~#Dest~0.offset, 4);call ~#Weight~0.base, ~#Weight~0.offset := #Ultimate.alloc(80);call write~init~int(0, ~#Weight~0.base, ~#Weight~0.offset, 4);call write~init~int(1, ~#Weight~0.base, 4 + ~#Weight~0.offset, 4);call write~init~int(2, ~#Weight~0.base, 8 + ~#Weight~0.offset, 4);call write~init~int(3, ~#Weight~0.base, 12 + ~#Weight~0.offset, 4);call write~init~int(4, ~#Weight~0.base, 16 + ~#Weight~0.offset, 4);call write~init~int(5, ~#Weight~0.base, 20 + ~#Weight~0.offset, 4);call write~init~int(6, ~#Weight~0.base, 24 + ~#Weight~0.offset, 4);call write~init~int(7, ~#Weight~0.base, 28 + ~#Weight~0.offset, 4);call write~init~int(8, ~#Weight~0.base, 32 + ~#Weight~0.offset, 4);call write~init~int(9, ~#Weight~0.base, 36 + ~#Weight~0.offset, 4);call write~init~int(10, ~#Weight~0.base, 40 + ~#Weight~0.offset, 4);call write~init~int(11, ~#Weight~0.base, 44 + ~#Weight~0.offset, 4);call write~init~int(12, ~#Weight~0.base, 48 + ~#Weight~0.offset, 4);call write~init~int(13, ~#Weight~0.base, 52 + ~#Weight~0.offset, 4);call write~init~int(14, ~#Weight~0.base, 56 + ~#Weight~0.offset, 4);call write~init~int(15, ~#Weight~0.base, 60 + ~#Weight~0.offset, 4);call write~init~int(16, ~#Weight~0.base, 64 + ~#Weight~0.offset, 4);call write~init~int(17, ~#Weight~0.base, 68 + ~#Weight~0.offset, 4);call write~init~int(18, ~#Weight~0.base, 72 + ~#Weight~0.offset, 4);call write~init~int(19, ~#Weight~0.base, 76 + ~#Weight~0.offset, 4);call ~#distance~0.base, ~#distance~0.offset := #Ultimate.alloc(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {5512#true} is VALID [2018-11-23 13:02:04,409 INFO L273 TraceCheckUtils]: 8: Hoare triple {5512#true} assume !!(~i~0 < ~nodecount~0); {5512#true} is VALID [2018-11-23 13:02:04,409 INFO L273 TraceCheckUtils]: 9: Hoare triple {5512#true} assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {5512#true} is VALID [2018-11-23 13:02:04,409 INFO L273 TraceCheckUtils]: 10: Hoare triple {5512#true} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {5512#true} is VALID [2018-11-23 13:02:04,410 INFO L273 TraceCheckUtils]: 11: Hoare triple {5512#true} assume !(~i~0 < ~nodecount~0); {5512#true} is VALID [2018-11-23 13:02:04,410 INFO L273 TraceCheckUtils]: 12: Hoare triple {5512#true} ~i~0 := 0; {5512#true} is VALID [2018-11-23 13:02:04,410 INFO L273 TraceCheckUtils]: 13: Hoare triple {5512#true} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {5514#(= main_~j~0 0)} is VALID [2018-11-23 13:02:04,411 INFO L273 TraceCheckUtils]: 14: Hoare triple {5514#(= main_~j~0 0)} assume !!(~j~0 < ~edgecount~0);call #t~mem6 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4);~x~0 := #t~mem6;havoc #t~mem6;call #t~mem7 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4);~y~0 := #t~mem7;havoc #t~mem7;call #t~mem10 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem8 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem9 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); {5514#(= main_~j~0 0)} is VALID [2018-11-23 13:02:04,411 INFO L273 TraceCheckUtils]: 15: Hoare triple {5514#(= main_~j~0 0)} assume #t~mem10 > #t~mem8 + #t~mem9;havoc #t~mem8;havoc #t~mem10;havoc #t~mem9;call write~int(-1, ~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); {5514#(= main_~j~0 0)} is VALID [2018-11-23 13:02:04,411 INFO L273 TraceCheckUtils]: 16: Hoare triple {5514#(= main_~j~0 0)} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {5515#(<= 1 main_~j~0)} is VALID [2018-11-23 13:02:04,412 INFO L273 TraceCheckUtils]: 17: Hoare triple {5515#(<= 1 main_~j~0)} assume !!(~j~0 < ~edgecount~0);call #t~mem6 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4);~x~0 := #t~mem6;havoc #t~mem6;call #t~mem7 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4);~y~0 := #t~mem7;havoc #t~mem7;call #t~mem10 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem8 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem9 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); {5516#(<= 2 main_~edgecount~0)} is VALID [2018-11-23 13:02:04,412 INFO L273 TraceCheckUtils]: 18: Hoare triple {5516#(<= 2 main_~edgecount~0)} assume #t~mem10 > #t~mem8 + #t~mem9;havoc #t~mem8;havoc #t~mem10;havoc #t~mem9;call write~int(-1, ~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); {5516#(<= 2 main_~edgecount~0)} is VALID [2018-11-23 13:02:04,413 INFO L273 TraceCheckUtils]: 19: Hoare triple {5516#(<= 2 main_~edgecount~0)} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {5516#(<= 2 main_~edgecount~0)} is VALID [2018-11-23 13:02:04,413 INFO L273 TraceCheckUtils]: 20: Hoare triple {5516#(<= 2 main_~edgecount~0)} assume !(~j~0 < ~edgecount~0); {5516#(<= 2 main_~edgecount~0)} is VALID [2018-11-23 13:02:04,413 INFO L273 TraceCheckUtils]: 21: Hoare triple {5516#(<= 2 main_~edgecount~0)} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {5516#(<= 2 main_~edgecount~0)} is VALID [2018-11-23 13:02:04,414 INFO L273 TraceCheckUtils]: 22: Hoare triple {5516#(<= 2 main_~edgecount~0)} assume !(~i~0 < ~nodecount~0); {5516#(<= 2 main_~edgecount~0)} is VALID [2018-11-23 13:02:04,414 INFO L273 TraceCheckUtils]: 23: Hoare triple {5516#(<= 2 main_~edgecount~0)} ~i~0 := 0; {5517#(and (<= 2 main_~edgecount~0) (= main_~i~0 0))} is VALID [2018-11-23 13:02:04,415 INFO L273 TraceCheckUtils]: 24: Hoare triple {5517#(and (<= 2 main_~edgecount~0) (= main_~i~0 0))} assume !!(~i~0 < ~edgecount~0);call #t~mem12 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~i~0, 4);~x~0 := #t~mem12;havoc #t~mem12;call #t~mem13 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~i~0, 4);~y~0 := #t~mem13;havoc #t~mem13;call #t~mem16 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem14 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem15 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~i~0, 4); {5517#(and (<= 2 main_~edgecount~0) (= main_~i~0 0))} is VALID [2018-11-23 13:02:04,416 INFO L273 TraceCheckUtils]: 25: Hoare triple {5517#(and (<= 2 main_~edgecount~0) (= main_~i~0 0))} assume !(#t~mem16 > #t~mem14 + #t~mem15);havoc #t~mem14;havoc #t~mem15;havoc #t~mem16; {5517#(and (<= 2 main_~edgecount~0) (= main_~i~0 0))} is VALID [2018-11-23 13:02:04,417 INFO L273 TraceCheckUtils]: 26: Hoare triple {5517#(and (<= 2 main_~edgecount~0) (= main_~i~0 0))} #t~post11 := ~i~0;~i~0 := 1 + #t~post11;havoc #t~post11; {5518#(<= (+ main_~i~0 1) main_~edgecount~0)} is VALID [2018-11-23 13:02:04,418 INFO L273 TraceCheckUtils]: 27: Hoare triple {5518#(<= (+ main_~i~0 1) main_~edgecount~0)} assume !(~i~0 < ~edgecount~0); {5513#false} is VALID [2018-11-23 13:02:04,418 INFO L273 TraceCheckUtils]: 28: Hoare triple {5513#false} ~i~0 := 0; {5513#false} is VALID [2018-11-23 13:02:04,418 INFO L273 TraceCheckUtils]: 29: Hoare triple {5513#false} assume !!(~i~0 < ~nodecount~0);call #t~mem18 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {5513#false} is VALID [2018-11-23 13:02:04,418 INFO L256 TraceCheckUtils]: 30: Hoare triple {5513#false} call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); {5513#false} is VALID [2018-11-23 13:02:04,419 INFO L273 TraceCheckUtils]: 31: Hoare triple {5513#false} ~cond := #in~cond; {5513#false} is VALID [2018-11-23 13:02:04,419 INFO L273 TraceCheckUtils]: 32: Hoare triple {5513#false} assume 0 == ~cond; {5513#false} is VALID [2018-11-23 13:02:04,419 INFO L273 TraceCheckUtils]: 33: Hoare triple {5513#false} assume !false; {5513#false} is VALID [2018-11-23 13:02:04,421 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 1 proven. 6 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-23 13:02:04,421 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 13:02:04,421 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 8 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 8 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 13:02:04,431 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 13:02:04,472 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 13:02:04,472 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 13:02:04,483 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:02:04,484 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 13:02:04,576 INFO L256 TraceCheckUtils]: 0: Hoare triple {5512#true} call ULTIMATE.init(); {5512#true} is VALID [2018-11-23 13:02:04,576 INFO L273 TraceCheckUtils]: 1: Hoare triple {5512#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~INFINITY~0 := 899; {5512#true} is VALID [2018-11-23 13:02:04,576 INFO L273 TraceCheckUtils]: 2: Hoare triple {5512#true} assume true; {5512#true} is VALID [2018-11-23 13:02:04,577 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5512#true} {5512#true} #111#return; {5512#true} is VALID [2018-11-23 13:02:04,577 INFO L256 TraceCheckUtils]: 4: Hoare triple {5512#true} call #t~ret19 := main(); {5512#true} is VALID [2018-11-23 13:02:04,577 INFO L273 TraceCheckUtils]: 5: Hoare triple {5512#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~nodecount~0 := #t~nondet1;havoc #t~nondet1;assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~edgecount~0 := #t~nondet2;havoc #t~nondet2; {5512#true} is VALID [2018-11-23 13:02:04,577 INFO L273 TraceCheckUtils]: 6: Hoare triple {5512#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {5512#true} is VALID [2018-11-23 13:02:04,577 INFO L273 TraceCheckUtils]: 7: Hoare triple {5512#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.alloc(80);call write~init~int(0, ~#Source~0.base, ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 4 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 8 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 12 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 16 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 20 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 24 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 28 + ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 32 + ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 36 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 40 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 44 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 48 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 52 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 56 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 60 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 64 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 68 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 72 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 76 + ~#Source~0.offset, 4);call ~#Dest~0.base, ~#Dest~0.offset := #Ultimate.alloc(80);call write~init~int(1, ~#Dest~0.base, ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 4 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 8 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 12 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 16 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 20 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 24 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 28 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 32 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 36 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 40 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 44 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 48 + ~#Dest~0.offset, 4);call write~init~int(2, ~#Dest~0.base, 52 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 56 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 60 + ~#Dest~0.offset, 4);call write~init~int(2, ~#Dest~0.base, 64 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 68 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 72 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 76 + ~#Dest~0.offset, 4);call ~#Weight~0.base, ~#Weight~0.offset := #Ultimate.alloc(80);call write~init~int(0, ~#Weight~0.base, ~#Weight~0.offset, 4);call write~init~int(1, ~#Weight~0.base, 4 + ~#Weight~0.offset, 4);call write~init~int(2, ~#Weight~0.base, 8 + ~#Weight~0.offset, 4);call write~init~int(3, ~#Weight~0.base, 12 + ~#Weight~0.offset, 4);call write~init~int(4, ~#Weight~0.base, 16 + ~#Weight~0.offset, 4);call write~init~int(5, ~#Weight~0.base, 20 + ~#Weight~0.offset, 4);call write~init~int(6, ~#Weight~0.base, 24 + ~#Weight~0.offset, 4);call write~init~int(7, ~#Weight~0.base, 28 + ~#Weight~0.offset, 4);call write~init~int(8, ~#Weight~0.base, 32 + ~#Weight~0.offset, 4);call write~init~int(9, ~#Weight~0.base, 36 + ~#Weight~0.offset, 4);call write~init~int(10, ~#Weight~0.base, 40 + ~#Weight~0.offset, 4);call write~init~int(11, ~#Weight~0.base, 44 + ~#Weight~0.offset, 4);call write~init~int(12, ~#Weight~0.base, 48 + ~#Weight~0.offset, 4);call write~init~int(13, ~#Weight~0.base, 52 + ~#Weight~0.offset, 4);call write~init~int(14, ~#Weight~0.base, 56 + ~#Weight~0.offset, 4);call write~init~int(15, ~#Weight~0.base, 60 + ~#Weight~0.offset, 4);call write~init~int(16, ~#Weight~0.base, 64 + ~#Weight~0.offset, 4);call write~init~int(17, ~#Weight~0.base, 68 + ~#Weight~0.offset, 4);call write~init~int(18, ~#Weight~0.base, 72 + ~#Weight~0.offset, 4);call write~init~int(19, ~#Weight~0.base, 76 + ~#Weight~0.offset, 4);call ~#distance~0.base, ~#distance~0.offset := #Ultimate.alloc(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {5512#true} is VALID [2018-11-23 13:02:04,578 INFO L273 TraceCheckUtils]: 8: Hoare triple {5512#true} assume !!(~i~0 < ~nodecount~0); {5512#true} is VALID [2018-11-23 13:02:04,578 INFO L273 TraceCheckUtils]: 9: Hoare triple {5512#true} assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {5512#true} is VALID [2018-11-23 13:02:04,578 INFO L273 TraceCheckUtils]: 10: Hoare triple {5512#true} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {5512#true} is VALID [2018-11-23 13:02:04,578 INFO L273 TraceCheckUtils]: 11: Hoare triple {5512#true} assume !(~i~0 < ~nodecount~0); {5512#true} is VALID [2018-11-23 13:02:04,579 INFO L273 TraceCheckUtils]: 12: Hoare triple {5512#true} ~i~0 := 0; {5512#true} is VALID [2018-11-23 13:02:04,579 INFO L273 TraceCheckUtils]: 13: Hoare triple {5512#true} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {5561#(<= 0 main_~j~0)} is VALID [2018-11-23 13:02:04,579 INFO L273 TraceCheckUtils]: 14: Hoare triple {5561#(<= 0 main_~j~0)} assume !!(~j~0 < ~edgecount~0);call #t~mem6 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4);~x~0 := #t~mem6;havoc #t~mem6;call #t~mem7 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4);~y~0 := #t~mem7;havoc #t~mem7;call #t~mem10 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem8 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem9 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); {5561#(<= 0 main_~j~0)} is VALID [2018-11-23 13:02:04,580 INFO L273 TraceCheckUtils]: 15: Hoare triple {5561#(<= 0 main_~j~0)} assume #t~mem10 > #t~mem8 + #t~mem9;havoc #t~mem8;havoc #t~mem10;havoc #t~mem9;call write~int(-1, ~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); {5561#(<= 0 main_~j~0)} is VALID [2018-11-23 13:02:04,580 INFO L273 TraceCheckUtils]: 16: Hoare triple {5561#(<= 0 main_~j~0)} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {5515#(<= 1 main_~j~0)} is VALID [2018-11-23 13:02:04,581 INFO L273 TraceCheckUtils]: 17: Hoare triple {5515#(<= 1 main_~j~0)} assume !!(~j~0 < ~edgecount~0);call #t~mem6 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4);~x~0 := #t~mem6;havoc #t~mem6;call #t~mem7 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4);~y~0 := #t~mem7;havoc #t~mem7;call #t~mem10 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem8 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem9 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); {5516#(<= 2 main_~edgecount~0)} is VALID [2018-11-23 13:02:04,581 INFO L273 TraceCheckUtils]: 18: Hoare triple {5516#(<= 2 main_~edgecount~0)} assume #t~mem10 > #t~mem8 + #t~mem9;havoc #t~mem8;havoc #t~mem10;havoc #t~mem9;call write~int(-1, ~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); {5516#(<= 2 main_~edgecount~0)} is VALID [2018-11-23 13:02:04,582 INFO L273 TraceCheckUtils]: 19: Hoare triple {5516#(<= 2 main_~edgecount~0)} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {5516#(<= 2 main_~edgecount~0)} is VALID [2018-11-23 13:02:04,582 INFO L273 TraceCheckUtils]: 20: Hoare triple {5516#(<= 2 main_~edgecount~0)} assume !(~j~0 < ~edgecount~0); {5516#(<= 2 main_~edgecount~0)} is VALID [2018-11-23 13:02:04,582 INFO L273 TraceCheckUtils]: 21: Hoare triple {5516#(<= 2 main_~edgecount~0)} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {5516#(<= 2 main_~edgecount~0)} is VALID [2018-11-23 13:02:04,583 INFO L273 TraceCheckUtils]: 22: Hoare triple {5516#(<= 2 main_~edgecount~0)} assume !(~i~0 < ~nodecount~0); {5516#(<= 2 main_~edgecount~0)} is VALID [2018-11-23 13:02:04,583 INFO L273 TraceCheckUtils]: 23: Hoare triple {5516#(<= 2 main_~edgecount~0)} ~i~0 := 0; {5592#(and (<= 2 main_~edgecount~0) (<= main_~i~0 0))} is VALID [2018-11-23 13:02:04,584 INFO L273 TraceCheckUtils]: 24: Hoare triple {5592#(and (<= 2 main_~edgecount~0) (<= main_~i~0 0))} assume !!(~i~0 < ~edgecount~0);call #t~mem12 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~i~0, 4);~x~0 := #t~mem12;havoc #t~mem12;call #t~mem13 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~i~0, 4);~y~0 := #t~mem13;havoc #t~mem13;call #t~mem16 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem14 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem15 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~i~0, 4); {5592#(and (<= 2 main_~edgecount~0) (<= main_~i~0 0))} is VALID [2018-11-23 13:02:04,585 INFO L273 TraceCheckUtils]: 25: Hoare triple {5592#(and (<= 2 main_~edgecount~0) (<= main_~i~0 0))} assume !(#t~mem16 > #t~mem14 + #t~mem15);havoc #t~mem14;havoc #t~mem15;havoc #t~mem16; {5592#(and (<= 2 main_~edgecount~0) (<= main_~i~0 0))} is VALID [2018-11-23 13:02:04,585 INFO L273 TraceCheckUtils]: 26: Hoare triple {5592#(and (<= 2 main_~edgecount~0) (<= main_~i~0 0))} #t~post11 := ~i~0;~i~0 := 1 + #t~post11;havoc #t~post11; {5602#(and (<= 2 main_~edgecount~0) (<= main_~i~0 1))} is VALID [2018-11-23 13:02:04,586 INFO L273 TraceCheckUtils]: 27: Hoare triple {5602#(and (<= 2 main_~edgecount~0) (<= main_~i~0 1))} assume !(~i~0 < ~edgecount~0); {5513#false} is VALID [2018-11-23 13:02:04,586 INFO L273 TraceCheckUtils]: 28: Hoare triple {5513#false} ~i~0 := 0; {5513#false} is VALID [2018-11-23 13:02:04,587 INFO L273 TraceCheckUtils]: 29: Hoare triple {5513#false} assume !!(~i~0 < ~nodecount~0);call #t~mem18 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {5513#false} is VALID [2018-11-23 13:02:04,587 INFO L256 TraceCheckUtils]: 30: Hoare triple {5513#false} call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); {5513#false} is VALID [2018-11-23 13:02:04,587 INFO L273 TraceCheckUtils]: 31: Hoare triple {5513#false} ~cond := #in~cond; {5513#false} is VALID [2018-11-23 13:02:04,587 INFO L273 TraceCheckUtils]: 32: Hoare triple {5513#false} assume 0 == ~cond; {5513#false} is VALID [2018-11-23 13:02:04,588 INFO L273 TraceCheckUtils]: 33: Hoare triple {5513#false} assume !false; {5513#false} is VALID [2018-11-23 13:02:04,589 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 2 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-23 13:02:04,609 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 13:02:04,610 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 10 [2018-11-23 13:02:04,610 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 34 [2018-11-23 13:02:04,610 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:02:04,610 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-11-23 13:02:04,652 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:02:04,652 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-11-23 13:02:04,653 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-11-23 13:02:04,653 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2018-11-23 13:02:04,653 INFO L87 Difference]: Start difference. First operand 110 states and 140 transitions. Second operand 10 states. [2018-11-23 13:02:06,261 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:02:06,262 INFO L93 Difference]: Finished difference Result 214 states and 269 transitions. [2018-11-23 13:02:06,262 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2018-11-23 13:02:06,262 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 34 [2018-11-23 13:02:06,262 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:02:06,262 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-11-23 13:02:06,264 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 106 transitions. [2018-11-23 13:02:06,265 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-11-23 13:02:06,267 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 106 transitions. [2018-11-23 13:02:06,267 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 106 transitions. [2018-11-23 13:02:06,556 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 106 edges. 106 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:02:06,562 INFO L225 Difference]: With dead ends: 214 [2018-11-23 13:02:06,562 INFO L226 Difference]: Without dead ends: 193 [2018-11-23 13:02:06,563 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 47 GetRequests, 32 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=79, Invalid=193, Unknown=0, NotChecked=0, Total=272 [2018-11-23 13:02:06,563 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 193 states. [2018-11-23 13:02:07,764 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 193 to 143. [2018-11-23 13:02:07,765 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:02:07,765 INFO L82 GeneralOperation]: Start isEquivalent. First operand 193 states. Second operand 143 states. [2018-11-23 13:02:07,765 INFO L74 IsIncluded]: Start isIncluded. First operand 193 states. Second operand 143 states. [2018-11-23 13:02:07,765 INFO L87 Difference]: Start difference. First operand 193 states. Second operand 143 states. [2018-11-23 13:02:07,773 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:02:07,773 INFO L93 Difference]: Finished difference Result 193 states and 245 transitions. [2018-11-23 13:02:07,774 INFO L276 IsEmpty]: Start isEmpty. Operand 193 states and 245 transitions. [2018-11-23 13:02:07,774 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:02:07,775 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:02:07,775 INFO L74 IsIncluded]: Start isIncluded. First operand 143 states. Second operand 193 states. [2018-11-23 13:02:07,775 INFO L87 Difference]: Start difference. First operand 143 states. Second operand 193 states. [2018-11-23 13:02:07,782 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:02:07,782 INFO L93 Difference]: Finished difference Result 193 states and 245 transitions. [2018-11-23 13:02:07,783 INFO L276 IsEmpty]: Start isEmpty. Operand 193 states and 245 transitions. [2018-11-23 13:02:07,783 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:02:07,784 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:02:07,784 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:02:07,784 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:02:07,784 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 143 states. [2018-11-23 13:02:07,789 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 143 states to 143 states and 183 transitions. [2018-11-23 13:02:07,789 INFO L78 Accepts]: Start accepts. Automaton has 143 states and 183 transitions. Word has length 34 [2018-11-23 13:02:07,789 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:02:07,789 INFO L480 AbstractCegarLoop]: Abstraction has 143 states and 183 transitions. [2018-11-23 13:02:07,790 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-11-23 13:02:07,790 INFO L276 IsEmpty]: Start isEmpty. Operand 143 states and 183 transitions. [2018-11-23 13:02:07,790 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2018-11-23 13:02:07,791 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:02:07,791 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:02:07,791 INFO L423 AbstractCegarLoop]: === Iteration 10 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:02:07,791 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:02:07,791 INFO L82 PathProgramCache]: Analyzing trace with hash 1647290398, now seen corresponding path program 3 times [2018-11-23 13:02:07,791 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:02:07,792 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:02:07,792 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:02:07,792 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 13:02:07,793 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:02:07,851 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:02:08,416 WARN L180 SmtUtils]: Spent 134.00 ms on a formula simplification. DAG size of input: 65 DAG size of output: 41 [2018-11-23 13:02:08,610 WARN L180 SmtUtils]: Spent 121.00 ms on a formula simplification. DAG size of input: 64 DAG size of output: 37 [2018-11-23 13:02:08,828 WARN L180 SmtUtils]: Spent 145.00 ms on a formula simplification. DAG size of input: 85 DAG size of output: 40 [2018-11-23 13:02:09,057 WARN L180 SmtUtils]: Spent 140.00 ms on a formula simplification. DAG size of input: 108 DAG size of output: 45 [2018-11-23 13:02:09,250 WARN L180 SmtUtils]: Spent 113.00 ms on a formula simplification. DAG size of input: 83 DAG size of output: 39 [2018-11-23 13:02:09,450 WARN L180 SmtUtils]: Spent 117.00 ms on a formula simplification. DAG size of input: 82 DAG size of output: 39 [2018-11-23 13:02:10,357 INFO L256 TraceCheckUtils]: 0: Hoare triple {6529#true} call ULTIMATE.init(); {6529#true} is VALID [2018-11-23 13:02:10,358 INFO L273 TraceCheckUtils]: 1: Hoare triple {6529#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~INFINITY~0 := 899; {6529#true} is VALID [2018-11-23 13:02:10,358 INFO L273 TraceCheckUtils]: 2: Hoare triple {6529#true} assume true; {6529#true} is VALID [2018-11-23 13:02:10,359 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {6529#true} {6529#true} #111#return; {6529#true} is VALID [2018-11-23 13:02:10,359 INFO L256 TraceCheckUtils]: 4: Hoare triple {6529#true} call #t~ret19 := main(); {6529#true} is VALID [2018-11-23 13:02:10,359 INFO L273 TraceCheckUtils]: 5: Hoare triple {6529#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~nodecount~0 := #t~nondet1;havoc #t~nondet1;assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~edgecount~0 := #t~nondet2;havoc #t~nondet2; {6529#true} is VALID [2018-11-23 13:02:10,360 INFO L273 TraceCheckUtils]: 6: Hoare triple {6529#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {6529#true} is VALID [2018-11-23 13:02:10,366 INFO L273 TraceCheckUtils]: 7: Hoare triple {6529#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.alloc(80);call write~init~int(0, ~#Source~0.base, ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 4 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 8 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 12 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 16 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 20 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 24 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 28 + ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 32 + ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 36 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 40 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 44 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 48 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 52 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 56 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 60 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 64 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 68 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 72 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 76 + ~#Source~0.offset, 4);call ~#Dest~0.base, ~#Dest~0.offset := #Ultimate.alloc(80);call write~init~int(1, ~#Dest~0.base, ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 4 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 8 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 12 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 16 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 20 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 24 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 28 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 32 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 36 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 40 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 44 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 48 + ~#Dest~0.offset, 4);call write~init~int(2, ~#Dest~0.base, 52 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 56 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 60 + ~#Dest~0.offset, 4);call write~init~int(2, ~#Dest~0.base, 64 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 68 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 72 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 76 + ~#Dest~0.offset, 4);call ~#Weight~0.base, ~#Weight~0.offset := #Ultimate.alloc(80);call write~init~int(0, ~#Weight~0.base, ~#Weight~0.offset, 4);call write~init~int(1, ~#Weight~0.base, 4 + ~#Weight~0.offset, 4);call write~init~int(2, ~#Weight~0.base, 8 + ~#Weight~0.offset, 4);call write~init~int(3, ~#Weight~0.base, 12 + ~#Weight~0.offset, 4);call write~init~int(4, ~#Weight~0.base, 16 + ~#Weight~0.offset, 4);call write~init~int(5, ~#Weight~0.base, 20 + ~#Weight~0.offset, 4);call write~init~int(6, ~#Weight~0.base, 24 + ~#Weight~0.offset, 4);call write~init~int(7, ~#Weight~0.base, 28 + ~#Weight~0.offset, 4);call write~init~int(8, ~#Weight~0.base, 32 + ~#Weight~0.offset, 4);call write~init~int(9, ~#Weight~0.base, 36 + ~#Weight~0.offset, 4);call write~init~int(10, ~#Weight~0.base, 40 + ~#Weight~0.offset, 4);call write~init~int(11, ~#Weight~0.base, 44 + ~#Weight~0.offset, 4);call write~init~int(12, ~#Weight~0.base, 48 + ~#Weight~0.offset, 4);call write~init~int(13, ~#Weight~0.base, 52 + ~#Weight~0.offset, 4);call write~init~int(14, ~#Weight~0.base, 56 + ~#Weight~0.offset, 4);call write~init~int(15, ~#Weight~0.base, 60 + ~#Weight~0.offset, 4);call write~init~int(16, ~#Weight~0.base, 64 + ~#Weight~0.offset, 4);call write~init~int(17, ~#Weight~0.base, 68 + ~#Weight~0.offset, 4);call write~init~int(18, ~#Weight~0.base, 72 + ~#Weight~0.offset, 4);call write~init~int(19, ~#Weight~0.base, 76 + ~#Weight~0.offset, 4);call ~#distance~0.base, ~#distance~0.offset := #Ultimate.alloc(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {6531#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (<= 0 |main_~#Dest~0.offset|) (= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 4))) (= 4 (select (select |#memory_int| |main_~#Source~0.base|) (+ |main_~#Source~0.offset| 4))) (= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (<= |main_~#Dest~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= 0 |main_~#Source~0.offset|) (= main_~i~0 0))} is VALID [2018-11-23 13:02:10,367 INFO L273 TraceCheckUtils]: 8: Hoare triple {6531#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (<= 0 |main_~#Dest~0.offset|) (= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 4))) (= 4 (select (select |#memory_int| |main_~#Source~0.base|) (+ |main_~#Source~0.offset| 4))) (= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (<= |main_~#Dest~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= 0 |main_~#Source~0.offset|) (= main_~i~0 0))} assume !!(~i~0 < ~nodecount~0); {6531#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (<= 0 |main_~#Dest~0.offset|) (= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 4))) (= 4 (select (select |#memory_int| |main_~#Source~0.base|) (+ |main_~#Source~0.offset| 4))) (= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (<= |main_~#Dest~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= 0 |main_~#Source~0.offset|) (= main_~i~0 0))} is VALID [2018-11-23 13:02:10,368 INFO L273 TraceCheckUtils]: 9: Hoare triple {6531#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (<= 0 |main_~#Dest~0.offset|) (= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 4))) (= 4 (select (select |#memory_int| |main_~#Source~0.base|) (+ |main_~#Source~0.offset| 4))) (= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (<= |main_~#Dest~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= 0 |main_~#Source~0.offset|) (= main_~i~0 0))} assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {6532#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (<= 0 |main_~#Dest~0.offset|) (= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 4))) (= 4 (select (select |#memory_int| |main_~#Source~0.base|) (+ |main_~#Source~0.offset| 4))) (= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (<= |main_~#Dest~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 main_~i~0) |main_~#distance~0.offset|))) (= 0 |main_~#Source~0.offset|) (= main_~i~0 0))} is VALID [2018-11-23 13:02:10,369 INFO L273 TraceCheckUtils]: 10: Hoare triple {6532#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (<= 0 |main_~#Dest~0.offset|) (= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 4))) (= 4 (select (select |#memory_int| |main_~#Source~0.base|) (+ |main_~#Source~0.offset| 4))) (= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (<= |main_~#Dest~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 main_~i~0) |main_~#distance~0.offset|))) (= 0 |main_~#Source~0.offset|) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {6533#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (<= 0 |main_~#Dest~0.offset|) (= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 4))) (= 4 (select (select |#memory_int| |main_~#Source~0.base|) (+ |main_~#Source~0.offset| 4))) (= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (<= |main_~#Dest~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (= 0 |main_~#Source~0.offset|))} is VALID [2018-11-23 13:02:10,370 INFO L273 TraceCheckUtils]: 11: Hoare triple {6533#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (<= 0 |main_~#Dest~0.offset|) (= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 4))) (= 4 (select (select |#memory_int| |main_~#Source~0.base|) (+ |main_~#Source~0.offset| 4))) (= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (<= |main_~#Dest~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (= 0 |main_~#Source~0.offset|))} assume !(~i~0 < ~nodecount~0); {6533#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (<= 0 |main_~#Dest~0.offset|) (= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 4))) (= 4 (select (select |#memory_int| |main_~#Source~0.base|) (+ |main_~#Source~0.offset| 4))) (= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (<= |main_~#Dest~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (= 0 |main_~#Source~0.offset|))} is VALID [2018-11-23 13:02:10,371 INFO L273 TraceCheckUtils]: 12: Hoare triple {6533#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (<= 0 |main_~#Dest~0.offset|) (= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 4))) (= 4 (select (select |#memory_int| |main_~#Source~0.base|) (+ |main_~#Source~0.offset| 4))) (= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (<= |main_~#Dest~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (= 0 |main_~#Source~0.offset|))} ~i~0 := 0; {6533#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (<= 0 |main_~#Dest~0.offset|) (= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 4))) (= 4 (select (select |#memory_int| |main_~#Source~0.base|) (+ |main_~#Source~0.offset| 4))) (= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (<= |main_~#Dest~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (= 0 |main_~#Source~0.offset|))} is VALID [2018-11-23 13:02:10,372 INFO L273 TraceCheckUtils]: 13: Hoare triple {6533#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (<= 0 |main_~#Dest~0.offset|) (= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 4))) (= 4 (select (select |#memory_int| |main_~#Source~0.base|) (+ |main_~#Source~0.offset| 4))) (= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (<= |main_~#Dest~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (= 0 |main_~#Source~0.offset|))} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {6534#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 4))) (= 4 (select (select |#memory_int| |main_~#Source~0.base|) (+ |main_~#Source~0.offset| 4))) (= main_~j~0 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (= 0 |main_~#Source~0.offset|) (= 0 (+ (* 4 main_~j~0) |main_~#Dest~0.offset|)) (= 1 (select (select |#memory_int| |main_~#Dest~0.base|) (+ (* 4 main_~j~0) |main_~#Dest~0.offset|))))} is VALID [2018-11-23 13:02:10,375 INFO L273 TraceCheckUtils]: 14: Hoare triple {6534#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 4))) (= 4 (select (select |#memory_int| |main_~#Source~0.base|) (+ |main_~#Source~0.offset| 4))) (= main_~j~0 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (= 0 |main_~#Source~0.offset|) (= 0 (+ (* 4 main_~j~0) |main_~#Dest~0.offset|)) (= 1 (select (select |#memory_int| |main_~#Dest~0.base|) (+ (* 4 main_~j~0) |main_~#Dest~0.offset|))))} assume !!(~j~0 < ~edgecount~0);call #t~mem6 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4);~x~0 := #t~mem6;havoc #t~mem6;call #t~mem7 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4);~y~0 := #t~mem7;havoc #t~mem7;call #t~mem10 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem8 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem9 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); {6535#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (= 0 (select (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 main_~x~0)) (- 1)) 0)) (<= 0 |main_~#Dest~0.offset|) (= main_~j~0 0) (<= |main_~#Dest~0.offset| 0) (= 3 (select (select (store |#memory_int| |main_~#distance~0.base| (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 main_~x~0)) (- 1))) |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 4))) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= 4 (select (select (store |#memory_int| |main_~#distance~0.base| (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 main_~x~0)) (- 1))) |main_~#Source~0.base|) (+ |main_~#Source~0.offset| 4))) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= 0 |main_~#Source~0.offset|))} is VALID [2018-11-23 13:02:10,377 INFO L273 TraceCheckUtils]: 15: Hoare triple {6535#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (= 0 (select (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 main_~x~0)) (- 1)) 0)) (<= 0 |main_~#Dest~0.offset|) (= main_~j~0 0) (<= |main_~#Dest~0.offset| 0) (= 3 (select (select (store |#memory_int| |main_~#distance~0.base| (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 main_~x~0)) (- 1))) |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 4))) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= 4 (select (select (store |#memory_int| |main_~#distance~0.base| (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 main_~x~0)) (- 1))) |main_~#Source~0.base|) (+ |main_~#Source~0.offset| 4))) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= 0 |main_~#Source~0.offset|))} assume #t~mem10 > #t~mem8 + #t~mem9;havoc #t~mem8;havoc #t~mem10;havoc #t~mem9;call write~int(-1, ~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); {6536#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (<= 0 |main_~#Dest~0.offset|) (= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 4))) (= 4 (select (select |#memory_int| |main_~#Source~0.base|) (+ |main_~#Source~0.offset| 4))) (= main_~j~0 0) (<= |main_~#Dest~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= 0 |main_~#Source~0.offset|))} is VALID [2018-11-23 13:02:10,378 INFO L273 TraceCheckUtils]: 16: Hoare triple {6536#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (<= 0 |main_~#Dest~0.offset|) (= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 4))) (= 4 (select (select |#memory_int| |main_~#Source~0.base|) (+ |main_~#Source~0.offset| 4))) (= main_~j~0 0) (<= |main_~#Dest~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= 0 |main_~#Source~0.offset|))} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {6537#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= 0 |main_~#Dest~0.offset|) (= 4 (select (select |#memory_int| |main_~#Source~0.base|) (+ |main_~#Source~0.offset| 4))) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= 4 (+ (* 4 main_~j~0) |main_~#Dest~0.offset|)) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ (* 4 main_~j~0) |main_~#Dest~0.offset|))) (= 0 |main_~#Source~0.offset|))} is VALID [2018-11-23 13:02:10,380 INFO L273 TraceCheckUtils]: 17: Hoare triple {6537#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= 0 |main_~#Dest~0.offset|) (= 4 (select (select |#memory_int| |main_~#Source~0.base|) (+ |main_~#Source~0.offset| 4))) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= 4 (+ (* 4 main_~j~0) |main_~#Dest~0.offset|)) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ (* 4 main_~j~0) |main_~#Dest~0.offset|))) (= 0 |main_~#Source~0.offset|))} assume !!(~j~0 < ~edgecount~0);call #t~mem6 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4);~x~0 := #t~mem6;havoc #t~mem6;call #t~mem7 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4);~y~0 := #t~mem7;havoc #t~mem7;call #t~mem10 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem8 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem9 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); {6538#(and (= 0 (select (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 main_~x~0)) (- 1)) 0)) (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (= 4 (select (select |#memory_int| |main_~#Source~0.base|) (+ |main_~#Source~0.offset| 4))) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= 0 |main_~#Source~0.offset|))} is VALID [2018-11-23 13:02:10,382 INFO L273 TraceCheckUtils]: 18: Hoare triple {6538#(and (= 0 (select (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 main_~x~0)) (- 1)) 0)) (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (= 4 (select (select |#memory_int| |main_~#Source~0.base|) (+ |main_~#Source~0.offset| 4))) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= 0 |main_~#Source~0.offset|))} assume #t~mem10 > #t~mem8 + #t~mem9;havoc #t~mem8;havoc #t~mem10;havoc #t~mem9;call write~int(-1, ~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); {6539#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= 4 (select (select |#memory_int| |main_~#Source~0.base|) (+ |main_~#Source~0.offset| 4))) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= 0 |main_~#Source~0.offset|))} is VALID [2018-11-23 13:02:10,383 INFO L273 TraceCheckUtils]: 19: Hoare triple {6539#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= 4 (select (select |#memory_int| |main_~#Source~0.base|) (+ |main_~#Source~0.offset| 4))) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= 0 |main_~#Source~0.offset|))} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {6539#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= 4 (select (select |#memory_int| |main_~#Source~0.base|) (+ |main_~#Source~0.offset| 4))) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= 0 |main_~#Source~0.offset|))} is VALID [2018-11-23 13:02:10,384 INFO L273 TraceCheckUtils]: 20: Hoare triple {6539#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= 4 (select (select |#memory_int| |main_~#Source~0.base|) (+ |main_~#Source~0.offset| 4))) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= 0 |main_~#Source~0.offset|))} assume !(~j~0 < ~edgecount~0); {6539#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= 4 (select (select |#memory_int| |main_~#Source~0.base|) (+ |main_~#Source~0.offset| 4))) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= 0 |main_~#Source~0.offset|))} is VALID [2018-11-23 13:02:10,385 INFO L273 TraceCheckUtils]: 21: Hoare triple {6539#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= 4 (select (select |#memory_int| |main_~#Source~0.base|) (+ |main_~#Source~0.offset| 4))) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= 0 |main_~#Source~0.offset|))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {6539#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= 4 (select (select |#memory_int| |main_~#Source~0.base|) (+ |main_~#Source~0.offset| 4))) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= 0 |main_~#Source~0.offset|))} is VALID [2018-11-23 13:02:10,386 INFO L273 TraceCheckUtils]: 22: Hoare triple {6539#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= 4 (select (select |#memory_int| |main_~#Source~0.base|) (+ |main_~#Source~0.offset| 4))) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= 0 |main_~#Source~0.offset|))} assume !(~i~0 < ~nodecount~0); {6539#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= 4 (select (select |#memory_int| |main_~#Source~0.base|) (+ |main_~#Source~0.offset| 4))) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= 0 |main_~#Source~0.offset|))} is VALID [2018-11-23 13:02:10,387 INFO L273 TraceCheckUtils]: 23: Hoare triple {6539#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= 4 (select (select |#memory_int| |main_~#Source~0.base|) (+ |main_~#Source~0.offset| 4))) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= 0 |main_~#Source~0.offset|))} ~i~0 := 0; {6540#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= 4 (select (select |#memory_int| |main_~#Source~0.base|) (+ |main_~#Source~0.offset| 4))) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= 0 |main_~#Source~0.offset|) (= main_~i~0 0))} is VALID [2018-11-23 13:02:10,388 INFO L273 TraceCheckUtils]: 24: Hoare triple {6540#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= 4 (select (select |#memory_int| |main_~#Source~0.base|) (+ |main_~#Source~0.offset| 4))) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= 0 |main_~#Source~0.offset|) (= main_~i~0 0))} assume !!(~i~0 < ~edgecount~0);call #t~mem12 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~i~0, 4);~x~0 := #t~mem12;havoc #t~mem12;call #t~mem13 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~i~0, 4);~y~0 := #t~mem13;havoc #t~mem13;call #t~mem16 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem14 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem15 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~i~0, 4); {6540#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= 4 (select (select |#memory_int| |main_~#Source~0.base|) (+ |main_~#Source~0.offset| 4))) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= 0 |main_~#Source~0.offset|) (= main_~i~0 0))} is VALID [2018-11-23 13:02:10,389 INFO L273 TraceCheckUtils]: 25: Hoare triple {6540#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= 4 (select (select |#memory_int| |main_~#Source~0.base|) (+ |main_~#Source~0.offset| 4))) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= 0 |main_~#Source~0.offset|) (= main_~i~0 0))} assume !(#t~mem16 > #t~mem14 + #t~mem15);havoc #t~mem14;havoc #t~mem15;havoc #t~mem16; {6540#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= 4 (select (select |#memory_int| |main_~#Source~0.base|) (+ |main_~#Source~0.offset| 4))) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= 0 |main_~#Source~0.offset|) (= main_~i~0 0))} is VALID [2018-11-23 13:02:10,391 INFO L273 TraceCheckUtils]: 26: Hoare triple {6540#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= 4 (select (select |#memory_int| |main_~#Source~0.base|) (+ |main_~#Source~0.offset| 4))) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= 0 |main_~#Source~0.offset|) (= main_~i~0 0))} #t~post11 := ~i~0;~i~0 := 1 + #t~post11;havoc #t~post11; {6541#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= 4 (select (select |#memory_int| |main_~#Source~0.base|) (+ |main_~#Source~0.offset| (* 4 main_~i~0)))) (= 4 (+ (* 4 main_~i~0) |main_~#Source~0.offset|)) (= 0 |main_~#Source~0.offset|))} is VALID [2018-11-23 13:02:10,392 INFO L273 TraceCheckUtils]: 27: Hoare triple {6541#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= 4 (select (select |#memory_int| |main_~#Source~0.base|) (+ |main_~#Source~0.offset| (* 4 main_~i~0)))) (= 4 (+ (* 4 main_~i~0) |main_~#Source~0.offset|)) (= 0 |main_~#Source~0.offset|))} assume !!(~i~0 < ~edgecount~0);call #t~mem12 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~i~0, 4);~x~0 := #t~mem12;havoc #t~mem12;call #t~mem13 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~i~0, 4);~y~0 := #t~mem13;havoc #t~mem13;call #t~mem16 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem14 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem15 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~i~0, 4); {6542#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:02:10,393 INFO L273 TraceCheckUtils]: 28: Hoare triple {6542#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} assume !(#t~mem16 > #t~mem14 + #t~mem15);havoc #t~mem14;havoc #t~mem15;havoc #t~mem16; {6542#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:02:10,394 INFO L273 TraceCheckUtils]: 29: Hoare triple {6542#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} #t~post11 := ~i~0;~i~0 := 1 + #t~post11;havoc #t~post11; {6542#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:02:10,394 INFO L273 TraceCheckUtils]: 30: Hoare triple {6542#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} assume !(~i~0 < ~edgecount~0); {6542#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:02:10,395 INFO L273 TraceCheckUtils]: 31: Hoare triple {6542#(and (= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} ~i~0 := 0; {6543#(and (= |main_~#distance~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 main_~i~0) |main_~#distance~0.offset|))) (= main_~i~0 0))} is VALID [2018-11-23 13:02:10,396 INFO L273 TraceCheckUtils]: 32: Hoare triple {6543#(and (= |main_~#distance~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 main_~i~0) |main_~#distance~0.offset|))) (= main_~i~0 0))} assume !!(~i~0 < ~nodecount~0);call #t~mem18 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {6544#(= |main_#t~mem18| 0)} is VALID [2018-11-23 13:02:10,397 INFO L256 TraceCheckUtils]: 33: Hoare triple {6544#(= |main_#t~mem18| 0)} call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); {6545#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 13:02:10,397 INFO L273 TraceCheckUtils]: 34: Hoare triple {6545#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {6546#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-23 13:02:10,398 INFO L273 TraceCheckUtils]: 35: Hoare triple {6546#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {6530#false} is VALID [2018-11-23 13:02:10,398 INFO L273 TraceCheckUtils]: 36: Hoare triple {6530#false} assume !false; {6530#false} is VALID [2018-11-23 13:02:10,407 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 12 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 13:02:10,408 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 13:02:10,408 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 9 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 9 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 13:02:10,420 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 13:02:10,480 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2018-11-23 13:02:10,480 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 13:02:10,497 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:02:10,499 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 13:02:10,559 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 25 [2018-11-23 13:02:10,589 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:02:10,594 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:02:10,595 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 38 [2018-11-23 13:02:10,647 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:02:10,648 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:02:10,651 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:02:10,652 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:02:10,654 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 21 [2018-11-23 13:02:10,657 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 13:02:10,668 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:02:10,681 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:02:10,711 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:02:10,711 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 3 variables, input treesize:51, output treesize:30 [2018-11-23 13:02:10,717 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 13:02:10,717 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#valid_24|, |main_~#Source~0.base|, |main_~#Weight~0.base|]. (let ((.cse0 (store (store |v_#valid_24| |main_~#Source~0.base| 1) |main_~#Dest~0.base| 1)) (.cse1 (select |#memory_int| |main_~#Dest~0.base|))) (and (= 0 |main_~#distance~0.offset|) (= 0 |main_~#Dest~0.offset|) (= (select .cse0 |main_~#Weight~0.base|) 0) (<= 3 (select .cse1 (+ |main_~#Dest~0.offset| 4))) (= (select (store .cse0 |main_~#Weight~0.base| 1) |main_~#distance~0.base|) 0) (<= 1 (select .cse1 |main_~#Dest~0.offset|)) (= main_~i~0 0))) [2018-11-23 13:02:10,717 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse0 (select |#memory_int| |main_~#Dest~0.base|))) (and (= 0 |main_~#distance~0.offset|) (= 0 |main_~#Dest~0.offset|) (<= 3 (select .cse0 (+ |main_~#Dest~0.offset| 4))) (<= 1 (select .cse0 |main_~#Dest~0.offset|)) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= main_~i~0 0))) [2018-11-23 13:02:10,800 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:02:10,805 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 38 [2018-11-23 13:02:10,812 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 16 [2018-11-23 13:02:10,815 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 13:02:10,829 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:02:10,845 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:02:10,846 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:38, output treesize:30 [2018-11-23 13:02:11,138 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:02:11,165 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:02:11,182 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:02:11,186 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 50 treesize of output 68 [2018-11-23 13:02:11,198 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:02:11,202 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:02:11,216 INFO L478 Elim1Store]: Elim1 applied some preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 3 case distinctions, treesize of input 37 treesize of output 66 [2018-11-23 13:02:11,224 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 2 xjuncts. [2018-11-23 13:02:11,260 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:02:11,279 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 13:02:11,279 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:59, output treesize:55 [2018-11-23 13:02:11,287 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 13:02:11,288 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_19|, main_~x~0]. (let ((.cse0 (select |v_#memory_int_19| |main_~#Dest~0.base|)) (.cse1 (select |v_#memory_int_19| |main_~#distance~0.base|))) (and (<= 3 (select .cse0 (+ |main_~#Dest~0.offset| 4))) (= 0 |main_~#distance~0.offset|) (<= (select .cse0 (+ (* 4 main_~j~0) |main_~#Dest~0.offset|)) main_~x~0) (= 0 |main_~#Dest~0.offset|) (= 0 (select .cse1 |main_~#distance~0.offset|)) (<= 1 (select .cse0 |main_~#Dest~0.offset|)) (= (store |v_#memory_int_19| |main_~#distance~0.base| (store .cse1 (+ (* 4 main_~x~0) |main_~#distance~0.offset|) (- 1))) |#memory_int|) (= main_~j~0 0))) [2018-11-23 13:02:11,288 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [main_~x~0]. (let ((.cse0 (select |#memory_int| |main_~#Dest~0.base|)) (.cse1 (select |#memory_int| |main_~#distance~0.base|))) (and (= 0 |main_~#distance~0.offset|) (= 0 |main_~#Dest~0.offset|) (<= 3 (select .cse0 (+ |main_~#Dest~0.offset| 4))) (<= 1 (select .cse0 |main_~#Dest~0.offset|)) (= (select .cse1 (+ (* 4 main_~x~0) |main_~#distance~0.offset|)) (- 1)) (= main_~j~0 0) (<= (select .cse0 (+ (* 4 main_~j~0) |main_~#Dest~0.offset|)) main_~x~0) (= (select .cse1 |main_~#distance~0.offset|) 0))) [2018-11-23 13:02:11,516 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:02:11,517 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:02:11,519 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:02:11,524 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 64 treesize of output 80 [2018-11-23 13:02:11,539 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:02:11,541 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:02:11,550 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:02:11,583 INFO L478 Elim1Store]: Elim1 applied some preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 2 new quantified variables, introduced 4 case distinctions, treesize of input 48 treesize of output 97 [2018-11-23 13:02:11,610 INFO L267 ElimStorePlain]: Start of recursive call 3: 2 dim-0 vars, End of recursive call: 2 dim-0 vars, and 4 xjuncts. [2018-11-23 13:02:11,755 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 4 xjuncts. [2018-11-23 13:02:11,906 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-2 vars, End of recursive call: 14 dim-0 vars, and 4 xjuncts. [2018-11-23 13:02:11,907 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 4 variables, input treesize:67, output treesize:298 [2018-11-23 13:02:13,938 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 13:02:13,939 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_20|, main_~x~0, v_prenex_2, |main_~#Dest~0.base|]. (let ((.cse3 (select |v_#memory_int_20| |main_~#Dest~0.base|))) (let ((.cse0 (select |v_#memory_int_20| |main_~#distance~0.base|)) (.cse2 (select .cse3 0)) (.cse1 (select .cse3 4))) (and (= 0 |main_~#distance~0.offset|) (= (+ (select .cse0 (+ (* 4 v_prenex_2) |main_~#distance~0.offset|)) 1) 0) (<= 3 .cse1) (= |#memory_int| (store |v_#memory_int_20| |main_~#distance~0.base| (store .cse0 (+ (* 4 main_~x~0) |main_~#distance~0.offset|) (- 1)))) (<= .cse2 v_prenex_2) (= 0 (select .cse0 |main_~#distance~0.offset|)) (<= 1 .cse2) (<= .cse1 main_~x~0)))) [2018-11-23 13:02:13,939 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [v_prenex_2, |main_~#Dest~0.base|, main_~x~0, v_antiDerIndex_4, v_prenex_5, v_prenex_6, v_prenex_4, v_prenex_8, v_prenex_9, v_prenex_7, v_prenex_11, v_prenex_12, v_prenex_10, v_prenex_3]. (let ((.cse3 (select |#memory_int| |main_~#distance~0.base|))) (let ((.cse1 (= 0 |main_~#distance~0.offset|)) (.cse6 (= (select .cse3 |main_~#distance~0.offset|) 0))) (or (let ((.cse7 (select |#memory_int| v_prenex_6))) (let ((.cse2 (select .cse7 0)) (.cse4 (* 4 v_prenex_5)) (.cse5 (* 4 v_prenex_4)) (.cse0 (select .cse7 4))) (and (<= 3 .cse0) .cse1 (<= .cse2 v_prenex_5) (= (select .cse3 (+ .cse4 |main_~#distance~0.offset|)) (- 1)) (<= 1 .cse2) (not (= .cse4 .cse5)) (= (select .cse3 (+ .cse5 |main_~#distance~0.offset|)) (- 1)) (<= .cse0 v_prenex_4) .cse6))) (let ((.cse10 (select |#memory_int| |main_~#Dest~0.base|))) (let ((.cse9 (select .cse10 0)) (.cse8 (select .cse10 4))) (and (<= 3 .cse8) .cse1 (<= .cse9 v_prenex_2) (= (select .cse3 (+ (* 4 v_prenex_2) |main_~#distance~0.offset|)) (- 1)) (<= 1 .cse9) (= (select .cse3 (+ (* 4 main_~x~0) |main_~#distance~0.offset|)) (- 1)) (not (= 0 (+ (select .cse10 v_antiDerIndex_4) 1))) (= (+ (select .cse3 v_antiDerIndex_4) 1) 0) (<= .cse8 main_~x~0) .cse6))) (let ((.cse13 (select |#memory_int| v_prenex_9))) (let ((.cse12 (select .cse13 0)) (.cse14 (+ (* 4 v_prenex_7) |main_~#distance~0.offset|)) (.cse11 (select .cse13 4))) (and (<= 3 .cse11) .cse1 (<= .cse12 v_prenex_8) (= (select .cse3 (+ (* 4 v_prenex_8) |main_~#distance~0.offset|)) (- 1)) (<= 1 .cse12) (not (= 0 (+ (select .cse13 .cse14) 1))) (= (select .cse3 .cse14) (- 1)) (<= .cse11 v_prenex_7) .cse6))) (let ((.cse17 (select |#memory_int| v_prenex_12))) (let ((.cse16 (select .cse17 0)) (.cse15 (select .cse17 4))) (and (<= 3 .cse15) .cse1 (<= .cse16 v_prenex_11) (= (select .cse3 (+ (* 4 v_prenex_11) |main_~#distance~0.offset|)) (- 1)) (<= 1 .cse16) (= (select .cse3 (+ (* 4 v_prenex_10) |main_~#distance~0.offset|)) (- 1)) (not (= (select .cse3 v_prenex_3) (select .cse17 v_prenex_3))) (<= .cse15 v_prenex_10) .cse6)))))) [2018-11-23 13:02:17,492 WARN L180 SmtUtils]: Spent 2.26 s on a formula simplification. DAG size of input: 123 DAG size of output: 39 [2018-11-23 13:02:17,866 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:02:17,867 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:02:17,871 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 77 treesize of output 65 [2018-11-23 13:02:17,885 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:02:17,889 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:02:17,897 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:02:17,945 INFO L478 Elim1Store]: Elim1 applied some preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 5 disjoint index pairs (out of 10 index pairs), introduced 3 new quantified variables, introduced 7 case distinctions, treesize of input 41 treesize of output 92 [2018-11-23 13:02:17,946 WARN L138 XnfTransformerHelper]: expecting exponential blowup for input size 7 [2018-11-23 13:02:18,039 INFO L267 ElimStorePlain]: Start of recursive call 3: 12 dim-0 vars, End of recursive call: 12 dim-0 vars, and 15 xjuncts. [2018-11-23 13:02:18,166 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 2 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 2 case distinctions, treesize of input 32 treesize of output 38 [2018-11-23 13:02:18,202 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 4 xjuncts. [2018-11-23 13:02:18,212 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 28 [2018-11-23 13:02:18,220 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 13:02:18,252 INFO L267 ElimStorePlain]: Start of recursive call 2: 2 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:02:18,262 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:02:18,263 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 6 variables, input treesize:77, output treesize:3 [2018-11-23 13:02:18,266 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 13:02:18,266 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#distance~0.base|, v_prenex_3, v_prenex_12, v_prenex_10, v_prenex_11]. (let ((.cse0 (select |#memory_int| |main_~#distance~0.base|)) (.cse2 (select |#memory_int| v_prenex_12))) (let ((.cse4 (select .cse2 0)) (.cse3 (select .cse2 4)) (.cse1 (select .cse0 0))) (and (= (+ (select .cse0 (* 4 v_prenex_10)) 1) 0) (= 0 .cse1) (not (= (select .cse0 v_prenex_3) (select .cse2 v_prenex_3))) (<= .cse3 v_prenex_10) (<= .cse4 v_prenex_11) (<= 1 .cse4) (<= 3 .cse3) (= (+ (select .cse0 (* 4 v_prenex_11)) 1) 0) (<= .cse1 |main_#t~mem18|)))) [2018-11-23 13:02:18,266 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (<= 0 |main_#t~mem18|) [2018-11-23 13:02:18,346 INFO L256 TraceCheckUtils]: 0: Hoare triple {6529#true} call ULTIMATE.init(); {6529#true} is VALID [2018-11-23 13:02:18,346 INFO L273 TraceCheckUtils]: 1: Hoare triple {6529#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~INFINITY~0 := 899; {6529#true} is VALID [2018-11-23 13:02:18,346 INFO L273 TraceCheckUtils]: 2: Hoare triple {6529#true} assume true; {6529#true} is VALID [2018-11-23 13:02:18,346 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {6529#true} {6529#true} #111#return; {6529#true} is VALID [2018-11-23 13:02:18,347 INFO L256 TraceCheckUtils]: 4: Hoare triple {6529#true} call #t~ret19 := main(); {6529#true} is VALID [2018-11-23 13:02:18,347 INFO L273 TraceCheckUtils]: 5: Hoare triple {6529#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~nodecount~0 := #t~nondet1;havoc #t~nondet1;assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~edgecount~0 := #t~nondet2;havoc #t~nondet2; {6529#true} is VALID [2018-11-23 13:02:18,347 INFO L273 TraceCheckUtils]: 6: Hoare triple {6529#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {6529#true} is VALID [2018-11-23 13:02:18,351 INFO L273 TraceCheckUtils]: 7: Hoare triple {6529#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.alloc(80);call write~init~int(0, ~#Source~0.base, ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 4 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 8 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 12 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 16 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 20 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 24 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 28 + ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 32 + ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 36 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 40 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 44 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 48 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 52 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 56 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 60 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 64 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 68 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 72 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 76 + ~#Source~0.offset, 4);call ~#Dest~0.base, ~#Dest~0.offset := #Ultimate.alloc(80);call write~init~int(1, ~#Dest~0.base, ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 4 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 8 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 12 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 16 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 20 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 24 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 28 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 32 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 36 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 40 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 44 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 48 + ~#Dest~0.offset, 4);call write~init~int(2, ~#Dest~0.base, 52 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 56 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 60 + ~#Dest~0.offset, 4);call write~init~int(2, ~#Dest~0.base, 64 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 68 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 72 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 76 + ~#Dest~0.offset, 4);call ~#Weight~0.base, ~#Weight~0.offset := #Ultimate.alloc(80);call write~init~int(0, ~#Weight~0.base, ~#Weight~0.offset, 4);call write~init~int(1, ~#Weight~0.base, 4 + ~#Weight~0.offset, 4);call write~init~int(2, ~#Weight~0.base, 8 + ~#Weight~0.offset, 4);call write~init~int(3, ~#Weight~0.base, 12 + ~#Weight~0.offset, 4);call write~init~int(4, ~#Weight~0.base, 16 + ~#Weight~0.offset, 4);call write~init~int(5, ~#Weight~0.base, 20 + ~#Weight~0.offset, 4);call write~init~int(6, ~#Weight~0.base, 24 + ~#Weight~0.offset, 4);call write~init~int(7, ~#Weight~0.base, 28 + ~#Weight~0.offset, 4);call write~init~int(8, ~#Weight~0.base, 32 + ~#Weight~0.offset, 4);call write~init~int(9, ~#Weight~0.base, 36 + ~#Weight~0.offset, 4);call write~init~int(10, ~#Weight~0.base, 40 + ~#Weight~0.offset, 4);call write~init~int(11, ~#Weight~0.base, 44 + ~#Weight~0.offset, 4);call write~init~int(12, ~#Weight~0.base, 48 + ~#Weight~0.offset, 4);call write~init~int(13, ~#Weight~0.base, 52 + ~#Weight~0.offset, 4);call write~init~int(14, ~#Weight~0.base, 56 + ~#Weight~0.offset, 4);call write~init~int(15, ~#Weight~0.base, 60 + ~#Weight~0.offset, 4);call write~init~int(16, ~#Weight~0.base, 64 + ~#Weight~0.offset, 4);call write~init~int(17, ~#Weight~0.base, 68 + ~#Weight~0.offset, 4);call write~init~int(18, ~#Weight~0.base, 72 + ~#Weight~0.offset, 4);call write~init~int(19, ~#Weight~0.base, 76 + ~#Weight~0.offset, 4);call ~#distance~0.base, ~#distance~0.offset := #Ultimate.alloc(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {6571#(and (= 0 |main_~#distance~0.offset|) (= 0 |main_~#Dest~0.offset|) (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 4))) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= main_~i~0 0))} is VALID [2018-11-23 13:02:18,351 INFO L273 TraceCheckUtils]: 8: Hoare triple {6571#(and (= 0 |main_~#distance~0.offset|) (= 0 |main_~#Dest~0.offset|) (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 4))) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= main_~i~0 0))} assume !!(~i~0 < ~nodecount~0); {6571#(and (= 0 |main_~#distance~0.offset|) (= 0 |main_~#Dest~0.offset|) (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 4))) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= main_~i~0 0))} is VALID [2018-11-23 13:02:18,353 INFO L273 TraceCheckUtils]: 9: Hoare triple {6571#(and (= 0 |main_~#distance~0.offset|) (= 0 |main_~#Dest~0.offset|) (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 4))) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= main_~i~0 0))} assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {6578#(and (= 0 |main_~#distance~0.offset|) (= 0 |main_~#Dest~0.offset|) (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 4))) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} is VALID [2018-11-23 13:02:18,354 INFO L273 TraceCheckUtils]: 10: Hoare triple {6578#(and (= 0 |main_~#distance~0.offset|) (= 0 |main_~#Dest~0.offset|) (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 4))) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {6578#(and (= 0 |main_~#distance~0.offset|) (= 0 |main_~#Dest~0.offset|) (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 4))) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} is VALID [2018-11-23 13:02:18,356 INFO L273 TraceCheckUtils]: 11: Hoare triple {6578#(and (= 0 |main_~#distance~0.offset|) (= 0 |main_~#Dest~0.offset|) (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 4))) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} assume !(~i~0 < ~nodecount~0); {6578#(and (= 0 |main_~#distance~0.offset|) (= 0 |main_~#Dest~0.offset|) (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 4))) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} is VALID [2018-11-23 13:02:18,357 INFO L273 TraceCheckUtils]: 12: Hoare triple {6578#(and (= 0 |main_~#distance~0.offset|) (= 0 |main_~#Dest~0.offset|) (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 4))) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} ~i~0 := 0; {6578#(and (= 0 |main_~#distance~0.offset|) (= 0 |main_~#Dest~0.offset|) (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 4))) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} is VALID [2018-11-23 13:02:18,358 INFO L273 TraceCheckUtils]: 13: Hoare triple {6578#(and (= 0 |main_~#distance~0.offset|) (= 0 |main_~#Dest~0.offset|) (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 4))) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {6591#(and (= 0 |main_~#distance~0.offset|) (= 0 |main_~#Dest~0.offset|) (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 4))) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (= main_~j~0 0) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} is VALID [2018-11-23 13:02:18,359 INFO L273 TraceCheckUtils]: 14: Hoare triple {6591#(and (= 0 |main_~#distance~0.offset|) (= 0 |main_~#Dest~0.offset|) (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 4))) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (= main_~j~0 0) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} assume !!(~j~0 < ~edgecount~0);call #t~mem6 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4);~x~0 := #t~mem6;havoc #t~mem6;call #t~mem7 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4);~y~0 := #t~mem7;havoc #t~mem7;call #t~mem10 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem8 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem9 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); {6595#(and (= 0 |main_~#distance~0.offset|) (= 0 |main_~#Dest~0.offset|) (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 4))) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (= main_~j~0 0) (<= (select (select |#memory_int| |main_~#Dest~0.base|) (+ (* 4 main_~j~0) |main_~#Dest~0.offset|)) main_~x~0) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} is VALID [2018-11-23 13:02:18,373 INFO L273 TraceCheckUtils]: 15: Hoare triple {6595#(and (= 0 |main_~#distance~0.offset|) (= 0 |main_~#Dest~0.offset|) (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 4))) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (= main_~j~0 0) (<= (select (select |#memory_int| |main_~#Dest~0.base|) (+ (* 4 main_~j~0) |main_~#Dest~0.offset|)) main_~x~0) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} assume #t~mem10 > #t~mem8 + #t~mem9;havoc #t~mem8;havoc #t~mem10;havoc #t~mem9;call write~int(-1, ~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); {6599#(and (= 0 |main_~#distance~0.offset|) (= 0 |main_~#Dest~0.offset|) (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 4))) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (= main_~j~0 0) (exists ((main_~x~0 Int)) (and (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 main_~x~0) |main_~#distance~0.offset|)) 1) 0) (<= (select (select |#memory_int| |main_~#Dest~0.base|) (+ (* 4 main_~j~0) |main_~#Dest~0.offset|)) main_~x~0))) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} is VALID [2018-11-23 13:02:18,374 INFO L273 TraceCheckUtils]: 16: Hoare triple {6599#(and (= 0 |main_~#distance~0.offset|) (= 0 |main_~#Dest~0.offset|) (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 4))) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (= main_~j~0 0) (exists ((main_~x~0 Int)) (and (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 main_~x~0) |main_~#distance~0.offset|)) 1) 0) (<= (select (select |#memory_int| |main_~#Dest~0.base|) (+ (* 4 main_~j~0) |main_~#Dest~0.offset|)) main_~x~0))) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {6603#(and (exists ((main_~x~0 Int)) (and (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 main_~x~0) |main_~#distance~0.offset|)) 1) 0) (<= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) main_~x~0))) (= 0 |main_~#distance~0.offset|) (= 0 |main_~#Dest~0.offset|) (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 4))) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0) (= main_~j~0 1))} is VALID [2018-11-23 13:02:18,376 INFO L273 TraceCheckUtils]: 17: Hoare triple {6603#(and (exists ((main_~x~0 Int)) (and (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 main_~x~0) |main_~#distance~0.offset|)) 1) 0) (<= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) main_~x~0))) (= 0 |main_~#distance~0.offset|) (= 0 |main_~#Dest~0.offset|) (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 4))) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0) (= main_~j~0 1))} assume !!(~j~0 < ~edgecount~0);call #t~mem6 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4);~x~0 := #t~mem6;havoc #t~mem6;call #t~mem7 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4);~y~0 := #t~mem7;havoc #t~mem7;call #t~mem10 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem8 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem9 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); {6607#(and (= 0 |main_~#distance~0.offset|) (exists ((v_prenex_2 Int) (|main_~#Dest~0.base| Int)) (and (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) 4)) (<= (select (select |#memory_int| |main_~#Dest~0.base|) 0) v_prenex_2) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)) (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_prenex_2) |main_~#distance~0.offset|)) 1) 0) (<= (select (select |#memory_int| |main_~#Dest~0.base|) 4) main_~x~0))) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} is VALID [2018-11-23 13:02:18,381 INFO L273 TraceCheckUtils]: 18: Hoare triple {6607#(and (= 0 |main_~#distance~0.offset|) (exists ((v_prenex_2 Int) (|main_~#Dest~0.base| Int)) (and (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) 4)) (<= (select (select |#memory_int| |main_~#Dest~0.base|) 0) v_prenex_2) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)) (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_prenex_2) |main_~#distance~0.offset|)) 1) 0) (<= (select (select |#memory_int| |main_~#Dest~0.base|) 4) main_~x~0))) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} assume #t~mem10 > #t~mem8 + #t~mem9;havoc #t~mem8;havoc #t~mem10;havoc #t~mem9;call write~int(-1, ~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); {6611#(and (= 0 |main_~#distance~0.offset|) (exists ((v_prenex_12 Int) (v_prenex_11 Int) (v_prenex_3 Int) (v_prenex_10 Int)) (and (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_prenex_10) |main_~#distance~0.offset|)) 1) 0) (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_prenex_11) |main_~#distance~0.offset|)) 1) 0) (not (= (select (select |#memory_int| |main_~#distance~0.base|) v_prenex_3) (select (select |#memory_int| v_prenex_12) v_prenex_3))) (<= (select (select |#memory_int| v_prenex_12) 4) v_prenex_10) (<= (select (select |#memory_int| v_prenex_12) 0) v_prenex_11) (<= 1 (select (select |#memory_int| v_prenex_12) 0)) (<= 3 (select (select |#memory_int| v_prenex_12) 4)))) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} is VALID [2018-11-23 13:02:18,382 INFO L273 TraceCheckUtils]: 19: Hoare triple {6611#(and (= 0 |main_~#distance~0.offset|) (exists ((v_prenex_12 Int) (v_prenex_11 Int) (v_prenex_3 Int) (v_prenex_10 Int)) (and (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_prenex_10) |main_~#distance~0.offset|)) 1) 0) (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_prenex_11) |main_~#distance~0.offset|)) 1) 0) (not (= (select (select |#memory_int| |main_~#distance~0.base|) v_prenex_3) (select (select |#memory_int| v_prenex_12) v_prenex_3))) (<= (select (select |#memory_int| v_prenex_12) 4) v_prenex_10) (<= (select (select |#memory_int| v_prenex_12) 0) v_prenex_11) (<= 1 (select (select |#memory_int| v_prenex_12) 0)) (<= 3 (select (select |#memory_int| v_prenex_12) 4)))) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {6611#(and (= 0 |main_~#distance~0.offset|) (exists ((v_prenex_12 Int) (v_prenex_11 Int) (v_prenex_3 Int) (v_prenex_10 Int)) (and (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_prenex_10) |main_~#distance~0.offset|)) 1) 0) (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_prenex_11) |main_~#distance~0.offset|)) 1) 0) (not (= (select (select |#memory_int| |main_~#distance~0.base|) v_prenex_3) (select (select |#memory_int| v_prenex_12) v_prenex_3))) (<= (select (select |#memory_int| v_prenex_12) 4) v_prenex_10) (<= (select (select |#memory_int| v_prenex_12) 0) v_prenex_11) (<= 1 (select (select |#memory_int| v_prenex_12) 0)) (<= 3 (select (select |#memory_int| v_prenex_12) 4)))) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} is VALID [2018-11-23 13:02:18,384 INFO L273 TraceCheckUtils]: 20: Hoare triple {6611#(and (= 0 |main_~#distance~0.offset|) (exists ((v_prenex_12 Int) (v_prenex_11 Int) (v_prenex_3 Int) (v_prenex_10 Int)) (and (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_prenex_10) |main_~#distance~0.offset|)) 1) 0) (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_prenex_11) |main_~#distance~0.offset|)) 1) 0) (not (= (select (select |#memory_int| |main_~#distance~0.base|) v_prenex_3) (select (select |#memory_int| v_prenex_12) v_prenex_3))) (<= (select (select |#memory_int| v_prenex_12) 4) v_prenex_10) (<= (select (select |#memory_int| v_prenex_12) 0) v_prenex_11) (<= 1 (select (select |#memory_int| v_prenex_12) 0)) (<= 3 (select (select |#memory_int| v_prenex_12) 4)))) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} assume !(~j~0 < ~edgecount~0); {6611#(and (= 0 |main_~#distance~0.offset|) (exists ((v_prenex_12 Int) (v_prenex_11 Int) (v_prenex_3 Int) (v_prenex_10 Int)) (and (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_prenex_10) |main_~#distance~0.offset|)) 1) 0) (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_prenex_11) |main_~#distance~0.offset|)) 1) 0) (not (= (select (select |#memory_int| |main_~#distance~0.base|) v_prenex_3) (select (select |#memory_int| v_prenex_12) v_prenex_3))) (<= (select (select |#memory_int| v_prenex_12) 4) v_prenex_10) (<= (select (select |#memory_int| v_prenex_12) 0) v_prenex_11) (<= 1 (select (select |#memory_int| v_prenex_12) 0)) (<= 3 (select (select |#memory_int| v_prenex_12) 4)))) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} is VALID [2018-11-23 13:02:18,387 INFO L273 TraceCheckUtils]: 21: Hoare triple {6611#(and (= 0 |main_~#distance~0.offset|) (exists ((v_prenex_12 Int) (v_prenex_11 Int) (v_prenex_3 Int) (v_prenex_10 Int)) (and (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_prenex_10) |main_~#distance~0.offset|)) 1) 0) (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_prenex_11) |main_~#distance~0.offset|)) 1) 0) (not (= (select (select |#memory_int| |main_~#distance~0.base|) v_prenex_3) (select (select |#memory_int| v_prenex_12) v_prenex_3))) (<= (select (select |#memory_int| v_prenex_12) 4) v_prenex_10) (<= (select (select |#memory_int| v_prenex_12) 0) v_prenex_11) (<= 1 (select (select |#memory_int| v_prenex_12) 0)) (<= 3 (select (select |#memory_int| v_prenex_12) 4)))) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {6611#(and (= 0 |main_~#distance~0.offset|) (exists ((v_prenex_12 Int) (v_prenex_11 Int) (v_prenex_3 Int) (v_prenex_10 Int)) (and (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_prenex_10) |main_~#distance~0.offset|)) 1) 0) (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_prenex_11) |main_~#distance~0.offset|)) 1) 0) (not (= (select (select |#memory_int| |main_~#distance~0.base|) v_prenex_3) (select (select |#memory_int| v_prenex_12) v_prenex_3))) (<= (select (select |#memory_int| v_prenex_12) 4) v_prenex_10) (<= (select (select |#memory_int| v_prenex_12) 0) v_prenex_11) (<= 1 (select (select |#memory_int| v_prenex_12) 0)) (<= 3 (select (select |#memory_int| v_prenex_12) 4)))) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} is VALID [2018-11-23 13:02:18,389 INFO L273 TraceCheckUtils]: 22: Hoare triple {6611#(and (= 0 |main_~#distance~0.offset|) (exists ((v_prenex_12 Int) (v_prenex_11 Int) (v_prenex_3 Int) (v_prenex_10 Int)) (and (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_prenex_10) |main_~#distance~0.offset|)) 1) 0) (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_prenex_11) |main_~#distance~0.offset|)) 1) 0) (not (= (select (select |#memory_int| |main_~#distance~0.base|) v_prenex_3) (select (select |#memory_int| v_prenex_12) v_prenex_3))) (<= (select (select |#memory_int| v_prenex_12) 4) v_prenex_10) (<= (select (select |#memory_int| v_prenex_12) 0) v_prenex_11) (<= 1 (select (select |#memory_int| v_prenex_12) 0)) (<= 3 (select (select |#memory_int| v_prenex_12) 4)))) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} assume !(~i~0 < ~nodecount~0); {6611#(and (= 0 |main_~#distance~0.offset|) (exists ((v_prenex_12 Int) (v_prenex_11 Int) (v_prenex_3 Int) (v_prenex_10 Int)) (and (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_prenex_10) |main_~#distance~0.offset|)) 1) 0) (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_prenex_11) |main_~#distance~0.offset|)) 1) 0) (not (= (select (select |#memory_int| |main_~#distance~0.base|) v_prenex_3) (select (select |#memory_int| v_prenex_12) v_prenex_3))) (<= (select (select |#memory_int| v_prenex_12) 4) v_prenex_10) (<= (select (select |#memory_int| v_prenex_12) 0) v_prenex_11) (<= 1 (select (select |#memory_int| v_prenex_12) 0)) (<= 3 (select (select |#memory_int| v_prenex_12) 4)))) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} is VALID [2018-11-23 13:02:18,390 INFO L273 TraceCheckUtils]: 23: Hoare triple {6611#(and (= 0 |main_~#distance~0.offset|) (exists ((v_prenex_12 Int) (v_prenex_11 Int) (v_prenex_3 Int) (v_prenex_10 Int)) (and (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_prenex_10) |main_~#distance~0.offset|)) 1) 0) (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_prenex_11) |main_~#distance~0.offset|)) 1) 0) (not (= (select (select |#memory_int| |main_~#distance~0.base|) v_prenex_3) (select (select |#memory_int| v_prenex_12) v_prenex_3))) (<= (select (select |#memory_int| v_prenex_12) 4) v_prenex_10) (<= (select (select |#memory_int| v_prenex_12) 0) v_prenex_11) (<= 1 (select (select |#memory_int| v_prenex_12) 0)) (<= 3 (select (select |#memory_int| v_prenex_12) 4)))) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} ~i~0 := 0; {6627#(and (= 0 |main_~#distance~0.offset|) (exists ((v_prenex_12 Int) (v_prenex_11 Int) (v_prenex_3 Int) (v_prenex_10 Int)) (and (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_prenex_10) |main_~#distance~0.offset|)) 1) 0) (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_prenex_11) |main_~#distance~0.offset|)) 1) 0) (not (= (select (select |#memory_int| |main_~#distance~0.base|) v_prenex_3) (select (select |#memory_int| v_prenex_12) v_prenex_3))) (<= (select (select |#memory_int| v_prenex_12) 4) v_prenex_10) (<= (select (select |#memory_int| v_prenex_12) 0) v_prenex_11) (<= 1 (select (select |#memory_int| v_prenex_12) 0)) (<= 3 (select (select |#memory_int| v_prenex_12) 4)))) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0) (= main_~i~0 0))} is VALID [2018-11-23 13:02:18,395 INFO L273 TraceCheckUtils]: 24: Hoare triple {6627#(and (= 0 |main_~#distance~0.offset|) (exists ((v_prenex_12 Int) (v_prenex_11 Int) (v_prenex_3 Int) (v_prenex_10 Int)) (and (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_prenex_10) |main_~#distance~0.offset|)) 1) 0) (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_prenex_11) |main_~#distance~0.offset|)) 1) 0) (not (= (select (select |#memory_int| |main_~#distance~0.base|) v_prenex_3) (select (select |#memory_int| v_prenex_12) v_prenex_3))) (<= (select (select |#memory_int| v_prenex_12) 4) v_prenex_10) (<= (select (select |#memory_int| v_prenex_12) 0) v_prenex_11) (<= 1 (select (select |#memory_int| v_prenex_12) 0)) (<= 3 (select (select |#memory_int| v_prenex_12) 4)))) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0) (= main_~i~0 0))} assume !!(~i~0 < ~edgecount~0);call #t~mem12 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~i~0, 4);~x~0 := #t~mem12;havoc #t~mem12;call #t~mem13 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~i~0, 4);~y~0 := #t~mem13;havoc #t~mem13;call #t~mem16 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem14 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem15 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~i~0, 4); {6627#(and (= 0 |main_~#distance~0.offset|) (exists ((v_prenex_12 Int) (v_prenex_11 Int) (v_prenex_3 Int) (v_prenex_10 Int)) (and (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_prenex_10) |main_~#distance~0.offset|)) 1) 0) (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_prenex_11) |main_~#distance~0.offset|)) 1) 0) (not (= (select (select |#memory_int| |main_~#distance~0.base|) v_prenex_3) (select (select |#memory_int| v_prenex_12) v_prenex_3))) (<= (select (select |#memory_int| v_prenex_12) 4) v_prenex_10) (<= (select (select |#memory_int| v_prenex_12) 0) v_prenex_11) (<= 1 (select (select |#memory_int| v_prenex_12) 0)) (<= 3 (select (select |#memory_int| v_prenex_12) 4)))) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0) (= main_~i~0 0))} is VALID [2018-11-23 13:02:18,397 INFO L273 TraceCheckUtils]: 25: Hoare triple {6627#(and (= 0 |main_~#distance~0.offset|) (exists ((v_prenex_12 Int) (v_prenex_11 Int) (v_prenex_3 Int) (v_prenex_10 Int)) (and (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_prenex_10) |main_~#distance~0.offset|)) 1) 0) (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_prenex_11) |main_~#distance~0.offset|)) 1) 0) (not (= (select (select |#memory_int| |main_~#distance~0.base|) v_prenex_3) (select (select |#memory_int| v_prenex_12) v_prenex_3))) (<= (select (select |#memory_int| v_prenex_12) 4) v_prenex_10) (<= (select (select |#memory_int| v_prenex_12) 0) v_prenex_11) (<= 1 (select (select |#memory_int| v_prenex_12) 0)) (<= 3 (select (select |#memory_int| v_prenex_12) 4)))) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0) (= main_~i~0 0))} assume !(#t~mem16 > #t~mem14 + #t~mem15);havoc #t~mem14;havoc #t~mem15;havoc #t~mem16; {6627#(and (= 0 |main_~#distance~0.offset|) (exists ((v_prenex_12 Int) (v_prenex_11 Int) (v_prenex_3 Int) (v_prenex_10 Int)) (and (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_prenex_10) |main_~#distance~0.offset|)) 1) 0) (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_prenex_11) |main_~#distance~0.offset|)) 1) 0) (not (= (select (select |#memory_int| |main_~#distance~0.base|) v_prenex_3) (select (select |#memory_int| v_prenex_12) v_prenex_3))) (<= (select (select |#memory_int| v_prenex_12) 4) v_prenex_10) (<= (select (select |#memory_int| v_prenex_12) 0) v_prenex_11) (<= 1 (select (select |#memory_int| v_prenex_12) 0)) (<= 3 (select (select |#memory_int| v_prenex_12) 4)))) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0) (= main_~i~0 0))} is VALID [2018-11-23 13:02:18,399 INFO L273 TraceCheckUtils]: 26: Hoare triple {6627#(and (= 0 |main_~#distance~0.offset|) (exists ((v_prenex_12 Int) (v_prenex_11 Int) (v_prenex_3 Int) (v_prenex_10 Int)) (and (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_prenex_10) |main_~#distance~0.offset|)) 1) 0) (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_prenex_11) |main_~#distance~0.offset|)) 1) 0) (not (= (select (select |#memory_int| |main_~#distance~0.base|) v_prenex_3) (select (select |#memory_int| v_prenex_12) v_prenex_3))) (<= (select (select |#memory_int| v_prenex_12) 4) v_prenex_10) (<= (select (select |#memory_int| v_prenex_12) 0) v_prenex_11) (<= 1 (select (select |#memory_int| v_prenex_12) 0)) (<= 3 (select (select |#memory_int| v_prenex_12) 4)))) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0) (= main_~i~0 0))} #t~post11 := ~i~0;~i~0 := 1 + #t~post11;havoc #t~post11; {6611#(and (= 0 |main_~#distance~0.offset|) (exists ((v_prenex_12 Int) (v_prenex_11 Int) (v_prenex_3 Int) (v_prenex_10 Int)) (and (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_prenex_10) |main_~#distance~0.offset|)) 1) 0) (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_prenex_11) |main_~#distance~0.offset|)) 1) 0) (not (= (select (select |#memory_int| |main_~#distance~0.base|) v_prenex_3) (select (select |#memory_int| v_prenex_12) v_prenex_3))) (<= (select (select |#memory_int| v_prenex_12) 4) v_prenex_10) (<= (select (select |#memory_int| v_prenex_12) 0) v_prenex_11) (<= 1 (select (select |#memory_int| v_prenex_12) 0)) (<= 3 (select (select |#memory_int| v_prenex_12) 4)))) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} is VALID [2018-11-23 13:02:18,404 INFO L273 TraceCheckUtils]: 27: Hoare triple {6611#(and (= 0 |main_~#distance~0.offset|) (exists ((v_prenex_12 Int) (v_prenex_11 Int) (v_prenex_3 Int) (v_prenex_10 Int)) (and (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_prenex_10) |main_~#distance~0.offset|)) 1) 0) (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_prenex_11) |main_~#distance~0.offset|)) 1) 0) (not (= (select (select |#memory_int| |main_~#distance~0.base|) v_prenex_3) (select (select |#memory_int| v_prenex_12) v_prenex_3))) (<= (select (select |#memory_int| v_prenex_12) 4) v_prenex_10) (<= (select (select |#memory_int| v_prenex_12) 0) v_prenex_11) (<= 1 (select (select |#memory_int| v_prenex_12) 0)) (<= 3 (select (select |#memory_int| v_prenex_12) 4)))) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} assume !!(~i~0 < ~edgecount~0);call #t~mem12 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~i~0, 4);~x~0 := #t~mem12;havoc #t~mem12;call #t~mem13 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~i~0, 4);~y~0 := #t~mem13;havoc #t~mem13;call #t~mem16 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem14 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem15 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~i~0, 4); {6611#(and (= 0 |main_~#distance~0.offset|) (exists ((v_prenex_12 Int) (v_prenex_11 Int) (v_prenex_3 Int) (v_prenex_10 Int)) (and (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_prenex_10) |main_~#distance~0.offset|)) 1) 0) (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_prenex_11) |main_~#distance~0.offset|)) 1) 0) (not (= (select (select |#memory_int| |main_~#distance~0.base|) v_prenex_3) (select (select |#memory_int| v_prenex_12) v_prenex_3))) (<= (select (select |#memory_int| v_prenex_12) 4) v_prenex_10) (<= (select (select |#memory_int| v_prenex_12) 0) v_prenex_11) (<= 1 (select (select |#memory_int| v_prenex_12) 0)) (<= 3 (select (select |#memory_int| v_prenex_12) 4)))) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} is VALID [2018-11-23 13:02:18,405 INFO L273 TraceCheckUtils]: 28: Hoare triple {6611#(and (= 0 |main_~#distance~0.offset|) (exists ((v_prenex_12 Int) (v_prenex_11 Int) (v_prenex_3 Int) (v_prenex_10 Int)) (and (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_prenex_10) |main_~#distance~0.offset|)) 1) 0) (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_prenex_11) |main_~#distance~0.offset|)) 1) 0) (not (= (select (select |#memory_int| |main_~#distance~0.base|) v_prenex_3) (select (select |#memory_int| v_prenex_12) v_prenex_3))) (<= (select (select |#memory_int| v_prenex_12) 4) v_prenex_10) (<= (select (select |#memory_int| v_prenex_12) 0) v_prenex_11) (<= 1 (select (select |#memory_int| v_prenex_12) 0)) (<= 3 (select (select |#memory_int| v_prenex_12) 4)))) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} assume !(#t~mem16 > #t~mem14 + #t~mem15);havoc #t~mem14;havoc #t~mem15;havoc #t~mem16; {6611#(and (= 0 |main_~#distance~0.offset|) (exists ((v_prenex_12 Int) (v_prenex_11 Int) (v_prenex_3 Int) (v_prenex_10 Int)) (and (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_prenex_10) |main_~#distance~0.offset|)) 1) 0) (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_prenex_11) |main_~#distance~0.offset|)) 1) 0) (not (= (select (select |#memory_int| |main_~#distance~0.base|) v_prenex_3) (select (select |#memory_int| v_prenex_12) v_prenex_3))) (<= (select (select |#memory_int| v_prenex_12) 4) v_prenex_10) (<= (select (select |#memory_int| v_prenex_12) 0) v_prenex_11) (<= 1 (select (select |#memory_int| v_prenex_12) 0)) (<= 3 (select (select |#memory_int| v_prenex_12) 4)))) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} is VALID [2018-11-23 13:02:18,407 INFO L273 TraceCheckUtils]: 29: Hoare triple {6611#(and (= 0 |main_~#distance~0.offset|) (exists ((v_prenex_12 Int) (v_prenex_11 Int) (v_prenex_3 Int) (v_prenex_10 Int)) (and (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_prenex_10) |main_~#distance~0.offset|)) 1) 0) (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_prenex_11) |main_~#distance~0.offset|)) 1) 0) (not (= (select (select |#memory_int| |main_~#distance~0.base|) v_prenex_3) (select (select |#memory_int| v_prenex_12) v_prenex_3))) (<= (select (select |#memory_int| v_prenex_12) 4) v_prenex_10) (<= (select (select |#memory_int| v_prenex_12) 0) v_prenex_11) (<= 1 (select (select |#memory_int| v_prenex_12) 0)) (<= 3 (select (select |#memory_int| v_prenex_12) 4)))) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} #t~post11 := ~i~0;~i~0 := 1 + #t~post11;havoc #t~post11; {6611#(and (= 0 |main_~#distance~0.offset|) (exists ((v_prenex_12 Int) (v_prenex_11 Int) (v_prenex_3 Int) (v_prenex_10 Int)) (and (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_prenex_10) |main_~#distance~0.offset|)) 1) 0) (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_prenex_11) |main_~#distance~0.offset|)) 1) 0) (not (= (select (select |#memory_int| |main_~#distance~0.base|) v_prenex_3) (select (select |#memory_int| v_prenex_12) v_prenex_3))) (<= (select (select |#memory_int| v_prenex_12) 4) v_prenex_10) (<= (select (select |#memory_int| v_prenex_12) 0) v_prenex_11) (<= 1 (select (select |#memory_int| v_prenex_12) 0)) (<= 3 (select (select |#memory_int| v_prenex_12) 4)))) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} is VALID [2018-11-23 13:02:18,409 INFO L273 TraceCheckUtils]: 30: Hoare triple {6611#(and (= 0 |main_~#distance~0.offset|) (exists ((v_prenex_12 Int) (v_prenex_11 Int) (v_prenex_3 Int) (v_prenex_10 Int)) (and (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_prenex_10) |main_~#distance~0.offset|)) 1) 0) (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_prenex_11) |main_~#distance~0.offset|)) 1) 0) (not (= (select (select |#memory_int| |main_~#distance~0.base|) v_prenex_3) (select (select |#memory_int| v_prenex_12) v_prenex_3))) (<= (select (select |#memory_int| v_prenex_12) 4) v_prenex_10) (<= (select (select |#memory_int| v_prenex_12) 0) v_prenex_11) (<= 1 (select (select |#memory_int| v_prenex_12) 0)) (<= 3 (select (select |#memory_int| v_prenex_12) 4)))) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} assume !(~i~0 < ~edgecount~0); {6611#(and (= 0 |main_~#distance~0.offset|) (exists ((v_prenex_12 Int) (v_prenex_11 Int) (v_prenex_3 Int) (v_prenex_10 Int)) (and (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_prenex_10) |main_~#distance~0.offset|)) 1) 0) (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_prenex_11) |main_~#distance~0.offset|)) 1) 0) (not (= (select (select |#memory_int| |main_~#distance~0.base|) v_prenex_3) (select (select |#memory_int| v_prenex_12) v_prenex_3))) (<= (select (select |#memory_int| v_prenex_12) 4) v_prenex_10) (<= (select (select |#memory_int| v_prenex_12) 0) v_prenex_11) (<= 1 (select (select |#memory_int| v_prenex_12) 0)) (<= 3 (select (select |#memory_int| v_prenex_12) 4)))) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} is VALID [2018-11-23 13:02:18,411 INFO L273 TraceCheckUtils]: 31: Hoare triple {6611#(and (= 0 |main_~#distance~0.offset|) (exists ((v_prenex_12 Int) (v_prenex_11 Int) (v_prenex_3 Int) (v_prenex_10 Int)) (and (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_prenex_10) |main_~#distance~0.offset|)) 1) 0) (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_prenex_11) |main_~#distance~0.offset|)) 1) 0) (not (= (select (select |#memory_int| |main_~#distance~0.base|) v_prenex_3) (select (select |#memory_int| v_prenex_12) v_prenex_3))) (<= (select (select |#memory_int| v_prenex_12) 4) v_prenex_10) (<= (select (select |#memory_int| v_prenex_12) 0) v_prenex_11) (<= 1 (select (select |#memory_int| v_prenex_12) 0)) (<= 3 (select (select |#memory_int| v_prenex_12) 4)))) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0))} ~i~0 := 0; {6627#(and (= 0 |main_~#distance~0.offset|) (exists ((v_prenex_12 Int) (v_prenex_11 Int) (v_prenex_3 Int) (v_prenex_10 Int)) (and (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_prenex_10) |main_~#distance~0.offset|)) 1) 0) (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_prenex_11) |main_~#distance~0.offset|)) 1) 0) (not (= (select (select |#memory_int| |main_~#distance~0.base|) v_prenex_3) (select (select |#memory_int| v_prenex_12) v_prenex_3))) (<= (select (select |#memory_int| v_prenex_12) 4) v_prenex_10) (<= (select (select |#memory_int| v_prenex_12) 0) v_prenex_11) (<= 1 (select (select |#memory_int| v_prenex_12) 0)) (<= 3 (select (select |#memory_int| v_prenex_12) 4)))) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0) (= main_~i~0 0))} is VALID [2018-11-23 13:02:18,412 INFO L273 TraceCheckUtils]: 32: Hoare triple {6627#(and (= 0 |main_~#distance~0.offset|) (exists ((v_prenex_12 Int) (v_prenex_11 Int) (v_prenex_3 Int) (v_prenex_10 Int)) (and (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_prenex_10) |main_~#distance~0.offset|)) 1) 0) (= (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_prenex_11) |main_~#distance~0.offset|)) 1) 0) (not (= (select (select |#memory_int| |main_~#distance~0.base|) v_prenex_3) (select (select |#memory_int| v_prenex_12) v_prenex_3))) (<= (select (select |#memory_int| v_prenex_12) 4) v_prenex_10) (<= (select (select |#memory_int| v_prenex_12) 0) v_prenex_11) (<= 1 (select (select |#memory_int| v_prenex_12) 0)) (<= 3 (select (select |#memory_int| v_prenex_12) 4)))) (= (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|) 0) (= main_~i~0 0))} assume !!(~i~0 < ~nodecount~0);call #t~mem18 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {6655#(<= 0 |main_#t~mem18|)} is VALID [2018-11-23 13:02:18,413 INFO L256 TraceCheckUtils]: 33: Hoare triple {6655#(<= 0 |main_#t~mem18|)} call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); {6659#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 13:02:18,414 INFO L273 TraceCheckUtils]: 34: Hoare triple {6659#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {6663#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 13:02:18,415 INFO L273 TraceCheckUtils]: 35: Hoare triple {6663#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6530#false} is VALID [2018-11-23 13:02:18,415 INFO L273 TraceCheckUtils]: 36: Hoare triple {6530#false} assume !false; {6530#false} is VALID [2018-11-23 13:02:18,425 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 11 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-23 13:02:18,445 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 13:02:18,445 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 14] total 30 [2018-11-23 13:02:18,446 INFO L78 Accepts]: Start accepts. Automaton has 30 states. Word has length 37 [2018-11-23 13:02:18,446 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:02:18,446 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 30 states. [2018-11-23 13:02:18,566 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:02:18,566 INFO L459 AbstractCegarLoop]: Interpolant automaton has 30 states [2018-11-23 13:02:18,566 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 30 interpolants. [2018-11-23 13:02:18,567 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=111, Invalid=759, Unknown=0, NotChecked=0, Total=870 [2018-11-23 13:02:18,567 INFO L87 Difference]: Start difference. First operand 143 states and 183 transitions. Second operand 30 states. [2018-11-23 13:02:20,577 WARN L180 SmtUtils]: Spent 112.00 ms on a formula simplification. DAG size of input: 76 DAG size of output: 55 [2018-11-23 13:02:21,471 WARN L180 SmtUtils]: Spent 100.00 ms on a formula simplification. DAG size of input: 83 DAG size of output: 54 [2018-11-23 13:02:21,882 WARN L180 SmtUtils]: Spent 137.00 ms on a formula simplification. DAG size of input: 110 DAG size of output: 80 [2018-11-23 13:02:22,545 WARN L180 SmtUtils]: Spent 122.00 ms on a formula simplification. DAG size of input: 91 DAG size of output: 78 [2018-11-23 13:02:22,769 WARN L180 SmtUtils]: Spent 101.00 ms on a formula simplification. DAG size of input: 64 DAG size of output: 51 [2018-11-23 13:02:24,005 WARN L180 SmtUtils]: Spent 103.00 ms on a formula simplification. DAG size of input: 70 DAG size of output: 49 [2018-11-23 13:02:24,538 WARN L180 SmtUtils]: Spent 114.00 ms on a formula simplification. DAG size of input: 94 DAG size of output: 80 [2018-11-23 13:02:25,113 WARN L180 SmtUtils]: Spent 172.00 ms on a formula simplification. DAG size of input: 70 DAG size of output: 53 [2018-11-23 13:02:25,481 WARN L180 SmtUtils]: Spent 302.00 ms on a formula simplification. DAG size of input: 57 DAG size of output: 46 [2018-11-23 13:02:25,804 WARN L180 SmtUtils]: Spent 107.00 ms on a formula simplification. DAG size of input: 76 DAG size of output: 56 [2018-11-23 13:02:26,438 WARN L180 SmtUtils]: Spent 103.00 ms on a formula simplification. DAG size of input: 76 DAG size of output: 55 [2018-11-23 13:02:30,525 WARN L180 SmtUtils]: Spent 218.00 ms on a formula simplification. DAG size of input: 111 DAG size of output: 82 [2018-11-23 13:02:31,874 WARN L180 SmtUtils]: Spent 139.00 ms on a formula simplification. DAG size of input: 117 DAG size of output: 90 [2018-11-23 13:02:32,175 WARN L180 SmtUtils]: Spent 132.00 ms on a formula simplification. DAG size of input: 90 DAG size of output: 63 [2018-11-23 13:02:33,900 WARN L180 SmtUtils]: Spent 128.00 ms on a formula simplification. DAG size of input: 103 DAG size of output: 77 [2018-11-23 13:02:34,892 WARN L180 SmtUtils]: Spent 103.00 ms on a formula simplification. DAG size of input: 77 DAG size of output: 52 [2018-11-23 13:02:35,821 WARN L180 SmtUtils]: Spent 128.00 ms on a formula simplification. DAG size of input: 87 DAG size of output: 76 [2018-11-23 13:02:38,781 WARN L180 SmtUtils]: Spent 129.00 ms on a formula simplification. DAG size of input: 104 DAG size of output: 79 [2018-11-23 13:02:39,514 WARN L180 SmtUtils]: Spent 115.00 ms on a formula simplification. DAG size of input: 97 DAG size of output: 73 [2018-11-23 13:02:39,895 WARN L180 SmtUtils]: Spent 126.00 ms on a formula simplification. DAG size of input: 110 DAG size of output: 86 [2018-11-23 13:02:40,161 WARN L180 SmtUtils]: Spent 102.00 ms on a formula simplification. DAG size of input: 83 DAG size of output: 58 [2018-11-23 13:02:41,359 WARN L180 SmtUtils]: Spent 128.00 ms on a formula simplification. DAG size of input: 96 DAG size of output: 72 [2018-11-23 13:02:42,016 WARN L180 SmtUtils]: Spent 101.00 ms on a formula simplification. DAG size of input: 72 DAG size of output: 51 [2018-11-23 13:02:43,057 WARN L180 SmtUtils]: Spent 103.00 ms on a formula simplification. DAG size of input: 90 DAG size of output: 69 [2018-11-23 13:02:44,084 WARN L180 SmtUtils]: Spent 128.00 ms on a formula simplification. DAG size of input: 96 DAG size of output: 71 [2018-11-23 13:02:45,063 WARN L180 SmtUtils]: Spent 121.00 ms on a formula simplification. DAG size of input: 93 DAG size of output: 80 [2018-11-23 13:02:45,555 WARN L180 SmtUtils]: Spent 164.00 ms on a formula simplification. DAG size of input: 96 DAG size of output: 71 [2018-11-23 13:02:51,531 WARN L180 SmtUtils]: Spent 122.00 ms on a formula simplification. DAG size of input: 85 DAG size of output: 64 [2018-11-23 13:02:52,237 WARN L180 SmtUtils]: Spent 140.00 ms on a formula simplification. DAG size of input: 112 DAG size of output: 82 [2018-11-23 13:02:52,836 WARN L180 SmtUtils]: Spent 165.00 ms on a formula simplification. DAG size of input: 91 DAG size of output: 66 [2018-11-23 13:02:53,134 WARN L180 SmtUtils]: Spent 104.00 ms on a formula simplification. DAG size of input: 93 DAG size of output: 68 [2018-11-23 13:02:59,098 WARN L180 SmtUtils]: Spent 168.00 ms on a formula simplification. DAG size of input: 92 DAG size of output: 68 [2018-11-23 13:03:07,869 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:03:07,869 INFO L93 Difference]: Finished difference Result 705 states and 906 transitions. [2018-11-23 13:03:07,870 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 82 states. [2018-11-23 13:03:07,870 INFO L78 Accepts]: Start accepts. Automaton has 30 states. Word has length 37 [2018-11-23 13:03:07,870 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:03:07,870 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 30 states. [2018-11-23 13:03:07,884 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 82 states to 82 states and 551 transitions. [2018-11-23 13:03:07,884 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 30 states. [2018-11-23 13:03:07,895 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 82 states to 82 states and 551 transitions. [2018-11-23 13:03:07,895 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 82 states and 551 transitions. [2018-11-23 13:03:09,774 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 551 edges. 551 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:03:09,803 INFO L225 Difference]: With dead ends: 705 [2018-11-23 13:03:09,803 INFO L226 Difference]: Without dead ends: 657 [2018-11-23 13:03:09,807 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 129 GetRequests, 26 SyntacticMatches, 1 SemanticMatches, 102 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3324 ImplicationChecksByTransitivity, 19.9s TimeCoverageRelationStatistics Valid=1545, Invalid=9167, Unknown=0, NotChecked=0, Total=10712 [2018-11-23 13:03:09,808 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 657 states. [2018-11-23 13:03:11,648 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 657 to 184. [2018-11-23 13:03:11,648 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:03:11,648 INFO L82 GeneralOperation]: Start isEquivalent. First operand 657 states. Second operand 184 states. [2018-11-23 13:03:11,648 INFO L74 IsIncluded]: Start isIncluded. First operand 657 states. Second operand 184 states. [2018-11-23 13:03:11,650 INFO L87 Difference]: Start difference. First operand 657 states. Second operand 184 states. [2018-11-23 13:03:11,680 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:03:11,680 INFO L93 Difference]: Finished difference Result 657 states and 850 transitions. [2018-11-23 13:03:11,680 INFO L276 IsEmpty]: Start isEmpty. Operand 657 states and 850 transitions. [2018-11-23 13:03:11,683 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:03:11,683 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:03:11,683 INFO L74 IsIncluded]: Start isIncluded. First operand 184 states. Second operand 657 states. [2018-11-23 13:03:11,683 INFO L87 Difference]: Start difference. First operand 184 states. Second operand 657 states. [2018-11-23 13:03:11,715 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:03:11,715 INFO L93 Difference]: Finished difference Result 657 states and 850 transitions. [2018-11-23 13:03:11,716 INFO L276 IsEmpty]: Start isEmpty. Operand 657 states and 850 transitions. [2018-11-23 13:03:11,718 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:03:11,718 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:03:11,719 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:03:11,719 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:03:11,719 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 184 states. [2018-11-23 13:03:11,724 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 184 states to 184 states and 244 transitions. [2018-11-23 13:03:11,725 INFO L78 Accepts]: Start accepts. Automaton has 184 states and 244 transitions. Word has length 37 [2018-11-23 13:03:11,725 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:03:11,725 INFO L480 AbstractCegarLoop]: Abstraction has 184 states and 244 transitions. [2018-11-23 13:03:11,725 INFO L481 AbstractCegarLoop]: Interpolant automaton has 30 states. [2018-11-23 13:03:11,725 INFO L276 IsEmpty]: Start isEmpty. Operand 184 states and 244 transitions. [2018-11-23 13:03:11,726 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2018-11-23 13:03:11,726 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:03:11,726 INFO L402 BasicCegarLoop]: trace histogram [4, 4, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:03:11,726 INFO L423 AbstractCegarLoop]: === Iteration 11 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:03:11,727 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:03:11,727 INFO L82 PathProgramCache]: Analyzing trace with hash 2064143268, now seen corresponding path program 3 times [2018-11-23 13:03:11,727 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:03:11,727 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:03:11,728 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:03:11,728 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 13:03:11,728 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:03:11,738 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:03:12,758 WARN L180 SmtUtils]: Spent 293.00 ms on a formula simplification. DAG size of input: 12 DAG size of output: 7 [2018-11-23 13:03:12,830 INFO L256 TraceCheckUtils]: 0: Hoare triple {9403#true} call ULTIMATE.init(); {9403#true} is VALID [2018-11-23 13:03:12,830 INFO L273 TraceCheckUtils]: 1: Hoare triple {9403#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~INFINITY~0 := 899; {9403#true} is VALID [2018-11-23 13:03:12,831 INFO L273 TraceCheckUtils]: 2: Hoare triple {9403#true} assume true; {9403#true} is VALID [2018-11-23 13:03:12,831 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {9403#true} {9403#true} #111#return; {9403#true} is VALID [2018-11-23 13:03:12,831 INFO L256 TraceCheckUtils]: 4: Hoare triple {9403#true} call #t~ret19 := main(); {9403#true} is VALID [2018-11-23 13:03:12,831 INFO L273 TraceCheckUtils]: 5: Hoare triple {9403#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~nodecount~0 := #t~nondet1;havoc #t~nondet1;assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~edgecount~0 := #t~nondet2;havoc #t~nondet2; {9403#true} is VALID [2018-11-23 13:03:12,831 INFO L273 TraceCheckUtils]: 6: Hoare triple {9403#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {9403#true} is VALID [2018-11-23 13:03:12,836 INFO L273 TraceCheckUtils]: 7: Hoare triple {9403#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.alloc(80);call write~init~int(0, ~#Source~0.base, ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 4 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 8 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 12 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 16 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 20 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 24 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 28 + ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 32 + ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 36 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 40 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 44 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 48 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 52 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 56 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 60 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 64 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 68 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 72 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 76 + ~#Source~0.offset, 4);call ~#Dest~0.base, ~#Dest~0.offset := #Ultimate.alloc(80);call write~init~int(1, ~#Dest~0.base, ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 4 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 8 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 12 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 16 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 20 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 24 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 28 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 32 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 36 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 40 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 44 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 48 + ~#Dest~0.offset, 4);call write~init~int(2, ~#Dest~0.base, 52 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 56 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 60 + ~#Dest~0.offset, 4);call write~init~int(2, ~#Dest~0.base, 64 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 68 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 72 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 76 + ~#Dest~0.offset, 4);call ~#Weight~0.base, ~#Weight~0.offset := #Ultimate.alloc(80);call write~init~int(0, ~#Weight~0.base, ~#Weight~0.offset, 4);call write~init~int(1, ~#Weight~0.base, 4 + ~#Weight~0.offset, 4);call write~init~int(2, ~#Weight~0.base, 8 + ~#Weight~0.offset, 4);call write~init~int(3, ~#Weight~0.base, 12 + ~#Weight~0.offset, 4);call write~init~int(4, ~#Weight~0.base, 16 + ~#Weight~0.offset, 4);call write~init~int(5, ~#Weight~0.base, 20 + ~#Weight~0.offset, 4);call write~init~int(6, ~#Weight~0.base, 24 + ~#Weight~0.offset, 4);call write~init~int(7, ~#Weight~0.base, 28 + ~#Weight~0.offset, 4);call write~init~int(8, ~#Weight~0.base, 32 + ~#Weight~0.offset, 4);call write~init~int(9, ~#Weight~0.base, 36 + ~#Weight~0.offset, 4);call write~init~int(10, ~#Weight~0.base, 40 + ~#Weight~0.offset, 4);call write~init~int(11, ~#Weight~0.base, 44 + ~#Weight~0.offset, 4);call write~init~int(12, ~#Weight~0.base, 48 + ~#Weight~0.offset, 4);call write~init~int(13, ~#Weight~0.base, 52 + ~#Weight~0.offset, 4);call write~init~int(14, ~#Weight~0.base, 56 + ~#Weight~0.offset, 4);call write~init~int(15, ~#Weight~0.base, 60 + ~#Weight~0.offset, 4);call write~init~int(16, ~#Weight~0.base, 64 + ~#Weight~0.offset, 4);call write~init~int(17, ~#Weight~0.base, 68 + ~#Weight~0.offset, 4);call write~init~int(18, ~#Weight~0.base, 72 + ~#Weight~0.offset, 4);call write~init~int(19, ~#Weight~0.base, 76 + ~#Weight~0.offset, 4);call ~#distance~0.base, ~#distance~0.offset := #Ultimate.alloc(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {9405#(and (= 0 main_~source~0) (= main_~i~0 0))} is VALID [2018-11-23 13:03:12,837 INFO L273 TraceCheckUtils]: 8: Hoare triple {9405#(and (= 0 main_~source~0) (= main_~i~0 0))} assume !!(~i~0 < ~nodecount~0); {9405#(and (= 0 main_~source~0) (= main_~i~0 0))} is VALID [2018-11-23 13:03:12,837 INFO L273 TraceCheckUtils]: 9: Hoare triple {9405#(and (= 0 main_~source~0) (= main_~i~0 0))} assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {9405#(and (= 0 main_~source~0) (= main_~i~0 0))} is VALID [2018-11-23 13:03:12,837 INFO L273 TraceCheckUtils]: 10: Hoare triple {9405#(and (= 0 main_~source~0) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {9406#(and (<= 1 main_~i~0) (= 0 main_~source~0))} is VALID [2018-11-23 13:03:12,838 INFO L273 TraceCheckUtils]: 11: Hoare triple {9406#(and (<= 1 main_~i~0) (= 0 main_~source~0))} assume !!(~i~0 < ~nodecount~0); {9406#(and (<= 1 main_~i~0) (= 0 main_~source~0))} is VALID [2018-11-23 13:03:12,838 INFO L273 TraceCheckUtils]: 12: Hoare triple {9406#(and (<= 1 main_~i~0) (= 0 main_~source~0))} assume !(~i~0 == ~source~0);call write~int(~INFINITY~0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {9406#(and (<= 1 main_~i~0) (= 0 main_~source~0))} is VALID [2018-11-23 13:03:12,839 INFO L273 TraceCheckUtils]: 13: Hoare triple {9406#(and (<= 1 main_~i~0) (= 0 main_~source~0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {9407#(and (not (= main_~i~0 0)) (= 0 main_~source~0))} is VALID [2018-11-23 13:03:12,839 INFO L273 TraceCheckUtils]: 14: Hoare triple {9407#(and (not (= main_~i~0 0)) (= 0 main_~source~0))} assume !!(~i~0 < ~nodecount~0); {9407#(and (not (= main_~i~0 0)) (= 0 main_~source~0))} is VALID [2018-11-23 13:03:12,840 INFO L273 TraceCheckUtils]: 15: Hoare triple {9407#(and (not (= main_~i~0 0)) (= 0 main_~source~0))} assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {9404#false} is VALID [2018-11-23 13:03:12,840 INFO L273 TraceCheckUtils]: 16: Hoare triple {9404#false} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {9404#false} is VALID [2018-11-23 13:03:12,840 INFO L273 TraceCheckUtils]: 17: Hoare triple {9404#false} assume !!(~i~0 < ~nodecount~0); {9404#false} is VALID [2018-11-23 13:03:12,840 INFO L273 TraceCheckUtils]: 18: Hoare triple {9404#false} assume !(~i~0 == ~source~0);call write~int(~INFINITY~0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {9404#false} is VALID [2018-11-23 13:03:12,841 INFO L273 TraceCheckUtils]: 19: Hoare triple {9404#false} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {9404#false} is VALID [2018-11-23 13:03:12,841 INFO L273 TraceCheckUtils]: 20: Hoare triple {9404#false} assume !(~i~0 < ~nodecount~0); {9404#false} is VALID [2018-11-23 13:03:12,841 INFO L273 TraceCheckUtils]: 21: Hoare triple {9404#false} ~i~0 := 0; {9404#false} is VALID [2018-11-23 13:03:12,841 INFO L273 TraceCheckUtils]: 22: Hoare triple {9404#false} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {9404#false} is VALID [2018-11-23 13:03:12,841 INFO L273 TraceCheckUtils]: 23: Hoare triple {9404#false} assume !(~j~0 < ~edgecount~0); {9404#false} is VALID [2018-11-23 13:03:12,842 INFO L273 TraceCheckUtils]: 24: Hoare triple {9404#false} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {9404#false} is VALID [2018-11-23 13:03:12,842 INFO L273 TraceCheckUtils]: 25: Hoare triple {9404#false} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {9404#false} is VALID [2018-11-23 13:03:12,842 INFO L273 TraceCheckUtils]: 26: Hoare triple {9404#false} assume !(~j~0 < ~edgecount~0); {9404#false} is VALID [2018-11-23 13:03:12,842 INFO L273 TraceCheckUtils]: 27: Hoare triple {9404#false} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {9404#false} is VALID [2018-11-23 13:03:12,842 INFO L273 TraceCheckUtils]: 28: Hoare triple {9404#false} assume !(~i~0 < ~nodecount~0); {9404#false} is VALID [2018-11-23 13:03:12,843 INFO L273 TraceCheckUtils]: 29: Hoare triple {9404#false} ~i~0 := 0; {9404#false} is VALID [2018-11-23 13:03:12,843 INFO L273 TraceCheckUtils]: 30: Hoare triple {9404#false} assume !(~i~0 < ~edgecount~0); {9404#false} is VALID [2018-11-23 13:03:12,843 INFO L273 TraceCheckUtils]: 31: Hoare triple {9404#false} ~i~0 := 0; {9404#false} is VALID [2018-11-23 13:03:12,843 INFO L273 TraceCheckUtils]: 32: Hoare triple {9404#false} assume !!(~i~0 < ~nodecount~0);call #t~mem18 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {9404#false} is VALID [2018-11-23 13:03:12,843 INFO L256 TraceCheckUtils]: 33: Hoare triple {9404#false} call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); {9404#false} is VALID [2018-11-23 13:03:12,844 INFO L273 TraceCheckUtils]: 34: Hoare triple {9404#false} ~cond := #in~cond; {9404#false} is VALID [2018-11-23 13:03:12,844 INFO L273 TraceCheckUtils]: 35: Hoare triple {9404#false} assume 0 == ~cond; {9404#false} is VALID [2018-11-23 13:03:12,844 INFO L273 TraceCheckUtils]: 36: Hoare triple {9404#false} assume !false; {9404#false} is VALID [2018-11-23 13:03:12,845 INFO L134 CoverageAnalysis]: Checked inductivity of 27 backedges. 13 proven. 7 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2018-11-23 13:03:12,845 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 13:03:12,845 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 10 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 10 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 13:03:12,855 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 13:03:12,889 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2018-11-23 13:03:12,890 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 13:03:12,904 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:03:12,906 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 13:03:12,932 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 25 [2018-11-23 13:03:13,051 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:03:13,098 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:03:13,099 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 38 [2018-11-23 13:03:13,191 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:03:13,193 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:03:13,198 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:03:13,200 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:03:13,200 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 21 [2018-11-23 13:03:13,208 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 13:03:13,222 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:03:13,234 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:03:13,255 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:03:13,255 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 4 variables, input treesize:29, output treesize:3 [2018-11-23 13:03:13,257 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 13:03:13,257 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#valid_25|, |main_~#Source~0.base|, |main_~#Dest~0.base|, |main_~#Weight~0.base|]. (let ((.cse0 (store (store |v_#valid_25| |main_~#Source~0.base| 1) |main_~#Dest~0.base| 1))) (and (= (select (store .cse0 |main_~#Weight~0.base| 1) |main_~#distance~0.base|) 0) (= main_~source~0 0) (= 0 (select .cse0 |main_~#Weight~0.base|)))) [2018-11-23 13:03:13,257 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (= main_~source~0 0) [2018-11-23 13:03:13,285 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 12 [2018-11-23 13:03:13,289 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 11 [2018-11-23 13:03:13,291 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 13:03:13,295 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:03:13,305 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:03:13,305 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:22, output treesize:18 [2018-11-23 13:03:13,428 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 22 [2018-11-23 13:03:13,446 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 2 case distinctions, treesize of input 22 treesize of output 35 [2018-11-23 13:03:13,449 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 2 xjuncts. [2018-11-23 13:03:13,465 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-23 13:03:13,492 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 2 xjuncts. [2018-11-23 13:03:13,492 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:39, output treesize:33 [2018-11-23 13:03:13,496 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 13:03:13,497 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_22|, ~INFINITY~0, v_main_~i~0_31]. (let ((.cse0 (select |v_#memory_int_22| |main_~#distance~0.base|))) (and (not (= main_~i~0 0)) (= (select .cse0 (+ |main_~#distance~0.offset| (* 4 v_main_~i~0_31))) 0) (<= v_main_~i~0_31 0) (= (store |v_#memory_int_22| |main_~#distance~0.base| (store .cse0 (+ (* 4 main_~i~0) |main_~#distance~0.offset|) ~INFINITY~0)) |#memory_int|) (<= main_~i~0 (+ v_main_~i~0_31 1)))) [2018-11-23 13:03:13,497 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [v_main_~i~0_31]. (let ((.cse0 (not (= main_~i~0 0)))) (or (and .cse0 (<= v_main_~i~0_31 0) (<= main_~i~0 (+ v_main_~i~0_31 1)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 v_main_~i~0_31))))) (and .cse0 (<= main_~i~0 0)))) [2018-11-23 13:03:14,032 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 19 treesize of output 15 [2018-11-23 13:03:14,035 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 13:03:14,036 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 11 [2018-11-23 13:03:14,038 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 13:03:14,042 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:03:14,050 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:03:14,050 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 4 variables, input treesize:30, output treesize:3 [2018-11-23 13:03:14,053 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 13:03:14,053 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#distance~0.base|, |main_~#distance~0.offset|, v_main_~i~0_31]. (let ((.cse0 (select |#memory_int| |main_~#distance~0.base|))) (and (<= (select .cse0 |main_~#distance~0.offset|) |main_#t~mem18|) (<= 0 v_main_~i~0_31) (<= 0 (+ v_main_~i~0_31 1)) (<= v_main_~i~0_31 0) (= 0 (select .cse0 (+ |main_~#distance~0.offset| (* 4 v_main_~i~0_31)))))) [2018-11-23 13:03:14,054 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (<= 0 |main_#t~mem18|) [2018-11-23 13:03:14,101 INFO L256 TraceCheckUtils]: 0: Hoare triple {9403#true} call ULTIMATE.init(); {9403#true} is VALID [2018-11-23 13:03:14,101 INFO L273 TraceCheckUtils]: 1: Hoare triple {9403#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~INFINITY~0 := 899; {9403#true} is VALID [2018-11-23 13:03:14,101 INFO L273 TraceCheckUtils]: 2: Hoare triple {9403#true} assume true; {9403#true} is VALID [2018-11-23 13:03:14,102 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {9403#true} {9403#true} #111#return; {9403#true} is VALID [2018-11-23 13:03:14,102 INFO L256 TraceCheckUtils]: 4: Hoare triple {9403#true} call #t~ret19 := main(); {9403#true} is VALID [2018-11-23 13:03:14,102 INFO L273 TraceCheckUtils]: 5: Hoare triple {9403#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~nodecount~0 := #t~nondet1;havoc #t~nondet1;assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~edgecount~0 := #t~nondet2;havoc #t~nondet2; {9403#true} is VALID [2018-11-23 13:03:14,102 INFO L273 TraceCheckUtils]: 6: Hoare triple {9403#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {9403#true} is VALID [2018-11-23 13:03:14,102 INFO L273 TraceCheckUtils]: 7: Hoare triple {9403#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.alloc(80);call write~init~int(0, ~#Source~0.base, ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 4 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 8 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 12 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 16 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 20 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 24 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 28 + ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 32 + ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 36 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 40 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 44 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 48 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 52 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 56 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 60 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 64 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 68 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 72 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 76 + ~#Source~0.offset, 4);call ~#Dest~0.base, ~#Dest~0.offset := #Ultimate.alloc(80);call write~init~int(1, ~#Dest~0.base, ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 4 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 8 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 12 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 16 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 20 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 24 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 28 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 32 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 36 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 40 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 44 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 48 + ~#Dest~0.offset, 4);call write~init~int(2, ~#Dest~0.base, 52 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 56 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 60 + ~#Dest~0.offset, 4);call write~init~int(2, ~#Dest~0.base, 64 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 68 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 72 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 76 + ~#Dest~0.offset, 4);call ~#Weight~0.base, ~#Weight~0.offset := #Ultimate.alloc(80);call write~init~int(0, ~#Weight~0.base, ~#Weight~0.offset, 4);call write~init~int(1, ~#Weight~0.base, 4 + ~#Weight~0.offset, 4);call write~init~int(2, ~#Weight~0.base, 8 + ~#Weight~0.offset, 4);call write~init~int(3, ~#Weight~0.base, 12 + ~#Weight~0.offset, 4);call write~init~int(4, ~#Weight~0.base, 16 + ~#Weight~0.offset, 4);call write~init~int(5, ~#Weight~0.base, 20 + ~#Weight~0.offset, 4);call write~init~int(6, ~#Weight~0.base, 24 + ~#Weight~0.offset, 4);call write~init~int(7, ~#Weight~0.base, 28 + ~#Weight~0.offset, 4);call write~init~int(8, ~#Weight~0.base, 32 + ~#Weight~0.offset, 4);call write~init~int(9, ~#Weight~0.base, 36 + ~#Weight~0.offset, 4);call write~init~int(10, ~#Weight~0.base, 40 + ~#Weight~0.offset, 4);call write~init~int(11, ~#Weight~0.base, 44 + ~#Weight~0.offset, 4);call write~init~int(12, ~#Weight~0.base, 48 + ~#Weight~0.offset, 4);call write~init~int(13, ~#Weight~0.base, 52 + ~#Weight~0.offset, 4);call write~init~int(14, ~#Weight~0.base, 56 + ~#Weight~0.offset, 4);call write~init~int(15, ~#Weight~0.base, 60 + ~#Weight~0.offset, 4);call write~init~int(16, ~#Weight~0.base, 64 + ~#Weight~0.offset, 4);call write~init~int(17, ~#Weight~0.base, 68 + ~#Weight~0.offset, 4);call write~init~int(18, ~#Weight~0.base, 72 + ~#Weight~0.offset, 4);call write~init~int(19, ~#Weight~0.base, 76 + ~#Weight~0.offset, 4);call ~#distance~0.base, ~#distance~0.offset := #Ultimate.alloc(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {9432#(= main_~source~0 0)} is VALID [2018-11-23 13:03:14,103 INFO L273 TraceCheckUtils]: 8: Hoare triple {9432#(= main_~source~0 0)} assume !!(~i~0 < ~nodecount~0); {9432#(= main_~source~0 0)} is VALID [2018-11-23 13:03:14,103 INFO L273 TraceCheckUtils]: 9: Hoare triple {9432#(= main_~source~0 0)} assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {9432#(= main_~source~0 0)} is VALID [2018-11-23 13:03:14,103 INFO L273 TraceCheckUtils]: 10: Hoare triple {9432#(= main_~source~0 0)} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {9432#(= main_~source~0 0)} is VALID [2018-11-23 13:03:14,104 INFO L273 TraceCheckUtils]: 11: Hoare triple {9432#(= main_~source~0 0)} assume !!(~i~0 < ~nodecount~0); {9432#(= main_~source~0 0)} is VALID [2018-11-23 13:03:14,104 INFO L273 TraceCheckUtils]: 12: Hoare triple {9432#(= main_~source~0 0)} assume !(~i~0 == ~source~0);call write~int(~INFINITY~0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {9432#(= main_~source~0 0)} is VALID [2018-11-23 13:03:14,104 INFO L273 TraceCheckUtils]: 13: Hoare triple {9432#(= main_~source~0 0)} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {9432#(= main_~source~0 0)} is VALID [2018-11-23 13:03:14,104 INFO L273 TraceCheckUtils]: 14: Hoare triple {9432#(= main_~source~0 0)} assume !!(~i~0 < ~nodecount~0); {9432#(= main_~source~0 0)} is VALID [2018-11-23 13:03:14,105 INFO L273 TraceCheckUtils]: 15: Hoare triple {9432#(= main_~source~0 0)} assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {9457#(and (= main_~source~0 0) (<= main_~i~0 main_~source~0) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 main_~i~0) |main_~#distance~0.offset|))))} is VALID [2018-11-23 13:03:14,108 INFO L273 TraceCheckUtils]: 16: Hoare triple {9457#(and (= main_~source~0 0) (<= main_~i~0 main_~source~0) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 main_~i~0) |main_~#distance~0.offset|))))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {9461#(and (= main_~source~0 0) (exists ((v_main_~i~0_31 Int)) (and (<= v_main_~i~0_31 main_~source~0) (<= main_~i~0 (+ v_main_~i~0_31 1)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 v_main_~i~0_31)))))))} is VALID [2018-11-23 13:03:14,109 INFO L273 TraceCheckUtils]: 17: Hoare triple {9461#(and (= main_~source~0 0) (exists ((v_main_~i~0_31 Int)) (and (<= v_main_~i~0_31 main_~source~0) (<= main_~i~0 (+ v_main_~i~0_31 1)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 v_main_~i~0_31)))))))} assume !!(~i~0 < ~nodecount~0); {9461#(and (= main_~source~0 0) (exists ((v_main_~i~0_31 Int)) (and (<= v_main_~i~0_31 main_~source~0) (<= main_~i~0 (+ v_main_~i~0_31 1)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 v_main_~i~0_31)))))))} is VALID [2018-11-23 13:03:14,110 INFO L273 TraceCheckUtils]: 18: Hoare triple {9461#(and (= main_~source~0 0) (exists ((v_main_~i~0_31 Int)) (and (<= v_main_~i~0_31 main_~source~0) (<= main_~i~0 (+ v_main_~i~0_31 1)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 v_main_~i~0_31)))))))} assume !(~i~0 == ~source~0);call write~int(~INFINITY~0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {9468#(or (and (not (= main_~i~0 0)) (exists ((v_main_~i~0_31 Int)) (and (<= v_main_~i~0_31 0) (<= main_~i~0 (+ v_main_~i~0_31 1)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 v_main_~i~0_31))))))) (and (not (= main_~i~0 0)) (<= main_~i~0 0)))} is VALID [2018-11-23 13:03:14,111 INFO L273 TraceCheckUtils]: 19: Hoare triple {9468#(or (and (not (= main_~i~0 0)) (exists ((v_main_~i~0_31 Int)) (and (<= v_main_~i~0_31 0) (<= main_~i~0 (+ v_main_~i~0_31 1)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 v_main_~i~0_31))))))) (and (not (= main_~i~0 0)) (<= main_~i~0 0)))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {9472#(or (<= main_~i~0 0) (exists ((v_main_~i~0_31 Int)) (and (<= 0 v_main_~i~0_31) (<= v_main_~i~0_31 0) (<= main_~i~0 (+ v_main_~i~0_31 2)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 v_main_~i~0_31)))))))} is VALID [2018-11-23 13:03:14,112 INFO L273 TraceCheckUtils]: 20: Hoare triple {9472#(or (<= main_~i~0 0) (exists ((v_main_~i~0_31 Int)) (and (<= 0 v_main_~i~0_31) (<= v_main_~i~0_31 0) (<= main_~i~0 (+ v_main_~i~0_31 2)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 v_main_~i~0_31)))))))} assume !(~i~0 < ~nodecount~0); {9476#(or (<= main_~nodecount~0 0) (exists ((v_main_~i~0_31 Int)) (and (<= 0 v_main_~i~0_31) (<= v_main_~i~0_31 0) (<= main_~nodecount~0 (+ v_main_~i~0_31 2)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 v_main_~i~0_31)))))))} is VALID [2018-11-23 13:03:14,114 INFO L273 TraceCheckUtils]: 21: Hoare triple {9476#(or (<= main_~nodecount~0 0) (exists ((v_main_~i~0_31 Int)) (and (<= 0 v_main_~i~0_31) (<= v_main_~i~0_31 0) (<= main_~nodecount~0 (+ v_main_~i~0_31 2)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 v_main_~i~0_31)))))))} ~i~0 := 0; {9480#(or (and (<= 0 main_~i~0) (<= main_~nodecount~0 0)) (and (<= 0 main_~i~0) (exists ((v_main_~i~0_31 Int)) (and (<= 0 v_main_~i~0_31) (<= v_main_~i~0_31 0) (<= main_~nodecount~0 (+ v_main_~i~0_31 2)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 v_main_~i~0_31))))))))} is VALID [2018-11-23 13:03:14,114 INFO L273 TraceCheckUtils]: 22: Hoare triple {9480#(or (and (<= 0 main_~i~0) (<= main_~nodecount~0 0)) (and (<= 0 main_~i~0) (exists ((v_main_~i~0_31 Int)) (and (<= 0 v_main_~i~0_31) (<= v_main_~i~0_31 0) (<= main_~nodecount~0 (+ v_main_~i~0_31 2)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 v_main_~i~0_31))))))))} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {9480#(or (and (<= 0 main_~i~0) (<= main_~nodecount~0 0)) (and (<= 0 main_~i~0) (exists ((v_main_~i~0_31 Int)) (and (<= 0 v_main_~i~0_31) (<= v_main_~i~0_31 0) (<= main_~nodecount~0 (+ v_main_~i~0_31 2)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 v_main_~i~0_31))))))))} is VALID [2018-11-23 13:03:14,115 INFO L273 TraceCheckUtils]: 23: Hoare triple {9480#(or (and (<= 0 main_~i~0) (<= main_~nodecount~0 0)) (and (<= 0 main_~i~0) (exists ((v_main_~i~0_31 Int)) (and (<= 0 v_main_~i~0_31) (<= v_main_~i~0_31 0) (<= main_~nodecount~0 (+ v_main_~i~0_31 2)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 v_main_~i~0_31))))))))} assume !(~j~0 < ~edgecount~0); {9480#(or (and (<= 0 main_~i~0) (<= main_~nodecount~0 0)) (and (<= 0 main_~i~0) (exists ((v_main_~i~0_31 Int)) (and (<= 0 v_main_~i~0_31) (<= v_main_~i~0_31 0) (<= main_~nodecount~0 (+ v_main_~i~0_31 2)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 v_main_~i~0_31))))))))} is VALID [2018-11-23 13:03:14,116 INFO L273 TraceCheckUtils]: 24: Hoare triple {9480#(or (and (<= 0 main_~i~0) (<= main_~nodecount~0 0)) (and (<= 0 main_~i~0) (exists ((v_main_~i~0_31 Int)) (and (<= 0 v_main_~i~0_31) (<= v_main_~i~0_31 0) (<= main_~nodecount~0 (+ v_main_~i~0_31 2)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 v_main_~i~0_31))))))))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {9490#(or (and (<= 1 main_~i~0) (exists ((v_main_~i~0_31 Int)) (and (<= 0 v_main_~i~0_31) (<= v_main_~i~0_31 0) (<= main_~nodecount~0 (+ v_main_~i~0_31 2)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 v_main_~i~0_31))))))) (and (<= 1 main_~i~0) (<= main_~nodecount~0 0)))} is VALID [2018-11-23 13:03:14,117 INFO L273 TraceCheckUtils]: 25: Hoare triple {9490#(or (and (<= 1 main_~i~0) (exists ((v_main_~i~0_31 Int)) (and (<= 0 v_main_~i~0_31) (<= v_main_~i~0_31 0) (<= main_~nodecount~0 (+ v_main_~i~0_31 2)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 v_main_~i~0_31))))))) (and (<= 1 main_~i~0) (<= main_~nodecount~0 0)))} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {9494#(and (<= 2 main_~nodecount~0) (exists ((v_main_~i~0_31 Int)) (and (<= 0 v_main_~i~0_31) (<= v_main_~i~0_31 0) (<= main_~nodecount~0 (+ v_main_~i~0_31 2)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 v_main_~i~0_31)))))))} is VALID [2018-11-23 13:03:14,118 INFO L273 TraceCheckUtils]: 26: Hoare triple {9494#(and (<= 2 main_~nodecount~0) (exists ((v_main_~i~0_31 Int)) (and (<= 0 v_main_~i~0_31) (<= v_main_~i~0_31 0) (<= main_~nodecount~0 (+ v_main_~i~0_31 2)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 v_main_~i~0_31)))))))} assume !(~j~0 < ~edgecount~0); {9494#(and (<= 2 main_~nodecount~0) (exists ((v_main_~i~0_31 Int)) (and (<= 0 v_main_~i~0_31) (<= v_main_~i~0_31 0) (<= main_~nodecount~0 (+ v_main_~i~0_31 2)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 v_main_~i~0_31)))))))} is VALID [2018-11-23 13:03:14,119 INFO L273 TraceCheckUtils]: 27: Hoare triple {9494#(and (<= 2 main_~nodecount~0) (exists ((v_main_~i~0_31 Int)) (and (<= 0 v_main_~i~0_31) (<= v_main_~i~0_31 0) (<= main_~nodecount~0 (+ v_main_~i~0_31 2)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 v_main_~i~0_31)))))))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {9494#(and (<= 2 main_~nodecount~0) (exists ((v_main_~i~0_31 Int)) (and (<= 0 v_main_~i~0_31) (<= v_main_~i~0_31 0) (<= main_~nodecount~0 (+ v_main_~i~0_31 2)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 v_main_~i~0_31)))))))} is VALID [2018-11-23 13:03:14,120 INFO L273 TraceCheckUtils]: 28: Hoare triple {9494#(and (<= 2 main_~nodecount~0) (exists ((v_main_~i~0_31 Int)) (and (<= 0 v_main_~i~0_31) (<= v_main_~i~0_31 0) (<= main_~nodecount~0 (+ v_main_~i~0_31 2)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 v_main_~i~0_31)))))))} assume !(~i~0 < ~nodecount~0); {9494#(and (<= 2 main_~nodecount~0) (exists ((v_main_~i~0_31 Int)) (and (<= 0 v_main_~i~0_31) (<= v_main_~i~0_31 0) (<= main_~nodecount~0 (+ v_main_~i~0_31 2)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 v_main_~i~0_31)))))))} is VALID [2018-11-23 13:03:14,121 INFO L273 TraceCheckUtils]: 29: Hoare triple {9494#(and (<= 2 main_~nodecount~0) (exists ((v_main_~i~0_31 Int)) (and (<= 0 v_main_~i~0_31) (<= v_main_~i~0_31 0) (<= main_~nodecount~0 (+ v_main_~i~0_31 2)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 v_main_~i~0_31)))))))} ~i~0 := 0; {9494#(and (<= 2 main_~nodecount~0) (exists ((v_main_~i~0_31 Int)) (and (<= 0 v_main_~i~0_31) (<= v_main_~i~0_31 0) (<= main_~nodecount~0 (+ v_main_~i~0_31 2)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 v_main_~i~0_31)))))))} is VALID [2018-11-23 13:03:14,122 INFO L273 TraceCheckUtils]: 30: Hoare triple {9494#(and (<= 2 main_~nodecount~0) (exists ((v_main_~i~0_31 Int)) (and (<= 0 v_main_~i~0_31) (<= v_main_~i~0_31 0) (<= main_~nodecount~0 (+ v_main_~i~0_31 2)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 v_main_~i~0_31)))))))} assume !(~i~0 < ~edgecount~0); {9494#(and (<= 2 main_~nodecount~0) (exists ((v_main_~i~0_31 Int)) (and (<= 0 v_main_~i~0_31) (<= v_main_~i~0_31 0) (<= main_~nodecount~0 (+ v_main_~i~0_31 2)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 v_main_~i~0_31)))))))} is VALID [2018-11-23 13:03:14,122 INFO L273 TraceCheckUtils]: 31: Hoare triple {9494#(and (<= 2 main_~nodecount~0) (exists ((v_main_~i~0_31 Int)) (and (<= 0 v_main_~i~0_31) (<= v_main_~i~0_31 0) (<= main_~nodecount~0 (+ v_main_~i~0_31 2)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 v_main_~i~0_31)))))))} ~i~0 := 0; {9513#(and (<= 2 main_~nodecount~0) (exists ((v_main_~i~0_31 Int)) (and (<= 0 v_main_~i~0_31) (<= v_main_~i~0_31 0) (<= main_~nodecount~0 (+ v_main_~i~0_31 2)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 v_main_~i~0_31)))))) (= main_~i~0 0))} is VALID [2018-11-23 13:03:14,124 INFO L273 TraceCheckUtils]: 32: Hoare triple {9513#(and (<= 2 main_~nodecount~0) (exists ((v_main_~i~0_31 Int)) (and (<= 0 v_main_~i~0_31) (<= v_main_~i~0_31 0) (<= main_~nodecount~0 (+ v_main_~i~0_31 2)) (= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 v_main_~i~0_31)))))) (= main_~i~0 0))} assume !!(~i~0 < ~nodecount~0);call #t~mem18 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {9517#(<= 0 |main_#t~mem18|)} is VALID [2018-11-23 13:03:14,125 INFO L256 TraceCheckUtils]: 33: Hoare triple {9517#(<= 0 |main_#t~mem18|)} call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); {9521#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 13:03:14,125 INFO L273 TraceCheckUtils]: 34: Hoare triple {9521#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {9525#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 13:03:14,126 INFO L273 TraceCheckUtils]: 35: Hoare triple {9525#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9404#false} is VALID [2018-11-23 13:03:14,126 INFO L273 TraceCheckUtils]: 36: Hoare triple {9404#false} assume !false; {9404#false} is VALID [2018-11-23 13:03:14,132 INFO L134 CoverageAnalysis]: Checked inductivity of 27 backedges. 9 proven. 11 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2018-11-23 13:03:14,154 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 13:03:14,155 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 15] total 18 [2018-11-23 13:03:14,155 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 37 [2018-11-23 13:03:14,155 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:03:14,156 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states. [2018-11-23 13:03:14,223 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:03:14,224 INFO L459 AbstractCegarLoop]: Interpolant automaton has 18 states [2018-11-23 13:03:14,224 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2018-11-23 13:03:14,224 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=52, Invalid=254, Unknown=0, NotChecked=0, Total=306 [2018-11-23 13:03:14,225 INFO L87 Difference]: Start difference. First operand 184 states and 244 transitions. Second operand 18 states. [2018-11-23 13:03:15,874 WARN L180 SmtUtils]: Spent 273.00 ms on a formula simplification. DAG size of input: 44 DAG size of output: 31 [2018-11-23 13:03:19,759 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:03:19,759 INFO L93 Difference]: Finished difference Result 406 states and 538 transitions. [2018-11-23 13:03:19,759 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2018-11-23 13:03:19,759 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 37 [2018-11-23 13:03:19,760 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:03:19,760 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2018-11-23 13:03:19,762 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 150 transitions. [2018-11-23 13:03:19,762 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2018-11-23 13:03:19,764 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 150 transitions. [2018-11-23 13:03:19,764 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states and 150 transitions. [2018-11-23 13:03:20,552 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 150 edges. 150 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:03:20,559 INFO L225 Difference]: With dead ends: 406 [2018-11-23 13:03:20,559 INFO L226 Difference]: Without dead ends: 264 [2018-11-23 13:03:20,560 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 54 GetRequests, 25 SyntacticMatches, 1 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 151 ImplicationChecksByTransitivity, 1.9s TimeCoverageRelationStatistics Valid=180, Invalid=690, Unknown=0, NotChecked=0, Total=870 [2018-11-23 13:03:20,560 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 264 states. [2018-11-23 13:03:22,227 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 264 to 180. [2018-11-23 13:03:22,227 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:03:22,228 INFO L82 GeneralOperation]: Start isEquivalent. First operand 264 states. Second operand 180 states. [2018-11-23 13:03:22,228 INFO L74 IsIncluded]: Start isIncluded. First operand 264 states. Second operand 180 states. [2018-11-23 13:03:22,228 INFO L87 Difference]: Start difference. First operand 264 states. Second operand 180 states. [2018-11-23 13:03:22,236 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:03:22,236 INFO L93 Difference]: Finished difference Result 264 states and 342 transitions. [2018-11-23 13:03:22,237 INFO L276 IsEmpty]: Start isEmpty. Operand 264 states and 342 transitions. [2018-11-23 13:03:22,237 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:03:22,237 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:03:22,238 INFO L74 IsIncluded]: Start isIncluded. First operand 180 states. Second operand 264 states. [2018-11-23 13:03:22,238 INFO L87 Difference]: Start difference. First operand 180 states. Second operand 264 states. [2018-11-23 13:03:22,244 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:03:22,244 INFO L93 Difference]: Finished difference Result 264 states and 342 transitions. [2018-11-23 13:03:22,244 INFO L276 IsEmpty]: Start isEmpty. Operand 264 states and 342 transitions. [2018-11-23 13:03:22,245 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:03:22,245 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:03:22,245 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:03:22,246 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:03:22,246 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 180 states. [2018-11-23 13:03:22,250 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 180 states to 180 states and 235 transitions. [2018-11-23 13:03:22,250 INFO L78 Accepts]: Start accepts. Automaton has 180 states and 235 transitions. Word has length 37 [2018-11-23 13:03:22,250 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:03:22,250 INFO L480 AbstractCegarLoop]: Abstraction has 180 states and 235 transitions. [2018-11-23 13:03:22,250 INFO L481 AbstractCegarLoop]: Interpolant automaton has 18 states. [2018-11-23 13:03:22,250 INFO L276 IsEmpty]: Start isEmpty. Operand 180 states and 235 transitions. [2018-11-23 13:03:22,251 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2018-11-23 13:03:22,251 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:03:22,251 INFO L402 BasicCegarLoop]: trace histogram [4, 4, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:03:22,252 INFO L423 AbstractCegarLoop]: === Iteration 12 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:03:22,252 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:03:22,252 INFO L82 PathProgramCache]: Analyzing trace with hash -2011969310, now seen corresponding path program 4 times [2018-11-23 13:03:22,252 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:03:22,252 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:03:22,253 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:03:22,253 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 13:03:22,253 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:03:22,262 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:03:23,542 WARN L180 SmtUtils]: Spent 102.00 ms on a formula simplification that was a NOOP. DAG size: 7 [2018-11-23 13:03:23,646 INFO L256 TraceCheckUtils]: 0: Hoare triple {10918#true} call ULTIMATE.init(); {10918#true} is VALID [2018-11-23 13:03:23,646 INFO L273 TraceCheckUtils]: 1: Hoare triple {10918#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~INFINITY~0 := 899; {10918#true} is VALID [2018-11-23 13:03:23,646 INFO L273 TraceCheckUtils]: 2: Hoare triple {10918#true} assume true; {10918#true} is VALID [2018-11-23 13:03:23,647 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {10918#true} {10918#true} #111#return; {10918#true} is VALID [2018-11-23 13:03:23,647 INFO L256 TraceCheckUtils]: 4: Hoare triple {10918#true} call #t~ret19 := main(); {10918#true} is VALID [2018-11-23 13:03:23,647 INFO L273 TraceCheckUtils]: 5: Hoare triple {10918#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~nodecount~0 := #t~nondet1;havoc #t~nondet1;assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~edgecount~0 := #t~nondet2;havoc #t~nondet2; {10918#true} is VALID [2018-11-23 13:03:23,647 INFO L273 TraceCheckUtils]: 6: Hoare triple {10918#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {10918#true} is VALID [2018-11-23 13:03:23,648 INFO L273 TraceCheckUtils]: 7: Hoare triple {10918#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.alloc(80);call write~init~int(0, ~#Source~0.base, ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 4 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 8 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 12 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 16 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 20 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 24 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 28 + ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 32 + ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 36 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 40 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 44 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 48 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 52 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 56 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 60 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 64 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 68 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 72 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 76 + ~#Source~0.offset, 4);call ~#Dest~0.base, ~#Dest~0.offset := #Ultimate.alloc(80);call write~init~int(1, ~#Dest~0.base, ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 4 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 8 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 12 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 16 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 20 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 24 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 28 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 32 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 36 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 40 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 44 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 48 + ~#Dest~0.offset, 4);call write~init~int(2, ~#Dest~0.base, 52 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 56 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 60 + ~#Dest~0.offset, 4);call write~init~int(2, ~#Dest~0.base, 64 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 68 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 72 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 76 + ~#Dest~0.offset, 4);call ~#Weight~0.base, ~#Weight~0.offset := #Ultimate.alloc(80);call write~init~int(0, ~#Weight~0.base, ~#Weight~0.offset, 4);call write~init~int(1, ~#Weight~0.base, 4 + ~#Weight~0.offset, 4);call write~init~int(2, ~#Weight~0.base, 8 + ~#Weight~0.offset, 4);call write~init~int(3, ~#Weight~0.base, 12 + ~#Weight~0.offset, 4);call write~init~int(4, ~#Weight~0.base, 16 + ~#Weight~0.offset, 4);call write~init~int(5, ~#Weight~0.base, 20 + ~#Weight~0.offset, 4);call write~init~int(6, ~#Weight~0.base, 24 + ~#Weight~0.offset, 4);call write~init~int(7, ~#Weight~0.base, 28 + ~#Weight~0.offset, 4);call write~init~int(8, ~#Weight~0.base, 32 + ~#Weight~0.offset, 4);call write~init~int(9, ~#Weight~0.base, 36 + ~#Weight~0.offset, 4);call write~init~int(10, ~#Weight~0.base, 40 + ~#Weight~0.offset, 4);call write~init~int(11, ~#Weight~0.base, 44 + ~#Weight~0.offset, 4);call write~init~int(12, ~#Weight~0.base, 48 + ~#Weight~0.offset, 4);call write~init~int(13, ~#Weight~0.base, 52 + ~#Weight~0.offset, 4);call write~init~int(14, ~#Weight~0.base, 56 + ~#Weight~0.offset, 4);call write~init~int(15, ~#Weight~0.base, 60 + ~#Weight~0.offset, 4);call write~init~int(16, ~#Weight~0.base, 64 + ~#Weight~0.offset, 4);call write~init~int(17, ~#Weight~0.base, 68 + ~#Weight~0.offset, 4);call write~init~int(18, ~#Weight~0.base, 72 + ~#Weight~0.offset, 4);call write~init~int(19, ~#Weight~0.base, 76 + ~#Weight~0.offset, 4);call ~#distance~0.base, ~#distance~0.offset := #Ultimate.alloc(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {10920#(= main_~i~0 0)} is VALID [2018-11-23 13:03:23,648 INFO L273 TraceCheckUtils]: 8: Hoare triple {10920#(= main_~i~0 0)} assume !!(~i~0 < ~nodecount~0); {10920#(= main_~i~0 0)} is VALID [2018-11-23 13:03:23,648 INFO L273 TraceCheckUtils]: 9: Hoare triple {10920#(= main_~i~0 0)} assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {10920#(= main_~i~0 0)} is VALID [2018-11-23 13:03:23,649 INFO L273 TraceCheckUtils]: 10: Hoare triple {10920#(= main_~i~0 0)} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {10921#(<= 1 main_~i~0)} is VALID [2018-11-23 13:03:23,649 INFO L273 TraceCheckUtils]: 11: Hoare triple {10921#(<= 1 main_~i~0)} assume !!(~i~0 < ~nodecount~0); {10921#(<= 1 main_~i~0)} is VALID [2018-11-23 13:03:23,650 INFO L273 TraceCheckUtils]: 12: Hoare triple {10921#(<= 1 main_~i~0)} assume !(~i~0 == ~source~0);call write~int(~INFINITY~0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {10921#(<= 1 main_~i~0)} is VALID [2018-11-23 13:03:23,650 INFO L273 TraceCheckUtils]: 13: Hoare triple {10921#(<= 1 main_~i~0)} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {10922#(<= 2 main_~i~0)} is VALID [2018-11-23 13:03:23,650 INFO L273 TraceCheckUtils]: 14: Hoare triple {10922#(<= 2 main_~i~0)} assume !!(~i~0 < ~nodecount~0); {10922#(<= 2 main_~i~0)} is VALID [2018-11-23 13:03:23,651 INFO L273 TraceCheckUtils]: 15: Hoare triple {10922#(<= 2 main_~i~0)} assume !(~i~0 == ~source~0);call write~int(~INFINITY~0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {10922#(<= 2 main_~i~0)} is VALID [2018-11-23 13:03:23,651 INFO L273 TraceCheckUtils]: 16: Hoare triple {10922#(<= 2 main_~i~0)} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {10923#(<= 3 main_~i~0)} is VALID [2018-11-23 13:03:23,652 INFO L273 TraceCheckUtils]: 17: Hoare triple {10923#(<= 3 main_~i~0)} assume !!(~i~0 < ~nodecount~0); {10924#(<= 4 main_~nodecount~0)} is VALID [2018-11-23 13:03:23,653 INFO L273 TraceCheckUtils]: 18: Hoare triple {10924#(<= 4 main_~nodecount~0)} assume !(~i~0 == ~source~0);call write~int(~INFINITY~0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {10924#(<= 4 main_~nodecount~0)} is VALID [2018-11-23 13:03:23,653 INFO L273 TraceCheckUtils]: 19: Hoare triple {10924#(<= 4 main_~nodecount~0)} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {10924#(<= 4 main_~nodecount~0)} is VALID [2018-11-23 13:03:23,654 INFO L273 TraceCheckUtils]: 20: Hoare triple {10924#(<= 4 main_~nodecount~0)} assume !(~i~0 < ~nodecount~0); {10924#(<= 4 main_~nodecount~0)} is VALID [2018-11-23 13:03:23,654 INFO L273 TraceCheckUtils]: 21: Hoare triple {10924#(<= 4 main_~nodecount~0)} ~i~0 := 0; {10925#(and (<= 4 main_~nodecount~0) (= main_~i~0 0))} is VALID [2018-11-23 13:03:23,655 INFO L273 TraceCheckUtils]: 22: Hoare triple {10925#(and (<= 4 main_~nodecount~0) (= main_~i~0 0))} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {10925#(and (<= 4 main_~nodecount~0) (= main_~i~0 0))} is VALID [2018-11-23 13:03:23,656 INFO L273 TraceCheckUtils]: 23: Hoare triple {10925#(and (<= 4 main_~nodecount~0) (= main_~i~0 0))} assume !(~j~0 < ~edgecount~0); {10925#(and (<= 4 main_~nodecount~0) (= main_~i~0 0))} is VALID [2018-11-23 13:03:23,657 INFO L273 TraceCheckUtils]: 24: Hoare triple {10925#(and (<= 4 main_~nodecount~0) (= main_~i~0 0))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {10926#(<= (+ main_~i~0 3) main_~nodecount~0)} is VALID [2018-11-23 13:03:23,657 INFO L273 TraceCheckUtils]: 25: Hoare triple {10926#(<= (+ main_~i~0 3) main_~nodecount~0)} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {10926#(<= (+ main_~i~0 3) main_~nodecount~0)} is VALID [2018-11-23 13:03:23,658 INFO L273 TraceCheckUtils]: 26: Hoare triple {10926#(<= (+ main_~i~0 3) main_~nodecount~0)} assume !(~j~0 < ~edgecount~0); {10926#(<= (+ main_~i~0 3) main_~nodecount~0)} is VALID [2018-11-23 13:03:23,659 INFO L273 TraceCheckUtils]: 27: Hoare triple {10926#(<= (+ main_~i~0 3) main_~nodecount~0)} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {10927#(<= (+ main_~i~0 2) main_~nodecount~0)} is VALID [2018-11-23 13:03:23,660 INFO L273 TraceCheckUtils]: 28: Hoare triple {10927#(<= (+ main_~i~0 2) main_~nodecount~0)} assume !(~i~0 < ~nodecount~0); {10919#false} is VALID [2018-11-23 13:03:23,660 INFO L273 TraceCheckUtils]: 29: Hoare triple {10919#false} ~i~0 := 0; {10919#false} is VALID [2018-11-23 13:03:23,660 INFO L273 TraceCheckUtils]: 30: Hoare triple {10919#false} assume !(~i~0 < ~edgecount~0); {10919#false} is VALID [2018-11-23 13:03:23,660 INFO L273 TraceCheckUtils]: 31: Hoare triple {10919#false} ~i~0 := 0; {10919#false} is VALID [2018-11-23 13:03:23,660 INFO L273 TraceCheckUtils]: 32: Hoare triple {10919#false} assume !!(~i~0 < ~nodecount~0);call #t~mem18 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {10919#false} is VALID [2018-11-23 13:03:23,661 INFO L256 TraceCheckUtils]: 33: Hoare triple {10919#false} call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); {10919#false} is VALID [2018-11-23 13:03:23,661 INFO L273 TraceCheckUtils]: 34: Hoare triple {10919#false} ~cond := #in~cond; {10919#false} is VALID [2018-11-23 13:03:23,661 INFO L273 TraceCheckUtils]: 35: Hoare triple {10919#false} assume 0 == ~cond; {10919#false} is VALID [2018-11-23 13:03:23,661 INFO L273 TraceCheckUtils]: 36: Hoare triple {10919#false} assume !false; {10919#false} is VALID [2018-11-23 13:03:23,663 INFO L134 CoverageAnalysis]: Checked inductivity of 27 backedges. 5 proven. 22 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 13:03:23,663 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 13:03:23,663 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 11 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 11 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 13:03:23,674 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-23 13:03:23,709 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-23 13:03:23,709 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 13:03:23,716 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:03:23,718 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 13:03:23,844 INFO L256 TraceCheckUtils]: 0: Hoare triple {10918#true} call ULTIMATE.init(); {10918#true} is VALID [2018-11-23 13:03:23,844 INFO L273 TraceCheckUtils]: 1: Hoare triple {10918#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~INFINITY~0 := 899; {10918#true} is VALID [2018-11-23 13:03:23,845 INFO L273 TraceCheckUtils]: 2: Hoare triple {10918#true} assume true; {10918#true} is VALID [2018-11-23 13:03:23,845 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {10918#true} {10918#true} #111#return; {10918#true} is VALID [2018-11-23 13:03:23,845 INFO L256 TraceCheckUtils]: 4: Hoare triple {10918#true} call #t~ret19 := main(); {10918#true} is VALID [2018-11-23 13:03:23,845 INFO L273 TraceCheckUtils]: 5: Hoare triple {10918#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~nodecount~0 := #t~nondet1;havoc #t~nondet1;assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~edgecount~0 := #t~nondet2;havoc #t~nondet2; {10918#true} is VALID [2018-11-23 13:03:23,845 INFO L273 TraceCheckUtils]: 6: Hoare triple {10918#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {10918#true} is VALID [2018-11-23 13:03:23,848 INFO L273 TraceCheckUtils]: 7: Hoare triple {10918#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.alloc(80);call write~init~int(0, ~#Source~0.base, ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 4 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 8 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 12 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 16 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 20 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 24 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 28 + ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 32 + ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 36 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 40 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 44 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 48 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 52 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 56 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 60 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 64 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 68 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 72 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 76 + ~#Source~0.offset, 4);call ~#Dest~0.base, ~#Dest~0.offset := #Ultimate.alloc(80);call write~init~int(1, ~#Dest~0.base, ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 4 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 8 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 12 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 16 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 20 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 24 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 28 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 32 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 36 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 40 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 44 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 48 + ~#Dest~0.offset, 4);call write~init~int(2, ~#Dest~0.base, 52 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 56 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 60 + ~#Dest~0.offset, 4);call write~init~int(2, ~#Dest~0.base, 64 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 68 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 72 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 76 + ~#Dest~0.offset, 4);call ~#Weight~0.base, ~#Weight~0.offset := #Ultimate.alloc(80);call write~init~int(0, ~#Weight~0.base, ~#Weight~0.offset, 4);call write~init~int(1, ~#Weight~0.base, 4 + ~#Weight~0.offset, 4);call write~init~int(2, ~#Weight~0.base, 8 + ~#Weight~0.offset, 4);call write~init~int(3, ~#Weight~0.base, 12 + ~#Weight~0.offset, 4);call write~init~int(4, ~#Weight~0.base, 16 + ~#Weight~0.offset, 4);call write~init~int(5, ~#Weight~0.base, 20 + ~#Weight~0.offset, 4);call write~init~int(6, ~#Weight~0.base, 24 + ~#Weight~0.offset, 4);call write~init~int(7, ~#Weight~0.base, 28 + ~#Weight~0.offset, 4);call write~init~int(8, ~#Weight~0.base, 32 + ~#Weight~0.offset, 4);call write~init~int(9, ~#Weight~0.base, 36 + ~#Weight~0.offset, 4);call write~init~int(10, ~#Weight~0.base, 40 + ~#Weight~0.offset, 4);call write~init~int(11, ~#Weight~0.base, 44 + ~#Weight~0.offset, 4);call write~init~int(12, ~#Weight~0.base, 48 + ~#Weight~0.offset, 4);call write~init~int(13, ~#Weight~0.base, 52 + ~#Weight~0.offset, 4);call write~init~int(14, ~#Weight~0.base, 56 + ~#Weight~0.offset, 4);call write~init~int(15, ~#Weight~0.base, 60 + ~#Weight~0.offset, 4);call write~init~int(16, ~#Weight~0.base, 64 + ~#Weight~0.offset, 4);call write~init~int(17, ~#Weight~0.base, 68 + ~#Weight~0.offset, 4);call write~init~int(18, ~#Weight~0.base, 72 + ~#Weight~0.offset, 4);call write~init~int(19, ~#Weight~0.base, 76 + ~#Weight~0.offset, 4);call ~#distance~0.base, ~#distance~0.offset := #Ultimate.alloc(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {10952#(<= 0 main_~i~0)} is VALID [2018-11-23 13:03:23,848 INFO L273 TraceCheckUtils]: 8: Hoare triple {10952#(<= 0 main_~i~0)} assume !!(~i~0 < ~nodecount~0); {10952#(<= 0 main_~i~0)} is VALID [2018-11-23 13:03:23,849 INFO L273 TraceCheckUtils]: 9: Hoare triple {10952#(<= 0 main_~i~0)} assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {10952#(<= 0 main_~i~0)} is VALID [2018-11-23 13:03:23,850 INFO L273 TraceCheckUtils]: 10: Hoare triple {10952#(<= 0 main_~i~0)} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {10921#(<= 1 main_~i~0)} is VALID [2018-11-23 13:03:23,850 INFO L273 TraceCheckUtils]: 11: Hoare triple {10921#(<= 1 main_~i~0)} assume !!(~i~0 < ~nodecount~0); {10921#(<= 1 main_~i~0)} is VALID [2018-11-23 13:03:23,851 INFO L273 TraceCheckUtils]: 12: Hoare triple {10921#(<= 1 main_~i~0)} assume !(~i~0 == ~source~0);call write~int(~INFINITY~0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {10921#(<= 1 main_~i~0)} is VALID [2018-11-23 13:03:23,872 INFO L273 TraceCheckUtils]: 13: Hoare triple {10921#(<= 1 main_~i~0)} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {10922#(<= 2 main_~i~0)} is VALID [2018-11-23 13:03:23,873 INFO L273 TraceCheckUtils]: 14: Hoare triple {10922#(<= 2 main_~i~0)} assume !!(~i~0 < ~nodecount~0); {10922#(<= 2 main_~i~0)} is VALID [2018-11-23 13:03:23,873 INFO L273 TraceCheckUtils]: 15: Hoare triple {10922#(<= 2 main_~i~0)} assume !(~i~0 == ~source~0);call write~int(~INFINITY~0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {10922#(<= 2 main_~i~0)} is VALID [2018-11-23 13:03:23,874 INFO L273 TraceCheckUtils]: 16: Hoare triple {10922#(<= 2 main_~i~0)} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {10923#(<= 3 main_~i~0)} is VALID [2018-11-23 13:03:23,874 INFO L273 TraceCheckUtils]: 17: Hoare triple {10923#(<= 3 main_~i~0)} assume !!(~i~0 < ~nodecount~0); {10924#(<= 4 main_~nodecount~0)} is VALID [2018-11-23 13:03:23,874 INFO L273 TraceCheckUtils]: 18: Hoare triple {10924#(<= 4 main_~nodecount~0)} assume !(~i~0 == ~source~0);call write~int(~INFINITY~0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {10924#(<= 4 main_~nodecount~0)} is VALID [2018-11-23 13:03:23,875 INFO L273 TraceCheckUtils]: 19: Hoare triple {10924#(<= 4 main_~nodecount~0)} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {10924#(<= 4 main_~nodecount~0)} is VALID [2018-11-23 13:03:23,875 INFO L273 TraceCheckUtils]: 20: Hoare triple {10924#(<= 4 main_~nodecount~0)} assume !(~i~0 < ~nodecount~0); {10924#(<= 4 main_~nodecount~0)} is VALID [2018-11-23 13:03:23,875 INFO L273 TraceCheckUtils]: 21: Hoare triple {10924#(<= 4 main_~nodecount~0)} ~i~0 := 0; {10995#(and (<= 4 main_~nodecount~0) (<= main_~i~0 0))} is VALID [2018-11-23 13:03:23,876 INFO L273 TraceCheckUtils]: 22: Hoare triple {10995#(and (<= 4 main_~nodecount~0) (<= main_~i~0 0))} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {10995#(and (<= 4 main_~nodecount~0) (<= main_~i~0 0))} is VALID [2018-11-23 13:03:23,876 INFO L273 TraceCheckUtils]: 23: Hoare triple {10995#(and (<= 4 main_~nodecount~0) (<= main_~i~0 0))} assume !(~j~0 < ~edgecount~0); {10995#(and (<= 4 main_~nodecount~0) (<= main_~i~0 0))} is VALID [2018-11-23 13:03:23,877 INFO L273 TraceCheckUtils]: 24: Hoare triple {10995#(and (<= 4 main_~nodecount~0) (<= main_~i~0 0))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {11005#(and (<= 4 main_~nodecount~0) (<= main_~i~0 1))} is VALID [2018-11-23 13:03:23,878 INFO L273 TraceCheckUtils]: 25: Hoare triple {11005#(and (<= 4 main_~nodecount~0) (<= main_~i~0 1))} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {11005#(and (<= 4 main_~nodecount~0) (<= main_~i~0 1))} is VALID [2018-11-23 13:03:23,879 INFO L273 TraceCheckUtils]: 26: Hoare triple {11005#(and (<= 4 main_~nodecount~0) (<= main_~i~0 1))} assume !(~j~0 < ~edgecount~0); {11005#(and (<= 4 main_~nodecount~0) (<= main_~i~0 1))} is VALID [2018-11-23 13:03:23,879 INFO L273 TraceCheckUtils]: 27: Hoare triple {11005#(and (<= 4 main_~nodecount~0) (<= main_~i~0 1))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {11015#(and (<= main_~i~0 2) (<= 4 main_~nodecount~0))} is VALID [2018-11-23 13:03:23,880 INFO L273 TraceCheckUtils]: 28: Hoare triple {11015#(and (<= main_~i~0 2) (<= 4 main_~nodecount~0))} assume !(~i~0 < ~nodecount~0); {10919#false} is VALID [2018-11-23 13:03:23,881 INFO L273 TraceCheckUtils]: 29: Hoare triple {10919#false} ~i~0 := 0; {10919#false} is VALID [2018-11-23 13:03:23,881 INFO L273 TraceCheckUtils]: 30: Hoare triple {10919#false} assume !(~i~0 < ~edgecount~0); {10919#false} is VALID [2018-11-23 13:03:23,881 INFO L273 TraceCheckUtils]: 31: Hoare triple {10919#false} ~i~0 := 0; {10919#false} is VALID [2018-11-23 13:03:23,881 INFO L273 TraceCheckUtils]: 32: Hoare triple {10919#false} assume !!(~i~0 < ~nodecount~0);call #t~mem18 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {10919#false} is VALID [2018-11-23 13:03:23,881 INFO L256 TraceCheckUtils]: 33: Hoare triple {10919#false} call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); {10919#false} is VALID [2018-11-23 13:03:23,882 INFO L273 TraceCheckUtils]: 34: Hoare triple {10919#false} ~cond := #in~cond; {10919#false} is VALID [2018-11-23 13:03:23,882 INFO L273 TraceCheckUtils]: 35: Hoare triple {10919#false} assume 0 == ~cond; {10919#false} is VALID [2018-11-23 13:03:23,882 INFO L273 TraceCheckUtils]: 36: Hoare triple {10919#false} assume !false; {10919#false} is VALID [2018-11-23 13:03:23,883 INFO L134 CoverageAnalysis]: Checked inductivity of 27 backedges. 12 proven. 15 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 13:03:23,903 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 13:03:23,903 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 14 [2018-11-23 13:03:23,903 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 37 [2018-11-23 13:03:23,904 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:03:23,904 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states. [2018-11-23 13:03:23,956 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:03:23,956 INFO L459 AbstractCegarLoop]: Interpolant automaton has 14 states [2018-11-23 13:03:23,957 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2018-11-23 13:03:23,957 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=52, Invalid=130, Unknown=0, NotChecked=0, Total=182 [2018-11-23 13:03:23,957 INFO L87 Difference]: Start difference. First operand 180 states and 235 transitions. Second operand 14 states. [2018-11-23 13:03:30,207 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:03:30,207 INFO L93 Difference]: Finished difference Result 438 states and 581 transitions. [2018-11-23 13:03:30,207 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2018-11-23 13:03:30,207 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 37 [2018-11-23 13:03:30,207 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:03:30,207 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2018-11-23 13:03:30,209 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 185 transitions. [2018-11-23 13:03:30,210 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2018-11-23 13:03:30,211 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 185 transitions. [2018-11-23 13:03:30,211 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 185 transitions. [2018-11-23 13:03:30,455 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 185 edges. 185 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:03:30,467 INFO L225 Difference]: With dead ends: 438 [2018-11-23 13:03:30,467 INFO L226 Difference]: Without dead ends: 417 [2018-11-23 13:03:30,467 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 49 GetRequests, 34 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 48 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=76, Invalid=196, Unknown=0, NotChecked=0, Total=272 [2018-11-23 13:03:30,468 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 417 states. [2018-11-23 13:03:32,145 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 417 to 195. [2018-11-23 13:03:32,145 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:03:32,145 INFO L82 GeneralOperation]: Start isEquivalent. First operand 417 states. Second operand 195 states. [2018-11-23 13:03:32,145 INFO L74 IsIncluded]: Start isIncluded. First operand 417 states. Second operand 195 states. [2018-11-23 13:03:32,145 INFO L87 Difference]: Start difference. First operand 417 states. Second operand 195 states. [2018-11-23 13:03:32,158 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:03:32,158 INFO L93 Difference]: Finished difference Result 417 states and 556 transitions. [2018-11-23 13:03:32,158 INFO L276 IsEmpty]: Start isEmpty. Operand 417 states and 556 transitions. [2018-11-23 13:03:32,160 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:03:32,160 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:03:32,160 INFO L74 IsIncluded]: Start isIncluded. First operand 195 states. Second operand 417 states. [2018-11-23 13:03:32,160 INFO L87 Difference]: Start difference. First operand 195 states. Second operand 417 states. [2018-11-23 13:03:32,172 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:03:32,172 INFO L93 Difference]: Finished difference Result 417 states and 556 transitions. [2018-11-23 13:03:32,173 INFO L276 IsEmpty]: Start isEmpty. Operand 417 states and 556 transitions. [2018-11-23 13:03:32,174 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:03:32,174 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:03:32,174 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:03:32,174 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:03:32,174 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 195 states. [2018-11-23 13:03:32,178 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 195 states to 195 states and 255 transitions. [2018-11-23 13:03:32,179 INFO L78 Accepts]: Start accepts. Automaton has 195 states and 255 transitions. Word has length 37 [2018-11-23 13:03:32,179 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:03:32,179 INFO L480 AbstractCegarLoop]: Abstraction has 195 states and 255 transitions. [2018-11-23 13:03:32,179 INFO L481 AbstractCegarLoop]: Interpolant automaton has 14 states. [2018-11-23 13:03:32,179 INFO L276 IsEmpty]: Start isEmpty. Operand 195 states and 255 transitions. [2018-11-23 13:03:32,180 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2018-11-23 13:03:32,180 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:03:32,180 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:03:32,181 INFO L423 AbstractCegarLoop]: === Iteration 13 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:03:32,181 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:03:32,181 INFO L82 PathProgramCache]: Analyzing trace with hash -1447053639, now seen corresponding path program 1 times [2018-11-23 13:03:32,181 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:03:32,181 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:03:32,182 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:03:32,182 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 13:03:32,182 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:03:32,196 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:03:32,565 INFO L256 TraceCheckUtils]: 0: Hoare triple {12785#true} call ULTIMATE.init(); {12785#true} is VALID [2018-11-23 13:03:32,566 INFO L273 TraceCheckUtils]: 1: Hoare triple {12785#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~INFINITY~0 := 899; {12787#(<= 899 ~INFINITY~0)} is VALID [2018-11-23 13:03:32,566 INFO L273 TraceCheckUtils]: 2: Hoare triple {12787#(<= 899 ~INFINITY~0)} assume true; {12787#(<= 899 ~INFINITY~0)} is VALID [2018-11-23 13:03:32,567 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {12787#(<= 899 ~INFINITY~0)} {12785#true} #111#return; {12787#(<= 899 ~INFINITY~0)} is VALID [2018-11-23 13:03:32,567 INFO L256 TraceCheckUtils]: 4: Hoare triple {12787#(<= 899 ~INFINITY~0)} call #t~ret19 := main(); {12787#(<= 899 ~INFINITY~0)} is VALID [2018-11-23 13:03:32,568 INFO L273 TraceCheckUtils]: 5: Hoare triple {12787#(<= 899 ~INFINITY~0)} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~nodecount~0 := #t~nondet1;havoc #t~nondet1;assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~edgecount~0 := #t~nondet2;havoc #t~nondet2; {12787#(<= 899 ~INFINITY~0)} is VALID [2018-11-23 13:03:32,568 INFO L273 TraceCheckUtils]: 6: Hoare triple {12787#(<= 899 ~INFINITY~0)} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {12787#(<= 899 ~INFINITY~0)} is VALID [2018-11-23 13:03:32,572 INFO L273 TraceCheckUtils]: 7: Hoare triple {12787#(<= 899 ~INFINITY~0)} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.alloc(80);call write~init~int(0, ~#Source~0.base, ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 4 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 8 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 12 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 16 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 20 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 24 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 28 + ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 32 + ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 36 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 40 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 44 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 48 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 52 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 56 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 60 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 64 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 68 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 72 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 76 + ~#Source~0.offset, 4);call ~#Dest~0.base, ~#Dest~0.offset := #Ultimate.alloc(80);call write~init~int(1, ~#Dest~0.base, ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 4 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 8 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 12 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 16 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 20 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 24 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 28 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 32 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 36 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 40 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 44 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 48 + ~#Dest~0.offset, 4);call write~init~int(2, ~#Dest~0.base, 52 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 56 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 60 + ~#Dest~0.offset, 4);call write~init~int(2, ~#Dest~0.base, 64 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 68 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 72 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 76 + ~#Dest~0.offset, 4);call ~#Weight~0.base, ~#Weight~0.offset := #Ultimate.alloc(80);call write~init~int(0, ~#Weight~0.base, ~#Weight~0.offset, 4);call write~init~int(1, ~#Weight~0.base, 4 + ~#Weight~0.offset, 4);call write~init~int(2, ~#Weight~0.base, 8 + ~#Weight~0.offset, 4);call write~init~int(3, ~#Weight~0.base, 12 + ~#Weight~0.offset, 4);call write~init~int(4, ~#Weight~0.base, 16 + ~#Weight~0.offset, 4);call write~init~int(5, ~#Weight~0.base, 20 + ~#Weight~0.offset, 4);call write~init~int(6, ~#Weight~0.base, 24 + ~#Weight~0.offset, 4);call write~init~int(7, ~#Weight~0.base, 28 + ~#Weight~0.offset, 4);call write~init~int(8, ~#Weight~0.base, 32 + ~#Weight~0.offset, 4);call write~init~int(9, ~#Weight~0.base, 36 + ~#Weight~0.offset, 4);call write~init~int(10, ~#Weight~0.base, 40 + ~#Weight~0.offset, 4);call write~init~int(11, ~#Weight~0.base, 44 + ~#Weight~0.offset, 4);call write~init~int(12, ~#Weight~0.base, 48 + ~#Weight~0.offset, 4);call write~init~int(13, ~#Weight~0.base, 52 + ~#Weight~0.offset, 4);call write~init~int(14, ~#Weight~0.base, 56 + ~#Weight~0.offset, 4);call write~init~int(15, ~#Weight~0.base, 60 + ~#Weight~0.offset, 4);call write~init~int(16, ~#Weight~0.base, 64 + ~#Weight~0.offset, 4);call write~init~int(17, ~#Weight~0.base, 68 + ~#Weight~0.offset, 4);call write~init~int(18, ~#Weight~0.base, 72 + ~#Weight~0.offset, 4);call write~init~int(19, ~#Weight~0.base, 76 + ~#Weight~0.offset, 4);call ~#distance~0.base, ~#distance~0.offset := #Ultimate.alloc(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {12788#(and (<= 899 ~INFINITY~0) (= |main_~#distance~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 13:03:32,573 INFO L273 TraceCheckUtils]: 8: Hoare triple {12788#(and (<= 899 ~INFINITY~0) (= |main_~#distance~0.offset| 0) (= main_~i~0 0))} assume !!(~i~0 < ~nodecount~0); {12788#(and (<= 899 ~INFINITY~0) (= |main_~#distance~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 13:03:32,578 INFO L273 TraceCheckUtils]: 9: Hoare triple {12788#(and (<= 899 ~INFINITY~0) (= |main_~#distance~0.offset| 0) (= main_~i~0 0))} assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {12788#(and (<= 899 ~INFINITY~0) (= |main_~#distance~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 13:03:32,579 INFO L273 TraceCheckUtils]: 10: Hoare triple {12788#(and (<= 899 ~INFINITY~0) (= |main_~#distance~0.offset| 0) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {12789#(and (<= 899 ~INFINITY~0) (<= main_~i~0 1) (= |main_~#distance~0.offset| 0) (< 3 (+ (* 4 main_~i~0) |main_~#distance~0.offset|)))} is VALID [2018-11-23 13:03:32,579 INFO L273 TraceCheckUtils]: 11: Hoare triple {12789#(and (<= 899 ~INFINITY~0) (<= main_~i~0 1) (= |main_~#distance~0.offset| 0) (< 3 (+ (* 4 main_~i~0) |main_~#distance~0.offset|)))} assume !!(~i~0 < ~nodecount~0); {12789#(and (<= 899 ~INFINITY~0) (<= main_~i~0 1) (= |main_~#distance~0.offset| 0) (< 3 (+ (* 4 main_~i~0) |main_~#distance~0.offset|)))} is VALID [2018-11-23 13:03:32,580 INFO L273 TraceCheckUtils]: 12: Hoare triple {12789#(and (<= 899 ~INFINITY~0) (<= main_~i~0 1) (= |main_~#distance~0.offset| 0) (< 3 (+ (* 4 main_~i~0) |main_~#distance~0.offset|)))} assume !(~i~0 == ~source~0);call write~int(~INFINITY~0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {12790#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 main_~i~0)))) (<= main_~i~0 1) (= |main_~#distance~0.offset| 0) (< 3 (+ (* 4 main_~i~0) |main_~#distance~0.offset|)))} is VALID [2018-11-23 13:03:32,580 INFO L273 TraceCheckUtils]: 13: Hoare triple {12790#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 main_~i~0)))) (<= main_~i~0 1) (= |main_~#distance~0.offset| 0) (< 3 (+ (* 4 main_~i~0) |main_~#distance~0.offset|)))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {12791#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:03:32,581 INFO L273 TraceCheckUtils]: 14: Hoare triple {12791#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0))} assume !(~i~0 < ~nodecount~0); {12791#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:03:32,582 INFO L273 TraceCheckUtils]: 15: Hoare triple {12791#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0))} ~i~0 := 0; {12791#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:03:32,583 INFO L273 TraceCheckUtils]: 16: Hoare triple {12791#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0))} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {12791#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:03:32,583 INFO L273 TraceCheckUtils]: 17: Hoare triple {12791#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0))} assume !(~j~0 < ~edgecount~0); {12791#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:03:32,584 INFO L273 TraceCheckUtils]: 18: Hoare triple {12791#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {12791#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:03:32,585 INFO L273 TraceCheckUtils]: 19: Hoare triple {12791#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0))} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {12791#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:03:32,585 INFO L273 TraceCheckUtils]: 20: Hoare triple {12791#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0))} assume !(~j~0 < ~edgecount~0); {12791#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:03:32,586 INFO L273 TraceCheckUtils]: 21: Hoare triple {12791#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {12791#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:03:32,587 INFO L273 TraceCheckUtils]: 22: Hoare triple {12791#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0))} assume !(~i~0 < ~nodecount~0); {12791#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:03:32,588 INFO L273 TraceCheckUtils]: 23: Hoare triple {12791#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0))} ~i~0 := 0; {12791#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:03:32,588 INFO L273 TraceCheckUtils]: 24: Hoare triple {12791#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0))} assume !(~i~0 < ~edgecount~0); {12791#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:03:32,589 INFO L273 TraceCheckUtils]: 25: Hoare triple {12791#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0))} ~i~0 := 0; {12792#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 13:03:32,590 INFO L273 TraceCheckUtils]: 26: Hoare triple {12792#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0) (= main_~i~0 0))} assume !!(~i~0 < ~nodecount~0);call #t~mem18 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {12792#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 13:03:32,590 INFO L256 TraceCheckUtils]: 27: Hoare triple {12792#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); {12785#true} is VALID [2018-11-23 13:03:32,591 INFO L273 TraceCheckUtils]: 28: Hoare triple {12785#true} ~cond := #in~cond; {12793#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} is VALID [2018-11-23 13:03:32,591 INFO L273 TraceCheckUtils]: 29: Hoare triple {12793#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} assume !(0 == ~cond); {12794#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 13:03:32,592 INFO L273 TraceCheckUtils]: 30: Hoare triple {12794#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12794#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 13:03:32,593 INFO L268 TraceCheckUtils]: 31: Hoare quadruple {12794#(not (= |__VERIFIER_assert_#in~cond| 0))} {12792#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0) (= main_~i~0 0))} #115#return; {12792#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 13:03:32,593 INFO L273 TraceCheckUtils]: 32: Hoare triple {12792#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0) (= main_~i~0 0))} havoc #t~mem18; {12792#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 13:03:32,595 INFO L273 TraceCheckUtils]: 33: Hoare triple {12792#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0) (= main_~i~0 0))} #t~post17 := ~i~0;~i~0 := 1 + #t~post17;havoc #t~post17; {12790#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 main_~i~0)))) (<= main_~i~0 1) (= |main_~#distance~0.offset| 0) (< 3 (+ (* 4 main_~i~0) |main_~#distance~0.offset|)))} is VALID [2018-11-23 13:03:32,596 INFO L273 TraceCheckUtils]: 34: Hoare triple {12790#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 main_~i~0)))) (<= main_~i~0 1) (= |main_~#distance~0.offset| 0) (< 3 (+ (* 4 main_~i~0) |main_~#distance~0.offset|)))} assume !!(~i~0 < ~nodecount~0);call #t~mem18 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {12795#(<= 0 |main_#t~mem18|)} is VALID [2018-11-23 13:03:32,597 INFO L256 TraceCheckUtils]: 35: Hoare triple {12795#(<= 0 |main_#t~mem18|)} call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); {12794#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 13:03:32,597 INFO L273 TraceCheckUtils]: 36: Hoare triple {12794#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {12796#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-23 13:03:32,598 INFO L273 TraceCheckUtils]: 37: Hoare triple {12796#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {12786#false} is VALID [2018-11-23 13:03:32,598 INFO L273 TraceCheckUtils]: 38: Hoare triple {12786#false} assume !false; {12786#false} is VALID [2018-11-23 13:03:32,603 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 1 proven. 8 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2018-11-23 13:03:32,603 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 13:03:32,603 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 12 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 12 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 13:03:32,611 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 13:03:32,640 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:03:32,651 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:03:32,652 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 13:03:32,739 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 10 [2018-11-23 13:03:32,747 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 10 treesize of output 9 [2018-11-23 13:03:32,749 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 13:03:32,751 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:03:32,759 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:03:32,760 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:20, output treesize:13 [2018-11-23 13:03:32,763 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 13:03:32,763 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_23|, ~INFINITY~0]. (and (= 0 |main_~#distance~0.offset|) (<= 899 ~INFINITY~0) (= (store |v_#memory_int_23| |main_~#distance~0.base| (store (select |v_#memory_int_23| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4) ~INFINITY~0)) |#memory_int|)) [2018-11-23 13:03:32,763 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= 0 |main_~#distance~0.offset|) (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4)))) [2018-11-23 13:03:33,330 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 19 treesize of output 15 [2018-11-23 13:03:33,336 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 7 [2018-11-23 13:03:33,338 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 13:03:33,341 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:03:33,348 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:03:33,348 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:27, output treesize:3 [2018-11-23 13:03:33,350 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 13:03:33,351 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#distance~0.base|, main_~i~0]. (let ((.cse1 (* 4 main_~i~0))) (let ((.cse0 (select (select |#memory_int| |main_~#distance~0.base|) .cse1))) (and (<= .cse0 |main_#t~mem18|) (<= main_~i~0 1) (< 3 .cse1) (<= 899 .cse0)))) [2018-11-23 13:03:33,351 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (<= 899 |main_#t~mem18|) [2018-11-23 13:03:33,393 INFO L256 TraceCheckUtils]: 0: Hoare triple {12785#true} call ULTIMATE.init(); {12785#true} is VALID [2018-11-23 13:03:33,394 INFO L273 TraceCheckUtils]: 1: Hoare triple {12785#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~INFINITY~0 := 899; {12787#(<= 899 ~INFINITY~0)} is VALID [2018-11-23 13:03:33,395 INFO L273 TraceCheckUtils]: 2: Hoare triple {12787#(<= 899 ~INFINITY~0)} assume true; {12787#(<= 899 ~INFINITY~0)} is VALID [2018-11-23 13:03:33,395 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {12787#(<= 899 ~INFINITY~0)} {12785#true} #111#return; {12787#(<= 899 ~INFINITY~0)} is VALID [2018-11-23 13:03:33,396 INFO L256 TraceCheckUtils]: 4: Hoare triple {12787#(<= 899 ~INFINITY~0)} call #t~ret19 := main(); {12787#(<= 899 ~INFINITY~0)} is VALID [2018-11-23 13:03:33,396 INFO L273 TraceCheckUtils]: 5: Hoare triple {12787#(<= 899 ~INFINITY~0)} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~nodecount~0 := #t~nondet1;havoc #t~nondet1;assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~edgecount~0 := #t~nondet2;havoc #t~nondet2; {12787#(<= 899 ~INFINITY~0)} is VALID [2018-11-23 13:03:33,397 INFO L273 TraceCheckUtils]: 6: Hoare triple {12787#(<= 899 ~INFINITY~0)} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {12787#(<= 899 ~INFINITY~0)} is VALID [2018-11-23 13:03:33,401 INFO L273 TraceCheckUtils]: 7: Hoare triple {12787#(<= 899 ~INFINITY~0)} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.alloc(80);call write~init~int(0, ~#Source~0.base, ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 4 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 8 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 12 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 16 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 20 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 24 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 28 + ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 32 + ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 36 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 40 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 44 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 48 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 52 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 56 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 60 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 64 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 68 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 72 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 76 + ~#Source~0.offset, 4);call ~#Dest~0.base, ~#Dest~0.offset := #Ultimate.alloc(80);call write~init~int(1, ~#Dest~0.base, ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 4 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 8 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 12 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 16 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 20 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 24 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 28 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 32 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 36 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 40 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 44 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 48 + ~#Dest~0.offset, 4);call write~init~int(2, ~#Dest~0.base, 52 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 56 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 60 + ~#Dest~0.offset, 4);call write~init~int(2, ~#Dest~0.base, 64 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 68 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 72 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 76 + ~#Dest~0.offset, 4);call ~#Weight~0.base, ~#Weight~0.offset := #Ultimate.alloc(80);call write~init~int(0, ~#Weight~0.base, ~#Weight~0.offset, 4);call write~init~int(1, ~#Weight~0.base, 4 + ~#Weight~0.offset, 4);call write~init~int(2, ~#Weight~0.base, 8 + ~#Weight~0.offset, 4);call write~init~int(3, ~#Weight~0.base, 12 + ~#Weight~0.offset, 4);call write~init~int(4, ~#Weight~0.base, 16 + ~#Weight~0.offset, 4);call write~init~int(5, ~#Weight~0.base, 20 + ~#Weight~0.offset, 4);call write~init~int(6, ~#Weight~0.base, 24 + ~#Weight~0.offset, 4);call write~init~int(7, ~#Weight~0.base, 28 + ~#Weight~0.offset, 4);call write~init~int(8, ~#Weight~0.base, 32 + ~#Weight~0.offset, 4);call write~init~int(9, ~#Weight~0.base, 36 + ~#Weight~0.offset, 4);call write~init~int(10, ~#Weight~0.base, 40 + ~#Weight~0.offset, 4);call write~init~int(11, ~#Weight~0.base, 44 + ~#Weight~0.offset, 4);call write~init~int(12, ~#Weight~0.base, 48 + ~#Weight~0.offset, 4);call write~init~int(13, ~#Weight~0.base, 52 + ~#Weight~0.offset, 4);call write~init~int(14, ~#Weight~0.base, 56 + ~#Weight~0.offset, 4);call write~init~int(15, ~#Weight~0.base, 60 + ~#Weight~0.offset, 4);call write~init~int(16, ~#Weight~0.base, 64 + ~#Weight~0.offset, 4);call write~init~int(17, ~#Weight~0.base, 68 + ~#Weight~0.offset, 4);call write~init~int(18, ~#Weight~0.base, 72 + ~#Weight~0.offset, 4);call write~init~int(19, ~#Weight~0.base, 76 + ~#Weight~0.offset, 4);call ~#distance~0.base, ~#distance~0.offset := #Ultimate.alloc(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {12821#(and (= 0 |main_~#distance~0.offset|) (<= 899 ~INFINITY~0) (= main_~source~0 0) (= main_~i~0 0))} is VALID [2018-11-23 13:03:33,402 INFO L273 TraceCheckUtils]: 8: Hoare triple {12821#(and (= 0 |main_~#distance~0.offset|) (<= 899 ~INFINITY~0) (= main_~source~0 0) (= main_~i~0 0))} assume !!(~i~0 < ~nodecount~0); {12821#(and (= 0 |main_~#distance~0.offset|) (<= 899 ~INFINITY~0) (= main_~source~0 0) (= main_~i~0 0))} is VALID [2018-11-23 13:03:33,403 INFO L273 TraceCheckUtils]: 9: Hoare triple {12821#(and (= 0 |main_~#distance~0.offset|) (<= 899 ~INFINITY~0) (= main_~source~0 0) (= main_~i~0 0))} assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {12821#(and (= 0 |main_~#distance~0.offset|) (<= 899 ~INFINITY~0) (= main_~source~0 0) (= main_~i~0 0))} is VALID [2018-11-23 13:03:33,404 INFO L273 TraceCheckUtils]: 10: Hoare triple {12821#(and (= 0 |main_~#distance~0.offset|) (<= 899 ~INFINITY~0) (= main_~source~0 0) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {12831#(and (= 0 |main_~#distance~0.offset|) (<= 899 ~INFINITY~0) (= main_~source~0 0) (= main_~i~0 1))} is VALID [2018-11-23 13:03:33,404 INFO L273 TraceCheckUtils]: 11: Hoare triple {12831#(and (= 0 |main_~#distance~0.offset|) (<= 899 ~INFINITY~0) (= main_~source~0 0) (= main_~i~0 1))} assume !!(~i~0 < ~nodecount~0); {12831#(and (= 0 |main_~#distance~0.offset|) (<= 899 ~INFINITY~0) (= main_~source~0 0) (= main_~i~0 1))} is VALID [2018-11-23 13:03:33,406 INFO L273 TraceCheckUtils]: 12: Hoare triple {12831#(and (= 0 |main_~#distance~0.offset|) (<= 899 ~INFINITY~0) (= main_~source~0 0) (= main_~i~0 1))} assume !(~i~0 == ~source~0);call write~int(~INFINITY~0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {12791#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:03:33,406 INFO L273 TraceCheckUtils]: 13: Hoare triple {12791#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {12791#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:03:33,407 INFO L273 TraceCheckUtils]: 14: Hoare triple {12791#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0))} assume !(~i~0 < ~nodecount~0); {12791#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:03:33,408 INFO L273 TraceCheckUtils]: 15: Hoare triple {12791#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0))} ~i~0 := 0; {12791#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:03:33,408 INFO L273 TraceCheckUtils]: 16: Hoare triple {12791#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0))} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {12791#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:03:33,409 INFO L273 TraceCheckUtils]: 17: Hoare triple {12791#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0))} assume !(~j~0 < ~edgecount~0); {12791#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:03:33,410 INFO L273 TraceCheckUtils]: 18: Hoare triple {12791#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {12791#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:03:33,411 INFO L273 TraceCheckUtils]: 19: Hoare triple {12791#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0))} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {12791#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:03:33,411 INFO L273 TraceCheckUtils]: 20: Hoare triple {12791#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0))} assume !(~j~0 < ~edgecount~0); {12791#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:03:33,412 INFO L273 TraceCheckUtils]: 21: Hoare triple {12791#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {12791#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:03:33,413 INFO L273 TraceCheckUtils]: 22: Hoare triple {12791#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0))} assume !(~i~0 < ~nodecount~0); {12791#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:03:33,414 INFO L273 TraceCheckUtils]: 23: Hoare triple {12791#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0))} ~i~0 := 0; {12791#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:03:33,414 INFO L273 TraceCheckUtils]: 24: Hoare triple {12791#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0))} assume !(~i~0 < ~edgecount~0); {12791#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:03:33,415 INFO L273 TraceCheckUtils]: 25: Hoare triple {12791#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0))} ~i~0 := 0; {12792#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 13:03:33,416 INFO L273 TraceCheckUtils]: 26: Hoare triple {12792#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0) (= main_~i~0 0))} assume !!(~i~0 < ~nodecount~0);call #t~mem18 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {12792#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 13:03:33,418 INFO L256 TraceCheckUtils]: 27: Hoare triple {12792#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); {12883#(exists ((|v_main_~#distance~0.base_BEFORE_CALL_1| Int)) (<= 899 (select (select |#memory_int| |v_main_~#distance~0.base_BEFORE_CALL_1|) 4)))} is VALID [2018-11-23 13:03:33,418 INFO L273 TraceCheckUtils]: 28: Hoare triple {12883#(exists ((|v_main_~#distance~0.base_BEFORE_CALL_1| Int)) (<= 899 (select (select |#memory_int| |v_main_~#distance~0.base_BEFORE_CALL_1|) 4)))} ~cond := #in~cond; {12883#(exists ((|v_main_~#distance~0.base_BEFORE_CALL_1| Int)) (<= 899 (select (select |#memory_int| |v_main_~#distance~0.base_BEFORE_CALL_1|) 4)))} is VALID [2018-11-23 13:03:33,419 INFO L273 TraceCheckUtils]: 29: Hoare triple {12883#(exists ((|v_main_~#distance~0.base_BEFORE_CALL_1| Int)) (<= 899 (select (select |#memory_int| |v_main_~#distance~0.base_BEFORE_CALL_1|) 4)))} assume !(0 == ~cond); {12883#(exists ((|v_main_~#distance~0.base_BEFORE_CALL_1| Int)) (<= 899 (select (select |#memory_int| |v_main_~#distance~0.base_BEFORE_CALL_1|) 4)))} is VALID [2018-11-23 13:03:33,420 INFO L273 TraceCheckUtils]: 30: Hoare triple {12883#(exists ((|v_main_~#distance~0.base_BEFORE_CALL_1| Int)) (<= 899 (select (select |#memory_int| |v_main_~#distance~0.base_BEFORE_CALL_1|) 4)))} assume true; {12883#(exists ((|v_main_~#distance~0.base_BEFORE_CALL_1| Int)) (<= 899 (select (select |#memory_int| |v_main_~#distance~0.base_BEFORE_CALL_1|) 4)))} is VALID [2018-11-23 13:03:33,421 INFO L268 TraceCheckUtils]: 31: Hoare quadruple {12883#(exists ((|v_main_~#distance~0.base_BEFORE_CALL_1| Int)) (<= 899 (select (select |#memory_int| |v_main_~#distance~0.base_BEFORE_CALL_1|) 4)))} {12792#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0) (= main_~i~0 0))} #115#return; {12792#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 13:03:33,422 INFO L273 TraceCheckUtils]: 32: Hoare triple {12792#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0) (= main_~i~0 0))} havoc #t~mem18; {12792#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 13:03:33,423 INFO L273 TraceCheckUtils]: 33: Hoare triple {12792#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= |main_~#distance~0.offset| 0) (= main_~i~0 0))} #t~post17 := ~i~0;~i~0 := 1 + #t~post17;havoc #t~post17; {12790#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 main_~i~0)))) (<= main_~i~0 1) (= |main_~#distance~0.offset| 0) (< 3 (+ (* 4 main_~i~0) |main_~#distance~0.offset|)))} is VALID [2018-11-23 13:03:33,424 INFO L273 TraceCheckUtils]: 34: Hoare triple {12790#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 main_~i~0)))) (<= main_~i~0 1) (= |main_~#distance~0.offset| 0) (< 3 (+ (* 4 main_~i~0) |main_~#distance~0.offset|)))} assume !!(~i~0 < ~nodecount~0);call #t~mem18 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {12905#(<= 899 |main_#t~mem18|)} is VALID [2018-11-23 13:03:33,425 INFO L256 TraceCheckUtils]: 35: Hoare triple {12905#(<= 899 |main_#t~mem18|)} call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); {12909#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 13:03:33,426 INFO L273 TraceCheckUtils]: 36: Hoare triple {12909#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {12913#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 13:03:33,426 INFO L273 TraceCheckUtils]: 37: Hoare triple {12913#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {12786#false} is VALID [2018-11-23 13:03:33,427 INFO L273 TraceCheckUtils]: 38: Hoare triple {12786#false} assume !false; {12786#false} is VALID [2018-11-23 13:03:33,430 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2018-11-23 13:03:33,449 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 13:03:33,449 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12] total 18 [2018-11-23 13:03:33,450 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 39 [2018-11-23 13:03:33,450 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:03:33,450 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states. [2018-11-23 13:03:33,588 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:03:33,589 INFO L459 AbstractCegarLoop]: Interpolant automaton has 18 states [2018-11-23 13:03:33,589 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2018-11-23 13:03:33,589 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=47, Invalid=259, Unknown=0, NotChecked=0, Total=306 [2018-11-23 13:03:33,589 INFO L87 Difference]: Start difference. First operand 195 states and 255 transitions. Second operand 18 states. [2018-11-23 13:03:40,483 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:03:40,483 INFO L93 Difference]: Finished difference Result 385 states and 505 transitions. [2018-11-23 13:03:40,483 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2018-11-23 13:03:40,483 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 39 [2018-11-23 13:03:40,484 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:03:40,484 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2018-11-23 13:03:40,486 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 136 transitions. [2018-11-23 13:03:40,486 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2018-11-23 13:03:40,487 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 136 transitions. [2018-11-23 13:03:40,487 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states and 136 transitions. [2018-11-23 13:03:40,660 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 136 edges. 136 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:03:40,671 INFO L225 Difference]: With dead ends: 385 [2018-11-23 13:03:40,671 INFO L226 Difference]: Without dead ends: 383 [2018-11-23 13:03:40,672 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 69 GetRequests, 33 SyntacticMatches, 5 SemanticMatches, 31 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 240 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=177, Invalid=879, Unknown=0, NotChecked=0, Total=1056 [2018-11-23 13:03:40,672 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 383 states. [2018-11-23 13:03:43,364 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 383 to 298. [2018-11-23 13:03:43,364 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:03:43,364 INFO L82 GeneralOperation]: Start isEquivalent. First operand 383 states. Second operand 298 states. [2018-11-23 13:03:43,364 INFO L74 IsIncluded]: Start isIncluded. First operand 383 states. Second operand 298 states. [2018-11-23 13:03:43,364 INFO L87 Difference]: Start difference. First operand 383 states. Second operand 298 states. [2018-11-23 13:03:43,373 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:03:43,373 INFO L93 Difference]: Finished difference Result 383 states and 503 transitions. [2018-11-23 13:03:43,373 INFO L276 IsEmpty]: Start isEmpty. Operand 383 states and 503 transitions. [2018-11-23 13:03:43,374 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:03:43,374 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:03:43,374 INFO L74 IsIncluded]: Start isIncluded. First operand 298 states. Second operand 383 states. [2018-11-23 13:03:43,374 INFO L87 Difference]: Start difference. First operand 298 states. Second operand 383 states. [2018-11-23 13:03:43,384 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:03:43,385 INFO L93 Difference]: Finished difference Result 383 states and 503 transitions. [2018-11-23 13:03:43,385 INFO L276 IsEmpty]: Start isEmpty. Operand 383 states and 503 transitions. [2018-11-23 13:03:43,386 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:03:43,386 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:03:43,386 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:03:43,386 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:03:43,387 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 298 states. [2018-11-23 13:03:43,395 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 298 states to 298 states and 388 transitions. [2018-11-23 13:03:43,395 INFO L78 Accepts]: Start accepts. Automaton has 298 states and 388 transitions. Word has length 39 [2018-11-23 13:03:43,395 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:03:43,395 INFO L480 AbstractCegarLoop]: Abstraction has 298 states and 388 transitions. [2018-11-23 13:03:43,395 INFO L481 AbstractCegarLoop]: Interpolant automaton has 18 states. [2018-11-23 13:03:43,395 INFO L276 IsEmpty]: Start isEmpty. Operand 298 states and 388 transitions. [2018-11-23 13:03:43,396 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2018-11-23 13:03:43,397 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:03:43,397 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:03:43,397 INFO L423 AbstractCegarLoop]: === Iteration 14 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:03:43,397 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:03:43,397 INFO L82 PathProgramCache]: Analyzing trace with hash 1460763138, now seen corresponding path program 4 times [2018-11-23 13:03:43,397 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:03:43,398 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:03:43,398 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:03:43,398 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 13:03:43,398 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:03:43,414 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:03:44,146 INFO L256 TraceCheckUtils]: 0: Hoare triple {14689#true} call ULTIMATE.init(); {14689#true} is VALID [2018-11-23 13:03:44,147 INFO L273 TraceCheckUtils]: 1: Hoare triple {14689#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~INFINITY~0 := 899; {14689#true} is VALID [2018-11-23 13:03:44,147 INFO L273 TraceCheckUtils]: 2: Hoare triple {14689#true} assume true; {14689#true} is VALID [2018-11-23 13:03:44,147 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {14689#true} {14689#true} #111#return; {14689#true} is VALID [2018-11-23 13:03:44,147 INFO L256 TraceCheckUtils]: 4: Hoare triple {14689#true} call #t~ret19 := main(); {14689#true} is VALID [2018-11-23 13:03:44,148 INFO L273 TraceCheckUtils]: 5: Hoare triple {14689#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~nodecount~0 := #t~nondet1;havoc #t~nondet1;assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~edgecount~0 := #t~nondet2;havoc #t~nondet2; {14689#true} is VALID [2018-11-23 13:03:44,148 INFO L273 TraceCheckUtils]: 6: Hoare triple {14689#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {14689#true} is VALID [2018-11-23 13:03:44,148 INFO L273 TraceCheckUtils]: 7: Hoare triple {14689#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.alloc(80);call write~init~int(0, ~#Source~0.base, ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 4 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 8 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 12 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 16 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 20 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 24 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 28 + ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 32 + ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 36 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 40 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 44 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 48 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 52 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 56 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 60 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 64 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 68 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 72 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 76 + ~#Source~0.offset, 4);call ~#Dest~0.base, ~#Dest~0.offset := #Ultimate.alloc(80);call write~init~int(1, ~#Dest~0.base, ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 4 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 8 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 12 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 16 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 20 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 24 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 28 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 32 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 36 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 40 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 44 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 48 + ~#Dest~0.offset, 4);call write~init~int(2, ~#Dest~0.base, 52 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 56 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 60 + ~#Dest~0.offset, 4);call write~init~int(2, ~#Dest~0.base, 64 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 68 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 72 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 76 + ~#Dest~0.offset, 4);call ~#Weight~0.base, ~#Weight~0.offset := #Ultimate.alloc(80);call write~init~int(0, ~#Weight~0.base, ~#Weight~0.offset, 4);call write~init~int(1, ~#Weight~0.base, 4 + ~#Weight~0.offset, 4);call write~init~int(2, ~#Weight~0.base, 8 + ~#Weight~0.offset, 4);call write~init~int(3, ~#Weight~0.base, 12 + ~#Weight~0.offset, 4);call write~init~int(4, ~#Weight~0.base, 16 + ~#Weight~0.offset, 4);call write~init~int(5, ~#Weight~0.base, 20 + ~#Weight~0.offset, 4);call write~init~int(6, ~#Weight~0.base, 24 + ~#Weight~0.offset, 4);call write~init~int(7, ~#Weight~0.base, 28 + ~#Weight~0.offset, 4);call write~init~int(8, ~#Weight~0.base, 32 + ~#Weight~0.offset, 4);call write~init~int(9, ~#Weight~0.base, 36 + ~#Weight~0.offset, 4);call write~init~int(10, ~#Weight~0.base, 40 + ~#Weight~0.offset, 4);call write~init~int(11, ~#Weight~0.base, 44 + ~#Weight~0.offset, 4);call write~init~int(12, ~#Weight~0.base, 48 + ~#Weight~0.offset, 4);call write~init~int(13, ~#Weight~0.base, 52 + ~#Weight~0.offset, 4);call write~init~int(14, ~#Weight~0.base, 56 + ~#Weight~0.offset, 4);call write~init~int(15, ~#Weight~0.base, 60 + ~#Weight~0.offset, 4);call write~init~int(16, ~#Weight~0.base, 64 + ~#Weight~0.offset, 4);call write~init~int(17, ~#Weight~0.base, 68 + ~#Weight~0.offset, 4);call write~init~int(18, ~#Weight~0.base, 72 + ~#Weight~0.offset, 4);call write~init~int(19, ~#Weight~0.base, 76 + ~#Weight~0.offset, 4);call ~#distance~0.base, ~#distance~0.offset := #Ultimate.alloc(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {14689#true} is VALID [2018-11-23 13:03:44,148 INFO L273 TraceCheckUtils]: 8: Hoare triple {14689#true} assume !!(~i~0 < ~nodecount~0); {14689#true} is VALID [2018-11-23 13:03:44,149 INFO L273 TraceCheckUtils]: 9: Hoare triple {14689#true} assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {14689#true} is VALID [2018-11-23 13:03:44,149 INFO L273 TraceCheckUtils]: 10: Hoare triple {14689#true} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {14689#true} is VALID [2018-11-23 13:03:44,149 INFO L273 TraceCheckUtils]: 11: Hoare triple {14689#true} assume !(~i~0 < ~nodecount~0); {14689#true} is VALID [2018-11-23 13:03:44,149 INFO L273 TraceCheckUtils]: 12: Hoare triple {14689#true} ~i~0 := 0; {14689#true} is VALID [2018-11-23 13:03:44,167 INFO L273 TraceCheckUtils]: 13: Hoare triple {14689#true} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {14691#(= main_~j~0 0)} is VALID [2018-11-23 13:03:44,176 INFO L273 TraceCheckUtils]: 14: Hoare triple {14691#(= main_~j~0 0)} assume !!(~j~0 < ~edgecount~0);call #t~mem6 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4);~x~0 := #t~mem6;havoc #t~mem6;call #t~mem7 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4);~y~0 := #t~mem7;havoc #t~mem7;call #t~mem10 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem8 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem9 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); {14691#(= main_~j~0 0)} is VALID [2018-11-23 13:03:44,188 INFO L273 TraceCheckUtils]: 15: Hoare triple {14691#(= main_~j~0 0)} assume #t~mem10 > #t~mem8 + #t~mem9;havoc #t~mem8;havoc #t~mem10;havoc #t~mem9;call write~int(-1, ~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); {14691#(= main_~j~0 0)} is VALID [2018-11-23 13:03:44,204 INFO L273 TraceCheckUtils]: 16: Hoare triple {14691#(= main_~j~0 0)} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {14692#(<= 1 main_~j~0)} is VALID [2018-11-23 13:03:44,213 INFO L273 TraceCheckUtils]: 17: Hoare triple {14692#(<= 1 main_~j~0)} assume !!(~j~0 < ~edgecount~0);call #t~mem6 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4);~x~0 := #t~mem6;havoc #t~mem6;call #t~mem7 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4);~y~0 := #t~mem7;havoc #t~mem7;call #t~mem10 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem8 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem9 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); {14692#(<= 1 main_~j~0)} is VALID [2018-11-23 13:03:44,224 INFO L273 TraceCheckUtils]: 18: Hoare triple {14692#(<= 1 main_~j~0)} assume #t~mem10 > #t~mem8 + #t~mem9;havoc #t~mem8;havoc #t~mem10;havoc #t~mem9;call write~int(-1, ~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); {14692#(<= 1 main_~j~0)} is VALID [2018-11-23 13:03:44,225 INFO L273 TraceCheckUtils]: 19: Hoare triple {14692#(<= 1 main_~j~0)} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {14693#(<= 2 main_~j~0)} is VALID [2018-11-23 13:03:44,225 INFO L273 TraceCheckUtils]: 20: Hoare triple {14693#(<= 2 main_~j~0)} assume !!(~j~0 < ~edgecount~0);call #t~mem6 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4);~x~0 := #t~mem6;havoc #t~mem6;call #t~mem7 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4);~y~0 := #t~mem7;havoc #t~mem7;call #t~mem10 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem8 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem9 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); {14694#(<= 3 main_~edgecount~0)} is VALID [2018-11-23 13:03:44,226 INFO L273 TraceCheckUtils]: 21: Hoare triple {14694#(<= 3 main_~edgecount~0)} assume #t~mem10 > #t~mem8 + #t~mem9;havoc #t~mem8;havoc #t~mem10;havoc #t~mem9;call write~int(-1, ~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); {14694#(<= 3 main_~edgecount~0)} is VALID [2018-11-23 13:03:44,226 INFO L273 TraceCheckUtils]: 22: Hoare triple {14694#(<= 3 main_~edgecount~0)} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {14694#(<= 3 main_~edgecount~0)} is VALID [2018-11-23 13:03:44,227 INFO L273 TraceCheckUtils]: 23: Hoare triple {14694#(<= 3 main_~edgecount~0)} assume !(~j~0 < ~edgecount~0); {14694#(<= 3 main_~edgecount~0)} is VALID [2018-11-23 13:03:44,227 INFO L273 TraceCheckUtils]: 24: Hoare triple {14694#(<= 3 main_~edgecount~0)} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {14694#(<= 3 main_~edgecount~0)} is VALID [2018-11-23 13:03:44,228 INFO L273 TraceCheckUtils]: 25: Hoare triple {14694#(<= 3 main_~edgecount~0)} assume !(~i~0 < ~nodecount~0); {14694#(<= 3 main_~edgecount~0)} is VALID [2018-11-23 13:03:44,229 INFO L273 TraceCheckUtils]: 26: Hoare triple {14694#(<= 3 main_~edgecount~0)} ~i~0 := 0; {14695#(and (<= 3 main_~edgecount~0) (= main_~i~0 0))} is VALID [2018-11-23 13:03:44,230 INFO L273 TraceCheckUtils]: 27: Hoare triple {14695#(and (<= 3 main_~edgecount~0) (= main_~i~0 0))} assume !!(~i~0 < ~edgecount~0);call #t~mem12 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~i~0, 4);~x~0 := #t~mem12;havoc #t~mem12;call #t~mem13 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~i~0, 4);~y~0 := #t~mem13;havoc #t~mem13;call #t~mem16 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem14 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem15 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~i~0, 4); {14695#(and (<= 3 main_~edgecount~0) (= main_~i~0 0))} is VALID [2018-11-23 13:03:44,230 INFO L273 TraceCheckUtils]: 28: Hoare triple {14695#(and (<= 3 main_~edgecount~0) (= main_~i~0 0))} assume !(#t~mem16 > #t~mem14 + #t~mem15);havoc #t~mem14;havoc #t~mem15;havoc #t~mem16; {14695#(and (<= 3 main_~edgecount~0) (= main_~i~0 0))} is VALID [2018-11-23 13:03:44,231 INFO L273 TraceCheckUtils]: 29: Hoare triple {14695#(and (<= 3 main_~edgecount~0) (= main_~i~0 0))} #t~post11 := ~i~0;~i~0 := 1 + #t~post11;havoc #t~post11; {14696#(<= (+ main_~i~0 2) main_~edgecount~0)} is VALID [2018-11-23 13:03:44,232 INFO L273 TraceCheckUtils]: 30: Hoare triple {14696#(<= (+ main_~i~0 2) main_~edgecount~0)} assume !!(~i~0 < ~edgecount~0);call #t~mem12 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~i~0, 4);~x~0 := #t~mem12;havoc #t~mem12;call #t~mem13 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~i~0, 4);~y~0 := #t~mem13;havoc #t~mem13;call #t~mem16 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem14 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem15 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~i~0, 4); {14696#(<= (+ main_~i~0 2) main_~edgecount~0)} is VALID [2018-11-23 13:03:44,232 INFO L273 TraceCheckUtils]: 31: Hoare triple {14696#(<= (+ main_~i~0 2) main_~edgecount~0)} assume !(#t~mem16 > #t~mem14 + #t~mem15);havoc #t~mem14;havoc #t~mem15;havoc #t~mem16; {14696#(<= (+ main_~i~0 2) main_~edgecount~0)} is VALID [2018-11-23 13:03:44,233 INFO L273 TraceCheckUtils]: 32: Hoare triple {14696#(<= (+ main_~i~0 2) main_~edgecount~0)} #t~post11 := ~i~0;~i~0 := 1 + #t~post11;havoc #t~post11; {14697#(<= (+ main_~i~0 1) main_~edgecount~0)} is VALID [2018-11-23 13:03:44,234 INFO L273 TraceCheckUtils]: 33: Hoare triple {14697#(<= (+ main_~i~0 1) main_~edgecount~0)} assume !(~i~0 < ~edgecount~0); {14690#false} is VALID [2018-11-23 13:03:44,234 INFO L273 TraceCheckUtils]: 34: Hoare triple {14690#false} ~i~0 := 0; {14690#false} is VALID [2018-11-23 13:03:44,234 INFO L273 TraceCheckUtils]: 35: Hoare triple {14690#false} assume !!(~i~0 < ~nodecount~0);call #t~mem18 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {14690#false} is VALID [2018-11-23 13:03:44,235 INFO L256 TraceCheckUtils]: 36: Hoare triple {14690#false} call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); {14690#false} is VALID [2018-11-23 13:03:44,235 INFO L273 TraceCheckUtils]: 37: Hoare triple {14690#false} ~cond := #in~cond; {14690#false} is VALID [2018-11-23 13:03:44,235 INFO L273 TraceCheckUtils]: 38: Hoare triple {14690#false} assume 0 == ~cond; {14690#false} is VALID [2018-11-23 13:03:44,235 INFO L273 TraceCheckUtils]: 39: Hoare triple {14690#false} assume !false; {14690#false} is VALID [2018-11-23 13:03:44,237 INFO L134 CoverageAnalysis]: Checked inductivity of 19 backedges. 2 proven. 16 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-23 13:03:44,238 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 13:03:44,238 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 13 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 13 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 13:03:44,247 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-23 13:03:44,271 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-23 13:03:44,272 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 13:03:44,286 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:03:44,287 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 13:03:44,410 INFO L256 TraceCheckUtils]: 0: Hoare triple {14689#true} call ULTIMATE.init(); {14689#true} is VALID [2018-11-23 13:03:44,410 INFO L273 TraceCheckUtils]: 1: Hoare triple {14689#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~INFINITY~0 := 899; {14689#true} is VALID [2018-11-23 13:03:44,410 INFO L273 TraceCheckUtils]: 2: Hoare triple {14689#true} assume true; {14689#true} is VALID [2018-11-23 13:03:44,410 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {14689#true} {14689#true} #111#return; {14689#true} is VALID [2018-11-23 13:03:44,410 INFO L256 TraceCheckUtils]: 4: Hoare triple {14689#true} call #t~ret19 := main(); {14689#true} is VALID [2018-11-23 13:03:44,411 INFO L273 TraceCheckUtils]: 5: Hoare triple {14689#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~nodecount~0 := #t~nondet1;havoc #t~nondet1;assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~edgecount~0 := #t~nondet2;havoc #t~nondet2; {14689#true} is VALID [2018-11-23 13:03:44,411 INFO L273 TraceCheckUtils]: 6: Hoare triple {14689#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {14689#true} is VALID [2018-11-23 13:03:44,411 INFO L273 TraceCheckUtils]: 7: Hoare triple {14689#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.alloc(80);call write~init~int(0, ~#Source~0.base, ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 4 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 8 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 12 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 16 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 20 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 24 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 28 + ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 32 + ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 36 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 40 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 44 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 48 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 52 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 56 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 60 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 64 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 68 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 72 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 76 + ~#Source~0.offset, 4);call ~#Dest~0.base, ~#Dest~0.offset := #Ultimate.alloc(80);call write~init~int(1, ~#Dest~0.base, ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 4 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 8 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 12 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 16 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 20 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 24 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 28 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 32 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 36 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 40 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 44 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 48 + ~#Dest~0.offset, 4);call write~init~int(2, ~#Dest~0.base, 52 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 56 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 60 + ~#Dest~0.offset, 4);call write~init~int(2, ~#Dest~0.base, 64 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 68 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 72 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 76 + ~#Dest~0.offset, 4);call ~#Weight~0.base, ~#Weight~0.offset := #Ultimate.alloc(80);call write~init~int(0, ~#Weight~0.base, ~#Weight~0.offset, 4);call write~init~int(1, ~#Weight~0.base, 4 + ~#Weight~0.offset, 4);call write~init~int(2, ~#Weight~0.base, 8 + ~#Weight~0.offset, 4);call write~init~int(3, ~#Weight~0.base, 12 + ~#Weight~0.offset, 4);call write~init~int(4, ~#Weight~0.base, 16 + ~#Weight~0.offset, 4);call write~init~int(5, ~#Weight~0.base, 20 + ~#Weight~0.offset, 4);call write~init~int(6, ~#Weight~0.base, 24 + ~#Weight~0.offset, 4);call write~init~int(7, ~#Weight~0.base, 28 + ~#Weight~0.offset, 4);call write~init~int(8, ~#Weight~0.base, 32 + ~#Weight~0.offset, 4);call write~init~int(9, ~#Weight~0.base, 36 + ~#Weight~0.offset, 4);call write~init~int(10, ~#Weight~0.base, 40 + ~#Weight~0.offset, 4);call write~init~int(11, ~#Weight~0.base, 44 + ~#Weight~0.offset, 4);call write~init~int(12, ~#Weight~0.base, 48 + ~#Weight~0.offset, 4);call write~init~int(13, ~#Weight~0.base, 52 + ~#Weight~0.offset, 4);call write~init~int(14, ~#Weight~0.base, 56 + ~#Weight~0.offset, 4);call write~init~int(15, ~#Weight~0.base, 60 + ~#Weight~0.offset, 4);call write~init~int(16, ~#Weight~0.base, 64 + ~#Weight~0.offset, 4);call write~init~int(17, ~#Weight~0.base, 68 + ~#Weight~0.offset, 4);call write~init~int(18, ~#Weight~0.base, 72 + ~#Weight~0.offset, 4);call write~init~int(19, ~#Weight~0.base, 76 + ~#Weight~0.offset, 4);call ~#distance~0.base, ~#distance~0.offset := #Ultimate.alloc(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {14689#true} is VALID [2018-11-23 13:03:44,411 INFO L273 TraceCheckUtils]: 8: Hoare triple {14689#true} assume !!(~i~0 < ~nodecount~0); {14689#true} is VALID [2018-11-23 13:03:44,411 INFO L273 TraceCheckUtils]: 9: Hoare triple {14689#true} assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {14689#true} is VALID [2018-11-23 13:03:44,412 INFO L273 TraceCheckUtils]: 10: Hoare triple {14689#true} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {14689#true} is VALID [2018-11-23 13:03:44,412 INFO L273 TraceCheckUtils]: 11: Hoare triple {14689#true} assume !(~i~0 < ~nodecount~0); {14689#true} is VALID [2018-11-23 13:03:44,412 INFO L273 TraceCheckUtils]: 12: Hoare triple {14689#true} ~i~0 := 0; {14689#true} is VALID [2018-11-23 13:03:44,413 INFO L273 TraceCheckUtils]: 13: Hoare triple {14689#true} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {14740#(<= 0 main_~j~0)} is VALID [2018-11-23 13:03:44,413 INFO L273 TraceCheckUtils]: 14: Hoare triple {14740#(<= 0 main_~j~0)} assume !!(~j~0 < ~edgecount~0);call #t~mem6 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4);~x~0 := #t~mem6;havoc #t~mem6;call #t~mem7 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4);~y~0 := #t~mem7;havoc #t~mem7;call #t~mem10 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem8 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem9 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); {14740#(<= 0 main_~j~0)} is VALID [2018-11-23 13:03:44,413 INFO L273 TraceCheckUtils]: 15: Hoare triple {14740#(<= 0 main_~j~0)} assume #t~mem10 > #t~mem8 + #t~mem9;havoc #t~mem8;havoc #t~mem10;havoc #t~mem9;call write~int(-1, ~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); {14740#(<= 0 main_~j~0)} is VALID [2018-11-23 13:03:44,414 INFO L273 TraceCheckUtils]: 16: Hoare triple {14740#(<= 0 main_~j~0)} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {14692#(<= 1 main_~j~0)} is VALID [2018-11-23 13:03:44,414 INFO L273 TraceCheckUtils]: 17: Hoare triple {14692#(<= 1 main_~j~0)} assume !!(~j~0 < ~edgecount~0);call #t~mem6 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4);~x~0 := #t~mem6;havoc #t~mem6;call #t~mem7 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4);~y~0 := #t~mem7;havoc #t~mem7;call #t~mem10 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem8 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem9 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); {14692#(<= 1 main_~j~0)} is VALID [2018-11-23 13:03:44,415 INFO L273 TraceCheckUtils]: 18: Hoare triple {14692#(<= 1 main_~j~0)} assume #t~mem10 > #t~mem8 + #t~mem9;havoc #t~mem8;havoc #t~mem10;havoc #t~mem9;call write~int(-1, ~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); {14692#(<= 1 main_~j~0)} is VALID [2018-11-23 13:03:44,415 INFO L273 TraceCheckUtils]: 19: Hoare triple {14692#(<= 1 main_~j~0)} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {14693#(<= 2 main_~j~0)} is VALID [2018-11-23 13:03:44,416 INFO L273 TraceCheckUtils]: 20: Hoare triple {14693#(<= 2 main_~j~0)} assume !!(~j~0 < ~edgecount~0);call #t~mem6 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4);~x~0 := #t~mem6;havoc #t~mem6;call #t~mem7 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4);~y~0 := #t~mem7;havoc #t~mem7;call #t~mem10 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem8 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem9 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); {14694#(<= 3 main_~edgecount~0)} is VALID [2018-11-23 13:03:44,438 INFO L273 TraceCheckUtils]: 21: Hoare triple {14694#(<= 3 main_~edgecount~0)} assume #t~mem10 > #t~mem8 + #t~mem9;havoc #t~mem8;havoc #t~mem10;havoc #t~mem9;call write~int(-1, ~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); {14694#(<= 3 main_~edgecount~0)} is VALID [2018-11-23 13:03:44,452 INFO L273 TraceCheckUtils]: 22: Hoare triple {14694#(<= 3 main_~edgecount~0)} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {14694#(<= 3 main_~edgecount~0)} is VALID [2018-11-23 13:03:44,454 INFO L273 TraceCheckUtils]: 23: Hoare triple {14694#(<= 3 main_~edgecount~0)} assume !(~j~0 < ~edgecount~0); {14694#(<= 3 main_~edgecount~0)} is VALID [2018-11-23 13:03:44,454 INFO L273 TraceCheckUtils]: 24: Hoare triple {14694#(<= 3 main_~edgecount~0)} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {14694#(<= 3 main_~edgecount~0)} is VALID [2018-11-23 13:03:44,454 INFO L273 TraceCheckUtils]: 25: Hoare triple {14694#(<= 3 main_~edgecount~0)} assume !(~i~0 < ~nodecount~0); {14694#(<= 3 main_~edgecount~0)} is VALID [2018-11-23 13:03:44,455 INFO L273 TraceCheckUtils]: 26: Hoare triple {14694#(<= 3 main_~edgecount~0)} ~i~0 := 0; {14780#(and (<= 3 main_~edgecount~0) (<= main_~i~0 0))} is VALID [2018-11-23 13:03:44,456 INFO L273 TraceCheckUtils]: 27: Hoare triple {14780#(and (<= 3 main_~edgecount~0) (<= main_~i~0 0))} assume !!(~i~0 < ~edgecount~0);call #t~mem12 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~i~0, 4);~x~0 := #t~mem12;havoc #t~mem12;call #t~mem13 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~i~0, 4);~y~0 := #t~mem13;havoc #t~mem13;call #t~mem16 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem14 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem15 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~i~0, 4); {14780#(and (<= 3 main_~edgecount~0) (<= main_~i~0 0))} is VALID [2018-11-23 13:03:44,456 INFO L273 TraceCheckUtils]: 28: Hoare triple {14780#(and (<= 3 main_~edgecount~0) (<= main_~i~0 0))} assume !(#t~mem16 > #t~mem14 + #t~mem15);havoc #t~mem14;havoc #t~mem15;havoc #t~mem16; {14780#(and (<= 3 main_~edgecount~0) (<= main_~i~0 0))} is VALID [2018-11-23 13:03:44,457 INFO L273 TraceCheckUtils]: 29: Hoare triple {14780#(and (<= 3 main_~edgecount~0) (<= main_~i~0 0))} #t~post11 := ~i~0;~i~0 := 1 + #t~post11;havoc #t~post11; {14790#(and (<= 3 main_~edgecount~0) (<= main_~i~0 1))} is VALID [2018-11-23 13:03:44,457 INFO L273 TraceCheckUtils]: 30: Hoare triple {14790#(and (<= 3 main_~edgecount~0) (<= main_~i~0 1))} assume !!(~i~0 < ~edgecount~0);call #t~mem12 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~i~0, 4);~x~0 := #t~mem12;havoc #t~mem12;call #t~mem13 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~i~0, 4);~y~0 := #t~mem13;havoc #t~mem13;call #t~mem16 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem14 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem15 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~i~0, 4); {14790#(and (<= 3 main_~edgecount~0) (<= main_~i~0 1))} is VALID [2018-11-23 13:03:44,458 INFO L273 TraceCheckUtils]: 31: Hoare triple {14790#(and (<= 3 main_~edgecount~0) (<= main_~i~0 1))} assume !(#t~mem16 > #t~mem14 + #t~mem15);havoc #t~mem14;havoc #t~mem15;havoc #t~mem16; {14790#(and (<= 3 main_~edgecount~0) (<= main_~i~0 1))} is VALID [2018-11-23 13:03:44,459 INFO L273 TraceCheckUtils]: 32: Hoare triple {14790#(and (<= 3 main_~edgecount~0) (<= main_~i~0 1))} #t~post11 := ~i~0;~i~0 := 1 + #t~post11;havoc #t~post11; {14800#(and (<= 3 main_~edgecount~0) (<= main_~i~0 2))} is VALID [2018-11-23 13:03:44,459 INFO L273 TraceCheckUtils]: 33: Hoare triple {14800#(and (<= 3 main_~edgecount~0) (<= main_~i~0 2))} assume !(~i~0 < ~edgecount~0); {14690#false} is VALID [2018-11-23 13:03:44,460 INFO L273 TraceCheckUtils]: 34: Hoare triple {14690#false} ~i~0 := 0; {14690#false} is VALID [2018-11-23 13:03:44,460 INFO L273 TraceCheckUtils]: 35: Hoare triple {14690#false} assume !!(~i~0 < ~nodecount~0);call #t~mem18 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {14690#false} is VALID [2018-11-23 13:03:44,460 INFO L256 TraceCheckUtils]: 36: Hoare triple {14690#false} call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); {14690#false} is VALID [2018-11-23 13:03:44,460 INFO L273 TraceCheckUtils]: 37: Hoare triple {14690#false} ~cond := #in~cond; {14690#false} is VALID [2018-11-23 13:03:44,461 INFO L273 TraceCheckUtils]: 38: Hoare triple {14690#false} assume 0 == ~cond; {14690#false} is VALID [2018-11-23 13:03:44,461 INFO L273 TraceCheckUtils]: 39: Hoare triple {14690#false} assume !false; {14690#false} is VALID [2018-11-23 13:03:44,463 INFO L134 CoverageAnalysis]: Checked inductivity of 19 backedges. 6 proven. 12 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-23 13:03:44,483 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 13:03:44,483 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 13 [2018-11-23 13:03:44,483 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 40 [2018-11-23 13:03:44,483 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:03:44,484 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states. [2018-11-23 13:03:44,536 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:03:44,536 INFO L459 AbstractCegarLoop]: Interpolant automaton has 13 states [2018-11-23 13:03:44,536 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2018-11-23 13:03:44,536 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=111, Unknown=0, NotChecked=0, Total=156 [2018-11-23 13:03:44,537 INFO L87 Difference]: Start difference. First operand 298 states and 388 transitions. Second operand 13 states. [2018-11-23 13:03:54,736 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:03:54,736 INFO L93 Difference]: Finished difference Result 645 states and 833 transitions. [2018-11-23 13:03:54,736 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2018-11-23 13:03:54,736 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 40 [2018-11-23 13:03:54,737 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:03:54,737 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2018-11-23 13:03:54,738 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 138 transitions. [2018-11-23 13:03:54,738 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2018-11-23 13:03:54,740 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 138 transitions. [2018-11-23 13:03:54,740 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states and 138 transitions. [2018-11-23 13:03:54,893 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 138 edges. 138 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:03:54,918 INFO L225 Difference]: With dead ends: 645 [2018-11-23 13:03:54,918 INFO L226 Difference]: Without dead ends: 598 [2018-11-23 13:03:54,919 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 58 GetRequests, 37 SyntacticMatches, 0 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 88 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=138, Invalid=368, Unknown=0, NotChecked=0, Total=506 [2018-11-23 13:03:54,919 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 598 states. [2018-11-23 13:03:59,471 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 598 to 403. [2018-11-23 13:03:59,471 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:03:59,472 INFO L82 GeneralOperation]: Start isEquivalent. First operand 598 states. Second operand 403 states. [2018-11-23 13:03:59,472 INFO L74 IsIncluded]: Start isIncluded. First operand 598 states. Second operand 403 states. [2018-11-23 13:03:59,472 INFO L87 Difference]: Start difference. First operand 598 states. Second operand 403 states. [2018-11-23 13:03:59,492 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:03:59,492 INFO L93 Difference]: Finished difference Result 598 states and 779 transitions. [2018-11-23 13:03:59,492 INFO L276 IsEmpty]: Start isEmpty. Operand 598 states and 779 transitions. [2018-11-23 13:03:59,494 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:03:59,494 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:03:59,494 INFO L74 IsIncluded]: Start isIncluded. First operand 403 states. Second operand 598 states. [2018-11-23 13:03:59,494 INFO L87 Difference]: Start difference. First operand 403 states. Second operand 598 states. [2018-11-23 13:03:59,516 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:03:59,516 INFO L93 Difference]: Finished difference Result 598 states and 779 transitions. [2018-11-23 13:03:59,516 INFO L276 IsEmpty]: Start isEmpty. Operand 598 states and 779 transitions. [2018-11-23 13:03:59,517 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:03:59,518 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:03:59,518 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:03:59,518 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:03:59,518 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 403 states. [2018-11-23 13:03:59,531 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 403 states to 403 states and 534 transitions. [2018-11-23 13:03:59,532 INFO L78 Accepts]: Start accepts. Automaton has 403 states and 534 transitions. Word has length 40 [2018-11-23 13:03:59,532 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:03:59,532 INFO L480 AbstractCegarLoop]: Abstraction has 403 states and 534 transitions. [2018-11-23 13:03:59,532 INFO L481 AbstractCegarLoop]: Interpolant automaton has 13 states. [2018-11-23 13:03:59,532 INFO L276 IsEmpty]: Start isEmpty. Operand 403 states and 534 transitions. [2018-11-23 13:03:59,533 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2018-11-23 13:03:59,534 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:03:59,534 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:03:59,534 INFO L423 AbstractCegarLoop]: === Iteration 15 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:03:59,534 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:03:59,534 INFO L82 PathProgramCache]: Analyzing trace with hash -1132726254, now seen corresponding path program 1 times [2018-11-23 13:03:59,534 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:03:59,535 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:03:59,535 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:03:59,535 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 13:03:59,535 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:03:59,545 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:03:59,702 INFO L256 TraceCheckUtils]: 0: Hoare triple {17529#true} call ULTIMATE.init(); {17529#true} is VALID [2018-11-23 13:03:59,702 INFO L273 TraceCheckUtils]: 1: Hoare triple {17529#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~INFINITY~0 := 899; {17529#true} is VALID [2018-11-23 13:03:59,702 INFO L273 TraceCheckUtils]: 2: Hoare triple {17529#true} assume true; {17529#true} is VALID [2018-11-23 13:03:59,702 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {17529#true} {17529#true} #111#return; {17529#true} is VALID [2018-11-23 13:03:59,703 INFO L256 TraceCheckUtils]: 4: Hoare triple {17529#true} call #t~ret19 := main(); {17529#true} is VALID [2018-11-23 13:03:59,703 INFO L273 TraceCheckUtils]: 5: Hoare triple {17529#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~nodecount~0 := #t~nondet1;havoc #t~nondet1;assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~edgecount~0 := #t~nondet2;havoc #t~nondet2; {17529#true} is VALID [2018-11-23 13:03:59,703 INFO L273 TraceCheckUtils]: 6: Hoare triple {17529#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {17529#true} is VALID [2018-11-23 13:03:59,703 INFO L273 TraceCheckUtils]: 7: Hoare triple {17529#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.alloc(80);call write~init~int(0, ~#Source~0.base, ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 4 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 8 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 12 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 16 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 20 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 24 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 28 + ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 32 + ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 36 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 40 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 44 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 48 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 52 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 56 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 60 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 64 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 68 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 72 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 76 + ~#Source~0.offset, 4);call ~#Dest~0.base, ~#Dest~0.offset := #Ultimate.alloc(80);call write~init~int(1, ~#Dest~0.base, ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 4 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 8 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 12 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 16 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 20 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 24 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 28 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 32 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 36 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 40 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 44 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 48 + ~#Dest~0.offset, 4);call write~init~int(2, ~#Dest~0.base, 52 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 56 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 60 + ~#Dest~0.offset, 4);call write~init~int(2, ~#Dest~0.base, 64 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 68 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 72 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 76 + ~#Dest~0.offset, 4);call ~#Weight~0.base, ~#Weight~0.offset := #Ultimate.alloc(80);call write~init~int(0, ~#Weight~0.base, ~#Weight~0.offset, 4);call write~init~int(1, ~#Weight~0.base, 4 + ~#Weight~0.offset, 4);call write~init~int(2, ~#Weight~0.base, 8 + ~#Weight~0.offset, 4);call write~init~int(3, ~#Weight~0.base, 12 + ~#Weight~0.offset, 4);call write~init~int(4, ~#Weight~0.base, 16 + ~#Weight~0.offset, 4);call write~init~int(5, ~#Weight~0.base, 20 + ~#Weight~0.offset, 4);call write~init~int(6, ~#Weight~0.base, 24 + ~#Weight~0.offset, 4);call write~init~int(7, ~#Weight~0.base, 28 + ~#Weight~0.offset, 4);call write~init~int(8, ~#Weight~0.base, 32 + ~#Weight~0.offset, 4);call write~init~int(9, ~#Weight~0.base, 36 + ~#Weight~0.offset, 4);call write~init~int(10, ~#Weight~0.base, 40 + ~#Weight~0.offset, 4);call write~init~int(11, ~#Weight~0.base, 44 + ~#Weight~0.offset, 4);call write~init~int(12, ~#Weight~0.base, 48 + ~#Weight~0.offset, 4);call write~init~int(13, ~#Weight~0.base, 52 + ~#Weight~0.offset, 4);call write~init~int(14, ~#Weight~0.base, 56 + ~#Weight~0.offset, 4);call write~init~int(15, ~#Weight~0.base, 60 + ~#Weight~0.offset, 4);call write~init~int(16, ~#Weight~0.base, 64 + ~#Weight~0.offset, 4);call write~init~int(17, ~#Weight~0.base, 68 + ~#Weight~0.offset, 4);call write~init~int(18, ~#Weight~0.base, 72 + ~#Weight~0.offset, 4);call write~init~int(19, ~#Weight~0.base, 76 + ~#Weight~0.offset, 4);call ~#distance~0.base, ~#distance~0.offset := #Ultimate.alloc(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {17529#true} is VALID [2018-11-23 13:03:59,703 INFO L273 TraceCheckUtils]: 8: Hoare triple {17529#true} assume !!(~i~0 < ~nodecount~0); {17529#true} is VALID [2018-11-23 13:03:59,703 INFO L273 TraceCheckUtils]: 9: Hoare triple {17529#true} assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {17529#true} is VALID [2018-11-23 13:03:59,703 INFO L273 TraceCheckUtils]: 10: Hoare triple {17529#true} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {17529#true} is VALID [2018-11-23 13:03:59,703 INFO L273 TraceCheckUtils]: 11: Hoare triple {17529#true} assume !!(~i~0 < ~nodecount~0); {17529#true} is VALID [2018-11-23 13:03:59,704 INFO L273 TraceCheckUtils]: 12: Hoare triple {17529#true} assume !(~i~0 == ~source~0);call write~int(~INFINITY~0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {17529#true} is VALID [2018-11-23 13:03:59,704 INFO L273 TraceCheckUtils]: 13: Hoare triple {17529#true} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {17529#true} is VALID [2018-11-23 13:03:59,704 INFO L273 TraceCheckUtils]: 14: Hoare triple {17529#true} assume !!(~i~0 < ~nodecount~0); {17529#true} is VALID [2018-11-23 13:03:59,704 INFO L273 TraceCheckUtils]: 15: Hoare triple {17529#true} assume !(~i~0 == ~source~0);call write~int(~INFINITY~0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {17529#true} is VALID [2018-11-23 13:03:59,704 INFO L273 TraceCheckUtils]: 16: Hoare triple {17529#true} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {17529#true} is VALID [2018-11-23 13:03:59,704 INFO L273 TraceCheckUtils]: 17: Hoare triple {17529#true} assume !(~i~0 < ~nodecount~0); {17529#true} is VALID [2018-11-23 13:03:59,704 INFO L273 TraceCheckUtils]: 18: Hoare triple {17529#true} ~i~0 := 0; {17529#true} is VALID [2018-11-23 13:03:59,705 INFO L273 TraceCheckUtils]: 19: Hoare triple {17529#true} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {17531#(= main_~j~0 0)} is VALID [2018-11-23 13:03:59,705 INFO L273 TraceCheckUtils]: 20: Hoare triple {17531#(= main_~j~0 0)} assume !(~j~0 < ~edgecount~0); {17532#(<= main_~edgecount~0 0)} is VALID [2018-11-23 13:03:59,705 INFO L273 TraceCheckUtils]: 21: Hoare triple {17532#(<= main_~edgecount~0 0)} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {17532#(<= main_~edgecount~0 0)} is VALID [2018-11-23 13:03:59,706 INFO L273 TraceCheckUtils]: 22: Hoare triple {17532#(<= main_~edgecount~0 0)} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {17533#(and (= main_~j~0 0) (<= main_~edgecount~0 0))} is VALID [2018-11-23 13:03:59,706 INFO L273 TraceCheckUtils]: 23: Hoare triple {17533#(and (= main_~j~0 0) (<= main_~edgecount~0 0))} assume !!(~j~0 < ~edgecount~0);call #t~mem6 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4);~x~0 := #t~mem6;havoc #t~mem6;call #t~mem7 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4);~y~0 := #t~mem7;havoc #t~mem7;call #t~mem10 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem8 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem9 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); {17530#false} is VALID [2018-11-23 13:03:59,707 INFO L273 TraceCheckUtils]: 24: Hoare triple {17530#false} assume #t~mem10 > #t~mem8 + #t~mem9;havoc #t~mem8;havoc #t~mem10;havoc #t~mem9;call write~int(-1, ~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); {17530#false} is VALID [2018-11-23 13:03:59,707 INFO L273 TraceCheckUtils]: 25: Hoare triple {17530#false} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {17530#false} is VALID [2018-11-23 13:03:59,707 INFO L273 TraceCheckUtils]: 26: Hoare triple {17530#false} assume !(~j~0 < ~edgecount~0); {17530#false} is VALID [2018-11-23 13:03:59,707 INFO L273 TraceCheckUtils]: 27: Hoare triple {17530#false} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {17530#false} is VALID [2018-11-23 13:03:59,707 INFO L273 TraceCheckUtils]: 28: Hoare triple {17530#false} assume !(~i~0 < ~nodecount~0); {17530#false} is VALID [2018-11-23 13:03:59,708 INFO L273 TraceCheckUtils]: 29: Hoare triple {17530#false} ~i~0 := 0; {17530#false} is VALID [2018-11-23 13:03:59,708 INFO L273 TraceCheckUtils]: 30: Hoare triple {17530#false} assume !!(~i~0 < ~edgecount~0);call #t~mem12 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~i~0, 4);~x~0 := #t~mem12;havoc #t~mem12;call #t~mem13 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~i~0, 4);~y~0 := #t~mem13;havoc #t~mem13;call #t~mem16 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem14 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem15 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~i~0, 4); {17530#false} is VALID [2018-11-23 13:03:59,708 INFO L273 TraceCheckUtils]: 31: Hoare triple {17530#false} assume !(#t~mem16 > #t~mem14 + #t~mem15);havoc #t~mem14;havoc #t~mem15;havoc #t~mem16; {17530#false} is VALID [2018-11-23 13:03:59,708 INFO L273 TraceCheckUtils]: 32: Hoare triple {17530#false} #t~post11 := ~i~0;~i~0 := 1 + #t~post11;havoc #t~post11; {17530#false} is VALID [2018-11-23 13:03:59,708 INFO L273 TraceCheckUtils]: 33: Hoare triple {17530#false} assume !(~i~0 < ~edgecount~0); {17530#false} is VALID [2018-11-23 13:03:59,709 INFO L273 TraceCheckUtils]: 34: Hoare triple {17530#false} ~i~0 := 0; {17530#false} is VALID [2018-11-23 13:03:59,709 INFO L273 TraceCheckUtils]: 35: Hoare triple {17530#false} assume !!(~i~0 < ~nodecount~0);call #t~mem18 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {17530#false} is VALID [2018-11-23 13:03:59,709 INFO L256 TraceCheckUtils]: 36: Hoare triple {17530#false} call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); {17530#false} is VALID [2018-11-23 13:03:59,709 INFO L273 TraceCheckUtils]: 37: Hoare triple {17530#false} ~cond := #in~cond; {17530#false} is VALID [2018-11-23 13:03:59,709 INFO L273 TraceCheckUtils]: 38: Hoare triple {17530#false} assume 0 == ~cond; {17530#false} is VALID [2018-11-23 13:03:59,709 INFO L273 TraceCheckUtils]: 39: Hoare triple {17530#false} assume !false; {17530#false} is VALID [2018-11-23 13:03:59,710 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 7 proven. 0 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2018-11-23 13:03:59,711 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 13:03:59,711 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2018-11-23 13:03:59,711 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 40 [2018-11-23 13:03:59,711 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:03:59,711 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2018-11-23 13:03:59,761 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:03:59,761 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2018-11-23 13:03:59,762 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2018-11-23 13:03:59,762 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2018-11-23 13:03:59,762 INFO L87 Difference]: Start difference. First operand 403 states and 534 transitions. Second operand 5 states. [2018-11-23 13:04:06,630 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:04:06,630 INFO L93 Difference]: Finished difference Result 671 states and 891 transitions. [2018-11-23 13:04:06,630 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-23 13:04:06,630 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 40 [2018-11-23 13:04:06,630 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:04:06,630 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-23 13:04:06,631 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 83 transitions. [2018-11-23 13:04:06,631 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-23 13:04:06,632 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 83 transitions. [2018-11-23 13:04:06,632 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 83 transitions. [2018-11-23 13:04:06,717 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:04:06,729 INFO L225 Difference]: With dead ends: 671 [2018-11-23 13:04:06,729 INFO L226 Difference]: Without dead ends: 433 [2018-11-23 13:04:06,730 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 6 GetRequests, 2 SyntacticMatches, 1 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2018-11-23 13:04:06,730 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 433 states. [2018-11-23 13:04:11,423 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 433 to 398. [2018-11-23 13:04:11,423 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:04:11,423 INFO L82 GeneralOperation]: Start isEquivalent. First operand 433 states. Second operand 398 states. [2018-11-23 13:04:11,423 INFO L74 IsIncluded]: Start isIncluded. First operand 433 states. Second operand 398 states. [2018-11-23 13:04:11,423 INFO L87 Difference]: Start difference. First operand 433 states. Second operand 398 states. [2018-11-23 13:04:11,435 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:04:11,435 INFO L93 Difference]: Finished difference Result 433 states and 571 transitions. [2018-11-23 13:04:11,435 INFO L276 IsEmpty]: Start isEmpty. Operand 433 states and 571 transitions. [2018-11-23 13:04:11,436 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:04:11,436 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:04:11,436 INFO L74 IsIncluded]: Start isIncluded. First operand 398 states. Second operand 433 states. [2018-11-23 13:04:11,437 INFO L87 Difference]: Start difference. First operand 398 states. Second operand 433 states. [2018-11-23 13:04:11,449 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:04:11,449 INFO L93 Difference]: Finished difference Result 433 states and 571 transitions. [2018-11-23 13:04:11,449 INFO L276 IsEmpty]: Start isEmpty. Operand 433 states and 571 transitions. [2018-11-23 13:04:11,450 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:04:11,451 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:04:11,451 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:04:11,451 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:04:11,451 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 398 states. [2018-11-23 13:04:11,464 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 398 states to 398 states and 524 transitions. [2018-11-23 13:04:11,464 INFO L78 Accepts]: Start accepts. Automaton has 398 states and 524 transitions. Word has length 40 [2018-11-23 13:04:11,464 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:04:11,464 INFO L480 AbstractCegarLoop]: Abstraction has 398 states and 524 transitions. [2018-11-23 13:04:11,464 INFO L481 AbstractCegarLoop]: Interpolant automaton has 5 states. [2018-11-23 13:04:11,464 INFO L276 IsEmpty]: Start isEmpty. Operand 398 states and 524 transitions. [2018-11-23 13:04:11,466 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2018-11-23 13:04:11,466 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:04:11,466 INFO L402 BasicCegarLoop]: trace histogram [4, 4, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:04:11,466 INFO L423 AbstractCegarLoop]: === Iteration 16 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:04:11,466 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:04:11,466 INFO L82 PathProgramCache]: Analyzing trace with hash 930411959, now seen corresponding path program 5 times [2018-11-23 13:04:11,467 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:04:11,467 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:04:11,467 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:04:11,467 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 13:04:11,467 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:04:11,476 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:04:11,713 INFO L256 TraceCheckUtils]: 0: Hoare triple {19921#true} call ULTIMATE.init(); {19921#true} is VALID [2018-11-23 13:04:11,714 INFO L273 TraceCheckUtils]: 1: Hoare triple {19921#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~INFINITY~0 := 899; {19921#true} is VALID [2018-11-23 13:04:11,714 INFO L273 TraceCheckUtils]: 2: Hoare triple {19921#true} assume true; {19921#true} is VALID [2018-11-23 13:04:11,714 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {19921#true} {19921#true} #111#return; {19921#true} is VALID [2018-11-23 13:04:11,714 INFO L256 TraceCheckUtils]: 4: Hoare triple {19921#true} call #t~ret19 := main(); {19921#true} is VALID [2018-11-23 13:04:11,715 INFO L273 TraceCheckUtils]: 5: Hoare triple {19921#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~nodecount~0 := #t~nondet1;havoc #t~nondet1;assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~edgecount~0 := #t~nondet2;havoc #t~nondet2; {19921#true} is VALID [2018-11-23 13:04:11,715 INFO L273 TraceCheckUtils]: 6: Hoare triple {19921#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {19921#true} is VALID [2018-11-23 13:04:11,715 INFO L273 TraceCheckUtils]: 7: Hoare triple {19921#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.alloc(80);call write~init~int(0, ~#Source~0.base, ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 4 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 8 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 12 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 16 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 20 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 24 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 28 + ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 32 + ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 36 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 40 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 44 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 48 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 52 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 56 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 60 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 64 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 68 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 72 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 76 + ~#Source~0.offset, 4);call ~#Dest~0.base, ~#Dest~0.offset := #Ultimate.alloc(80);call write~init~int(1, ~#Dest~0.base, ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 4 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 8 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 12 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 16 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 20 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 24 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 28 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 32 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 36 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 40 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 44 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 48 + ~#Dest~0.offset, 4);call write~init~int(2, ~#Dest~0.base, 52 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 56 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 60 + ~#Dest~0.offset, 4);call write~init~int(2, ~#Dest~0.base, 64 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 68 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 72 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 76 + ~#Dest~0.offset, 4);call ~#Weight~0.base, ~#Weight~0.offset := #Ultimate.alloc(80);call write~init~int(0, ~#Weight~0.base, ~#Weight~0.offset, 4);call write~init~int(1, ~#Weight~0.base, 4 + ~#Weight~0.offset, 4);call write~init~int(2, ~#Weight~0.base, 8 + ~#Weight~0.offset, 4);call write~init~int(3, ~#Weight~0.base, 12 + ~#Weight~0.offset, 4);call write~init~int(4, ~#Weight~0.base, 16 + ~#Weight~0.offset, 4);call write~init~int(5, ~#Weight~0.base, 20 + ~#Weight~0.offset, 4);call write~init~int(6, ~#Weight~0.base, 24 + ~#Weight~0.offset, 4);call write~init~int(7, ~#Weight~0.base, 28 + ~#Weight~0.offset, 4);call write~init~int(8, ~#Weight~0.base, 32 + ~#Weight~0.offset, 4);call write~init~int(9, ~#Weight~0.base, 36 + ~#Weight~0.offset, 4);call write~init~int(10, ~#Weight~0.base, 40 + ~#Weight~0.offset, 4);call write~init~int(11, ~#Weight~0.base, 44 + ~#Weight~0.offset, 4);call write~init~int(12, ~#Weight~0.base, 48 + ~#Weight~0.offset, 4);call write~init~int(13, ~#Weight~0.base, 52 + ~#Weight~0.offset, 4);call write~init~int(14, ~#Weight~0.base, 56 + ~#Weight~0.offset, 4);call write~init~int(15, ~#Weight~0.base, 60 + ~#Weight~0.offset, 4);call write~init~int(16, ~#Weight~0.base, 64 + ~#Weight~0.offset, 4);call write~init~int(17, ~#Weight~0.base, 68 + ~#Weight~0.offset, 4);call write~init~int(18, ~#Weight~0.base, 72 + ~#Weight~0.offset, 4);call write~init~int(19, ~#Weight~0.base, 76 + ~#Weight~0.offset, 4);call ~#distance~0.base, ~#distance~0.offset := #Ultimate.alloc(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {19923#(= main_~i~0 0)} is VALID [2018-11-23 13:04:11,716 INFO L273 TraceCheckUtils]: 8: Hoare triple {19923#(= main_~i~0 0)} assume !!(~i~0 < ~nodecount~0); {19923#(= main_~i~0 0)} is VALID [2018-11-23 13:04:11,716 INFO L273 TraceCheckUtils]: 9: Hoare triple {19923#(= main_~i~0 0)} assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {19923#(= main_~i~0 0)} is VALID [2018-11-23 13:04:11,717 INFO L273 TraceCheckUtils]: 10: Hoare triple {19923#(= main_~i~0 0)} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {19924#(<= 1 main_~i~0)} is VALID [2018-11-23 13:04:11,721 INFO L273 TraceCheckUtils]: 11: Hoare triple {19924#(<= 1 main_~i~0)} assume !!(~i~0 < ~nodecount~0); {19924#(<= 1 main_~i~0)} is VALID [2018-11-23 13:04:11,721 INFO L273 TraceCheckUtils]: 12: Hoare triple {19924#(<= 1 main_~i~0)} assume !(~i~0 == ~source~0);call write~int(~INFINITY~0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {19924#(<= 1 main_~i~0)} is VALID [2018-11-23 13:04:11,722 INFO L273 TraceCheckUtils]: 13: Hoare triple {19924#(<= 1 main_~i~0)} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {19925#(<= 2 main_~i~0)} is VALID [2018-11-23 13:04:11,722 INFO L273 TraceCheckUtils]: 14: Hoare triple {19925#(<= 2 main_~i~0)} assume !!(~i~0 < ~nodecount~0); {19925#(<= 2 main_~i~0)} is VALID [2018-11-23 13:04:11,723 INFO L273 TraceCheckUtils]: 15: Hoare triple {19925#(<= 2 main_~i~0)} assume !(~i~0 == ~source~0);call write~int(~INFINITY~0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {19925#(<= 2 main_~i~0)} is VALID [2018-11-23 13:04:11,723 INFO L273 TraceCheckUtils]: 16: Hoare triple {19925#(<= 2 main_~i~0)} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {19926#(<= 3 main_~i~0)} is VALID [2018-11-23 13:04:11,723 INFO L273 TraceCheckUtils]: 17: Hoare triple {19926#(<= 3 main_~i~0)} assume !!(~i~0 < ~nodecount~0); {19927#(<= 4 main_~nodecount~0)} is VALID [2018-11-23 13:04:11,724 INFO L273 TraceCheckUtils]: 18: Hoare triple {19927#(<= 4 main_~nodecount~0)} assume !(~i~0 == ~source~0);call write~int(~INFINITY~0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {19927#(<= 4 main_~nodecount~0)} is VALID [2018-11-23 13:04:11,724 INFO L273 TraceCheckUtils]: 19: Hoare triple {19927#(<= 4 main_~nodecount~0)} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {19927#(<= 4 main_~nodecount~0)} is VALID [2018-11-23 13:04:11,724 INFO L273 TraceCheckUtils]: 20: Hoare triple {19927#(<= 4 main_~nodecount~0)} assume !(~i~0 < ~nodecount~0); {19927#(<= 4 main_~nodecount~0)} is VALID [2018-11-23 13:04:11,725 INFO L273 TraceCheckUtils]: 21: Hoare triple {19927#(<= 4 main_~nodecount~0)} ~i~0 := 0; {19928#(and (<= 4 main_~nodecount~0) (= main_~i~0 0))} is VALID [2018-11-23 13:04:11,725 INFO L273 TraceCheckUtils]: 22: Hoare triple {19928#(and (<= 4 main_~nodecount~0) (= main_~i~0 0))} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {19928#(and (<= 4 main_~nodecount~0) (= main_~i~0 0))} is VALID [2018-11-23 13:04:11,726 INFO L273 TraceCheckUtils]: 23: Hoare triple {19928#(and (<= 4 main_~nodecount~0) (= main_~i~0 0))} assume !(~j~0 < ~edgecount~0); {19928#(and (<= 4 main_~nodecount~0) (= main_~i~0 0))} is VALID [2018-11-23 13:04:11,727 INFO L273 TraceCheckUtils]: 24: Hoare triple {19928#(and (<= 4 main_~nodecount~0) (= main_~i~0 0))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {19929#(<= (+ main_~i~0 3) main_~nodecount~0)} is VALID [2018-11-23 13:04:11,727 INFO L273 TraceCheckUtils]: 25: Hoare triple {19929#(<= (+ main_~i~0 3) main_~nodecount~0)} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {19929#(<= (+ main_~i~0 3) main_~nodecount~0)} is VALID [2018-11-23 13:04:11,728 INFO L273 TraceCheckUtils]: 26: Hoare triple {19929#(<= (+ main_~i~0 3) main_~nodecount~0)} assume !(~j~0 < ~edgecount~0); {19929#(<= (+ main_~i~0 3) main_~nodecount~0)} is VALID [2018-11-23 13:04:11,729 INFO L273 TraceCheckUtils]: 27: Hoare triple {19929#(<= (+ main_~i~0 3) main_~nodecount~0)} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {19930#(<= (+ main_~i~0 2) main_~nodecount~0)} is VALID [2018-11-23 13:04:11,729 INFO L273 TraceCheckUtils]: 28: Hoare triple {19930#(<= (+ main_~i~0 2) main_~nodecount~0)} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {19930#(<= (+ main_~i~0 2) main_~nodecount~0)} is VALID [2018-11-23 13:04:11,730 INFO L273 TraceCheckUtils]: 29: Hoare triple {19930#(<= (+ main_~i~0 2) main_~nodecount~0)} assume !(~j~0 < ~edgecount~0); {19930#(<= (+ main_~i~0 2) main_~nodecount~0)} is VALID [2018-11-23 13:04:11,731 INFO L273 TraceCheckUtils]: 30: Hoare triple {19930#(<= (+ main_~i~0 2) main_~nodecount~0)} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {19931#(<= (+ main_~i~0 1) main_~nodecount~0)} is VALID [2018-11-23 13:04:11,731 INFO L273 TraceCheckUtils]: 31: Hoare triple {19931#(<= (+ main_~i~0 1) main_~nodecount~0)} assume !(~i~0 < ~nodecount~0); {19922#false} is VALID [2018-11-23 13:04:11,732 INFO L273 TraceCheckUtils]: 32: Hoare triple {19922#false} ~i~0 := 0; {19922#false} is VALID [2018-11-23 13:04:11,732 INFO L273 TraceCheckUtils]: 33: Hoare triple {19922#false} assume !(~i~0 < ~edgecount~0); {19922#false} is VALID [2018-11-23 13:04:11,732 INFO L273 TraceCheckUtils]: 34: Hoare triple {19922#false} ~i~0 := 0; {19922#false} is VALID [2018-11-23 13:04:11,732 INFO L273 TraceCheckUtils]: 35: Hoare triple {19922#false} assume !!(~i~0 < ~nodecount~0);call #t~mem18 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {19922#false} is VALID [2018-11-23 13:04:11,732 INFO L256 TraceCheckUtils]: 36: Hoare triple {19922#false} call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); {19922#false} is VALID [2018-11-23 13:04:11,733 INFO L273 TraceCheckUtils]: 37: Hoare triple {19922#false} ~cond := #in~cond; {19922#false} is VALID [2018-11-23 13:04:11,733 INFO L273 TraceCheckUtils]: 38: Hoare triple {19922#false} assume 0 == ~cond; {19922#false} is VALID [2018-11-23 13:04:11,733 INFO L273 TraceCheckUtils]: 39: Hoare triple {19922#false} assume !false; {19922#false} is VALID [2018-11-23 13:04:11,735 INFO L134 CoverageAnalysis]: Checked inductivity of 34 backedges. 5 proven. 29 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 13:04:11,736 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 13:04:11,736 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 14 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 14 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 13:04:11,746 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-23 13:04:11,784 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 5 check-sat command(s) [2018-11-23 13:04:11,784 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 13:04:11,790 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:04:11,792 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 13:04:11,955 INFO L256 TraceCheckUtils]: 0: Hoare triple {19921#true} call ULTIMATE.init(); {19921#true} is VALID [2018-11-23 13:04:11,956 INFO L273 TraceCheckUtils]: 1: Hoare triple {19921#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~INFINITY~0 := 899; {19921#true} is VALID [2018-11-23 13:04:11,956 INFO L273 TraceCheckUtils]: 2: Hoare triple {19921#true} assume true; {19921#true} is VALID [2018-11-23 13:04:11,956 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {19921#true} {19921#true} #111#return; {19921#true} is VALID [2018-11-23 13:04:11,956 INFO L256 TraceCheckUtils]: 4: Hoare triple {19921#true} call #t~ret19 := main(); {19921#true} is VALID [2018-11-23 13:04:11,956 INFO L273 TraceCheckUtils]: 5: Hoare triple {19921#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~nodecount~0 := #t~nondet1;havoc #t~nondet1;assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~edgecount~0 := #t~nondet2;havoc #t~nondet2; {19921#true} is VALID [2018-11-23 13:04:11,957 INFO L273 TraceCheckUtils]: 6: Hoare triple {19921#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {19921#true} is VALID [2018-11-23 13:04:11,961 INFO L273 TraceCheckUtils]: 7: Hoare triple {19921#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.alloc(80);call write~init~int(0, ~#Source~0.base, ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 4 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 8 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 12 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 16 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 20 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 24 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 28 + ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 32 + ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 36 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 40 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 44 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 48 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 52 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 56 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 60 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 64 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 68 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 72 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 76 + ~#Source~0.offset, 4);call ~#Dest~0.base, ~#Dest~0.offset := #Ultimate.alloc(80);call write~init~int(1, ~#Dest~0.base, ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 4 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 8 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 12 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 16 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 20 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 24 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 28 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 32 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 36 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 40 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 44 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 48 + ~#Dest~0.offset, 4);call write~init~int(2, ~#Dest~0.base, 52 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 56 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 60 + ~#Dest~0.offset, 4);call write~init~int(2, ~#Dest~0.base, 64 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 68 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 72 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 76 + ~#Dest~0.offset, 4);call ~#Weight~0.base, ~#Weight~0.offset := #Ultimate.alloc(80);call write~init~int(0, ~#Weight~0.base, ~#Weight~0.offset, 4);call write~init~int(1, ~#Weight~0.base, 4 + ~#Weight~0.offset, 4);call write~init~int(2, ~#Weight~0.base, 8 + ~#Weight~0.offset, 4);call write~init~int(3, ~#Weight~0.base, 12 + ~#Weight~0.offset, 4);call write~init~int(4, ~#Weight~0.base, 16 + ~#Weight~0.offset, 4);call write~init~int(5, ~#Weight~0.base, 20 + ~#Weight~0.offset, 4);call write~init~int(6, ~#Weight~0.base, 24 + ~#Weight~0.offset, 4);call write~init~int(7, ~#Weight~0.base, 28 + ~#Weight~0.offset, 4);call write~init~int(8, ~#Weight~0.base, 32 + ~#Weight~0.offset, 4);call write~init~int(9, ~#Weight~0.base, 36 + ~#Weight~0.offset, 4);call write~init~int(10, ~#Weight~0.base, 40 + ~#Weight~0.offset, 4);call write~init~int(11, ~#Weight~0.base, 44 + ~#Weight~0.offset, 4);call write~init~int(12, ~#Weight~0.base, 48 + ~#Weight~0.offset, 4);call write~init~int(13, ~#Weight~0.base, 52 + ~#Weight~0.offset, 4);call write~init~int(14, ~#Weight~0.base, 56 + ~#Weight~0.offset, 4);call write~init~int(15, ~#Weight~0.base, 60 + ~#Weight~0.offset, 4);call write~init~int(16, ~#Weight~0.base, 64 + ~#Weight~0.offset, 4);call write~init~int(17, ~#Weight~0.base, 68 + ~#Weight~0.offset, 4);call write~init~int(18, ~#Weight~0.base, 72 + ~#Weight~0.offset, 4);call write~init~int(19, ~#Weight~0.base, 76 + ~#Weight~0.offset, 4);call ~#distance~0.base, ~#distance~0.offset := #Ultimate.alloc(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {19956#(<= 0 main_~i~0)} is VALID [2018-11-23 13:04:11,961 INFO L273 TraceCheckUtils]: 8: Hoare triple {19956#(<= 0 main_~i~0)} assume !!(~i~0 < ~nodecount~0); {19956#(<= 0 main_~i~0)} is VALID [2018-11-23 13:04:11,962 INFO L273 TraceCheckUtils]: 9: Hoare triple {19956#(<= 0 main_~i~0)} assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {19956#(<= 0 main_~i~0)} is VALID [2018-11-23 13:04:11,963 INFO L273 TraceCheckUtils]: 10: Hoare triple {19956#(<= 0 main_~i~0)} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {19924#(<= 1 main_~i~0)} is VALID [2018-11-23 13:04:11,963 INFO L273 TraceCheckUtils]: 11: Hoare triple {19924#(<= 1 main_~i~0)} assume !!(~i~0 < ~nodecount~0); {19924#(<= 1 main_~i~0)} is VALID [2018-11-23 13:04:11,964 INFO L273 TraceCheckUtils]: 12: Hoare triple {19924#(<= 1 main_~i~0)} assume !(~i~0 == ~source~0);call write~int(~INFINITY~0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {19924#(<= 1 main_~i~0)} is VALID [2018-11-23 13:04:11,964 INFO L273 TraceCheckUtils]: 13: Hoare triple {19924#(<= 1 main_~i~0)} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {19925#(<= 2 main_~i~0)} is VALID [2018-11-23 13:04:11,965 INFO L273 TraceCheckUtils]: 14: Hoare triple {19925#(<= 2 main_~i~0)} assume !!(~i~0 < ~nodecount~0); {19925#(<= 2 main_~i~0)} is VALID [2018-11-23 13:04:11,965 INFO L273 TraceCheckUtils]: 15: Hoare triple {19925#(<= 2 main_~i~0)} assume !(~i~0 == ~source~0);call write~int(~INFINITY~0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {19925#(<= 2 main_~i~0)} is VALID [2018-11-23 13:04:11,966 INFO L273 TraceCheckUtils]: 16: Hoare triple {19925#(<= 2 main_~i~0)} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {19926#(<= 3 main_~i~0)} is VALID [2018-11-23 13:04:11,967 INFO L273 TraceCheckUtils]: 17: Hoare triple {19926#(<= 3 main_~i~0)} assume !!(~i~0 < ~nodecount~0); {19927#(<= 4 main_~nodecount~0)} is VALID [2018-11-23 13:04:11,967 INFO L273 TraceCheckUtils]: 18: Hoare triple {19927#(<= 4 main_~nodecount~0)} assume !(~i~0 == ~source~0);call write~int(~INFINITY~0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {19927#(<= 4 main_~nodecount~0)} is VALID [2018-11-23 13:04:11,968 INFO L273 TraceCheckUtils]: 19: Hoare triple {19927#(<= 4 main_~nodecount~0)} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {19927#(<= 4 main_~nodecount~0)} is VALID [2018-11-23 13:04:11,969 INFO L273 TraceCheckUtils]: 20: Hoare triple {19927#(<= 4 main_~nodecount~0)} assume !(~i~0 < ~nodecount~0); {19927#(<= 4 main_~nodecount~0)} is VALID [2018-11-23 13:04:11,969 INFO L273 TraceCheckUtils]: 21: Hoare triple {19927#(<= 4 main_~nodecount~0)} ~i~0 := 0; {19999#(and (<= 4 main_~nodecount~0) (<= main_~i~0 0))} is VALID [2018-11-23 13:04:11,970 INFO L273 TraceCheckUtils]: 22: Hoare triple {19999#(and (<= 4 main_~nodecount~0) (<= main_~i~0 0))} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {19999#(and (<= 4 main_~nodecount~0) (<= main_~i~0 0))} is VALID [2018-11-23 13:04:11,971 INFO L273 TraceCheckUtils]: 23: Hoare triple {19999#(and (<= 4 main_~nodecount~0) (<= main_~i~0 0))} assume !(~j~0 < ~edgecount~0); {19999#(and (<= 4 main_~nodecount~0) (<= main_~i~0 0))} is VALID [2018-11-23 13:04:11,971 INFO L273 TraceCheckUtils]: 24: Hoare triple {19999#(and (<= 4 main_~nodecount~0) (<= main_~i~0 0))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {20009#(and (<= 4 main_~nodecount~0) (<= main_~i~0 1))} is VALID [2018-11-23 13:04:11,972 INFO L273 TraceCheckUtils]: 25: Hoare triple {20009#(and (<= 4 main_~nodecount~0) (<= main_~i~0 1))} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {20009#(and (<= 4 main_~nodecount~0) (<= main_~i~0 1))} is VALID [2018-11-23 13:04:11,973 INFO L273 TraceCheckUtils]: 26: Hoare triple {20009#(and (<= 4 main_~nodecount~0) (<= main_~i~0 1))} assume !(~j~0 < ~edgecount~0); {20009#(and (<= 4 main_~nodecount~0) (<= main_~i~0 1))} is VALID [2018-11-23 13:04:11,974 INFO L273 TraceCheckUtils]: 27: Hoare triple {20009#(and (<= 4 main_~nodecount~0) (<= main_~i~0 1))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {20019#(and (<= main_~i~0 2) (<= 4 main_~nodecount~0))} is VALID [2018-11-23 13:04:11,974 INFO L273 TraceCheckUtils]: 28: Hoare triple {20019#(and (<= main_~i~0 2) (<= 4 main_~nodecount~0))} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {20019#(and (<= main_~i~0 2) (<= 4 main_~nodecount~0))} is VALID [2018-11-23 13:04:11,975 INFO L273 TraceCheckUtils]: 29: Hoare triple {20019#(and (<= main_~i~0 2) (<= 4 main_~nodecount~0))} assume !(~j~0 < ~edgecount~0); {20019#(and (<= main_~i~0 2) (<= 4 main_~nodecount~0))} is VALID [2018-11-23 13:04:11,976 INFO L273 TraceCheckUtils]: 30: Hoare triple {20019#(and (<= main_~i~0 2) (<= 4 main_~nodecount~0))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {20029#(and (<= main_~i~0 3) (<= 4 main_~nodecount~0))} is VALID [2018-11-23 13:04:11,977 INFO L273 TraceCheckUtils]: 31: Hoare triple {20029#(and (<= main_~i~0 3) (<= 4 main_~nodecount~0))} assume !(~i~0 < ~nodecount~0); {19922#false} is VALID [2018-11-23 13:04:11,977 INFO L273 TraceCheckUtils]: 32: Hoare triple {19922#false} ~i~0 := 0; {19922#false} is VALID [2018-11-23 13:04:11,977 INFO L273 TraceCheckUtils]: 33: Hoare triple {19922#false} assume !(~i~0 < ~edgecount~0); {19922#false} is VALID [2018-11-23 13:04:11,977 INFO L273 TraceCheckUtils]: 34: Hoare triple {19922#false} ~i~0 := 0; {19922#false} is VALID [2018-11-23 13:04:11,977 INFO L273 TraceCheckUtils]: 35: Hoare triple {19922#false} assume !!(~i~0 < ~nodecount~0);call #t~mem18 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {19922#false} is VALID [2018-11-23 13:04:11,978 INFO L256 TraceCheckUtils]: 36: Hoare triple {19922#false} call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); {19922#false} is VALID [2018-11-23 13:04:11,978 INFO L273 TraceCheckUtils]: 37: Hoare triple {19922#false} ~cond := #in~cond; {19922#false} is VALID [2018-11-23 13:04:11,978 INFO L273 TraceCheckUtils]: 38: Hoare triple {19922#false} assume 0 == ~cond; {19922#false} is VALID [2018-11-23 13:04:11,978 INFO L273 TraceCheckUtils]: 39: Hoare triple {19922#false} assume !false; {19922#false} is VALID [2018-11-23 13:04:11,980 INFO L134 CoverageAnalysis]: Checked inductivity of 34 backedges. 12 proven. 22 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 13:04:11,999 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 13:04:11,999 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 16 [2018-11-23 13:04:11,999 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 40 [2018-11-23 13:04:11,999 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:04:11,999 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states. [2018-11-23 13:04:12,073 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:04:12,073 INFO L459 AbstractCegarLoop]: Interpolant automaton has 16 states [2018-11-23 13:04:12,073 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2018-11-23 13:04:12,074 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=68, Invalid=172, Unknown=0, NotChecked=0, Total=240 [2018-11-23 13:04:12,074 INFO L87 Difference]: Start difference. First operand 398 states and 524 transitions. Second operand 16 states. [2018-11-23 13:04:26,402 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:04:26,403 INFO L93 Difference]: Finished difference Result 978 states and 1291 transitions. [2018-11-23 13:04:26,403 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2018-11-23 13:04:26,403 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 40 [2018-11-23 13:04:26,403 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:04:26,403 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-23 13:04:26,405 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 202 transitions. [2018-11-23 13:04:26,405 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-23 13:04:26,407 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 202 transitions. [2018-11-23 13:04:26,408 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states and 202 transitions. [2018-11-23 13:04:26,741 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 202 edges. 202 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:04:26,786 INFO L225 Difference]: With dead ends: 978 [2018-11-23 13:04:26,786 INFO L226 Difference]: Without dead ends: 921 [2018-11-23 13:04:26,787 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 58 GetRequests, 36 SyntacticMatches, 0 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 110 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=141, Invalid=411, Unknown=0, NotChecked=0, Total=552 [2018-11-23 13:04:26,787 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 921 states. [2018-11-23 13:04:31,397 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 921 to 443. [2018-11-23 13:04:31,397 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:04:31,397 INFO L82 GeneralOperation]: Start isEquivalent. First operand 921 states. Second operand 443 states. [2018-11-23 13:04:31,397 INFO L74 IsIncluded]: Start isIncluded. First operand 921 states. Second operand 443 states. [2018-11-23 13:04:31,397 INFO L87 Difference]: Start difference. First operand 921 states. Second operand 443 states. [2018-11-23 13:04:31,436 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:04:31,436 INFO L93 Difference]: Finished difference Result 921 states and 1223 transitions. [2018-11-23 13:04:31,436 INFO L276 IsEmpty]: Start isEmpty. Operand 921 states and 1223 transitions. [2018-11-23 13:04:31,438 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:04:31,438 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:04:31,438 INFO L74 IsIncluded]: Start isIncluded. First operand 443 states. Second operand 921 states. [2018-11-23 13:04:31,439 INFO L87 Difference]: Start difference. First operand 443 states. Second operand 921 states. [2018-11-23 13:04:31,482 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:04:31,483 INFO L93 Difference]: Finished difference Result 921 states and 1223 transitions. [2018-11-23 13:04:31,483 INFO L276 IsEmpty]: Start isEmpty. Operand 921 states and 1223 transitions. [2018-11-23 13:04:31,485 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:04:31,485 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:04:31,485 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:04:31,485 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:04:31,485 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 443 states. [2018-11-23 13:04:31,500 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 443 states to 443 states and 585 transitions. [2018-11-23 13:04:31,500 INFO L78 Accepts]: Start accepts. Automaton has 443 states and 585 transitions. Word has length 40 [2018-11-23 13:04:31,500 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:04:31,501 INFO L480 AbstractCegarLoop]: Abstraction has 443 states and 585 transitions. [2018-11-23 13:04:31,501 INFO L481 AbstractCegarLoop]: Interpolant automaton has 16 states. [2018-11-23 13:04:31,501 INFO L276 IsEmpty]: Start isEmpty. Operand 443 states and 585 transitions. [2018-11-23 13:04:31,502 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2018-11-23 13:04:31,502 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:04:31,502 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:04:31,502 INFO L423 AbstractCegarLoop]: === Iteration 17 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:04:31,502 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:04:31,503 INFO L82 PathProgramCache]: Analyzing trace with hash 1598984565, now seen corresponding path program 5 times [2018-11-23 13:04:31,503 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:04:31,503 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:04:31,503 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:04:31,504 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 13:04:31,504 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:04:31,595 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:04:32,698 WARN L180 SmtUtils]: Spent 121.00 ms on a formula simplification. DAG size of input: 82 DAG size of output: 43 [2018-11-23 13:04:32,924 WARN L180 SmtUtils]: Spent 144.00 ms on a formula simplification. DAG size of input: 92 DAG size of output: 48 [2018-11-23 13:04:33,158 WARN L180 SmtUtils]: Spent 147.00 ms on a formula simplification. DAG size of input: 98 DAG size of output: 45 [2018-11-23 13:04:33,447 WARN L180 SmtUtils]: Spent 174.00 ms on a formula simplification. DAG size of input: 136 DAG size of output: 50 [2018-11-23 13:04:33,797 WARN L180 SmtUtils]: Spent 202.00 ms on a formula simplification. DAG size of input: 173 DAG size of output: 52 [2018-11-23 13:04:34,102 WARN L180 SmtUtils]: Spent 180.00 ms on a formula simplification. DAG size of input: 119 DAG size of output: 37 [2018-11-23 13:04:34,289 WARN L180 SmtUtils]: Spent 110.00 ms on a formula simplification. DAG size of input: 97 DAG size of output: 39 [2018-11-23 13:04:34,491 WARN L180 SmtUtils]: Spent 114.00 ms on a formula simplification. DAG size of input: 106 DAG size of output: 42 [2018-11-23 13:04:34,677 WARN L180 SmtUtils]: Spent 103.00 ms on a formula simplification. DAG size of input: 96 DAG size of output: 37 [2018-11-23 13:04:34,883 WARN L180 SmtUtils]: Spent 114.00 ms on a formula simplification. DAG size of input: 100 DAG size of output: 36 [2018-11-23 13:04:36,088 INFO L256 TraceCheckUtils]: 0: Hoare triple {23929#true} call ULTIMATE.init(); {23929#true} is VALID [2018-11-23 13:04:36,088 INFO L273 TraceCheckUtils]: 1: Hoare triple {23929#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~INFINITY~0 := 899; {23929#true} is VALID [2018-11-23 13:04:36,088 INFO L273 TraceCheckUtils]: 2: Hoare triple {23929#true} assume true; {23929#true} is VALID [2018-11-23 13:04:36,088 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {23929#true} {23929#true} #111#return; {23929#true} is VALID [2018-11-23 13:04:36,088 INFO L256 TraceCheckUtils]: 4: Hoare triple {23929#true} call #t~ret19 := main(); {23929#true} is VALID [2018-11-23 13:04:36,088 INFO L273 TraceCheckUtils]: 5: Hoare triple {23929#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~nodecount~0 := #t~nondet1;havoc #t~nondet1;assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~edgecount~0 := #t~nondet2;havoc #t~nondet2; {23929#true} is VALID [2018-11-23 13:04:36,089 INFO L273 TraceCheckUtils]: 6: Hoare triple {23929#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {23929#true} is VALID [2018-11-23 13:04:36,093 INFO L273 TraceCheckUtils]: 7: Hoare triple {23929#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.alloc(80);call write~init~int(0, ~#Source~0.base, ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 4 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 8 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 12 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 16 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 20 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 24 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 28 + ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 32 + ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 36 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 40 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 44 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 48 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 52 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 56 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 60 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 64 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 68 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 72 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 76 + ~#Source~0.offset, 4);call ~#Dest~0.base, ~#Dest~0.offset := #Ultimate.alloc(80);call write~init~int(1, ~#Dest~0.base, ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 4 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 8 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 12 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 16 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 20 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 24 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 28 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 32 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 36 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 40 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 44 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 48 + ~#Dest~0.offset, 4);call write~init~int(2, ~#Dest~0.base, 52 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 56 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 60 + ~#Dest~0.offset, 4);call write~init~int(2, ~#Dest~0.base, 64 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 68 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 72 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 76 + ~#Dest~0.offset, 4);call ~#Weight~0.base, ~#Weight~0.offset := #Ultimate.alloc(80);call write~init~int(0, ~#Weight~0.base, ~#Weight~0.offset, 4);call write~init~int(1, ~#Weight~0.base, 4 + ~#Weight~0.offset, 4);call write~init~int(2, ~#Weight~0.base, 8 + ~#Weight~0.offset, 4);call write~init~int(3, ~#Weight~0.base, 12 + ~#Weight~0.offset, 4);call write~init~int(4, ~#Weight~0.base, 16 + ~#Weight~0.offset, 4);call write~init~int(5, ~#Weight~0.base, 20 + ~#Weight~0.offset, 4);call write~init~int(6, ~#Weight~0.base, 24 + ~#Weight~0.offset, 4);call write~init~int(7, ~#Weight~0.base, 28 + ~#Weight~0.offset, 4);call write~init~int(8, ~#Weight~0.base, 32 + ~#Weight~0.offset, 4);call write~init~int(9, ~#Weight~0.base, 36 + ~#Weight~0.offset, 4);call write~init~int(10, ~#Weight~0.base, 40 + ~#Weight~0.offset, 4);call write~init~int(11, ~#Weight~0.base, 44 + ~#Weight~0.offset, 4);call write~init~int(12, ~#Weight~0.base, 48 + ~#Weight~0.offset, 4);call write~init~int(13, ~#Weight~0.base, 52 + ~#Weight~0.offset, 4);call write~init~int(14, ~#Weight~0.base, 56 + ~#Weight~0.offset, 4);call write~init~int(15, ~#Weight~0.base, 60 + ~#Weight~0.offset, 4);call write~init~int(16, ~#Weight~0.base, 64 + ~#Weight~0.offset, 4);call write~init~int(17, ~#Weight~0.base, 68 + ~#Weight~0.offset, 4);call write~init~int(18, ~#Weight~0.base, 72 + ~#Weight~0.offset, 4);call write~init~int(19, ~#Weight~0.base, 76 + ~#Weight~0.offset, 4);call ~#distance~0.base, ~#distance~0.offset := #Ultimate.alloc(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {23931#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (= 4 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 8))) (= 0 (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|)) (= 0 |main_~#Weight~0.offset|) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 4))) (= 0 (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|)) (<= |main_~#Dest~0.offset| 0) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (<= |main_~#Weight~0.offset| |main_~#Dest~0.offset|) (= 0 |main_~#Source~0.offset|) (= main_~i~0 0))} is VALID [2018-11-23 13:04:36,094 INFO L273 TraceCheckUtils]: 8: Hoare triple {23931#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (= 4 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 8))) (= 0 (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|)) (= 0 |main_~#Weight~0.offset|) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 4))) (= 0 (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|)) (<= |main_~#Dest~0.offset| 0) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (<= |main_~#Weight~0.offset| |main_~#Dest~0.offset|) (= 0 |main_~#Source~0.offset|) (= main_~i~0 0))} assume !!(~i~0 < ~nodecount~0); {23931#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (= 4 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 8))) (= 0 (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|)) (= 0 |main_~#Weight~0.offset|) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 4))) (= 0 (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|)) (<= |main_~#Dest~0.offset| 0) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (<= |main_~#Weight~0.offset| |main_~#Dest~0.offset|) (= 0 |main_~#Source~0.offset|) (= main_~i~0 0))} is VALID [2018-11-23 13:04:36,096 INFO L273 TraceCheckUtils]: 9: Hoare triple {23931#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (= 4 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 8))) (= 0 (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|)) (= 0 |main_~#Weight~0.offset|) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 4))) (= 0 (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|)) (<= |main_~#Dest~0.offset| 0) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (<= |main_~#Weight~0.offset| |main_~#Dest~0.offset|) (= 0 |main_~#Source~0.offset|) (= main_~i~0 0))} assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {23932#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (= 4 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 8))) (= 0 (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|)) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 4))) (<= 0 |main_~#Weight~0.offset|) (= (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 main_~i~0) |main_~#distance~0.offset|)) 0) (= 0 (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|)) (<= |main_~#Dest~0.offset| 0) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (<= |main_~#Weight~0.offset| |main_~#Dest~0.offset|) (= 0 |main_~#Source~0.offset|) (= main_~i~0 0))} is VALID [2018-11-23 13:04:36,098 INFO L273 TraceCheckUtils]: 10: Hoare triple {23932#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (= 4 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 8))) (= 0 (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|)) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 4))) (<= 0 |main_~#Weight~0.offset|) (= (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 main_~i~0) |main_~#distance~0.offset|)) 0) (= 0 (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|)) (<= |main_~#Dest~0.offset| 0) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (<= |main_~#Weight~0.offset| |main_~#Dest~0.offset|) (= 0 |main_~#Source~0.offset|) (= main_~i~0 0))} #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; {23933#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (= 4 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 8))) (= 0 (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|)) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (<= 0 |main_~#Dest~0.offset|) (= |main_~#Weight~0.offset| |main_~#Dest~0.offset|) (= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 4))) (= 0 (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|)) (<= |main_~#Dest~0.offset| 0) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= 0 |main_~#Source~0.offset|))} is VALID [2018-11-23 13:04:36,099 INFO L273 TraceCheckUtils]: 11: Hoare triple {23933#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (= 4 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 8))) (= 0 (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|)) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (<= 0 |main_~#Dest~0.offset|) (= |main_~#Weight~0.offset| |main_~#Dest~0.offset|) (= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 4))) (= 0 (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|)) (<= |main_~#Dest~0.offset| 0) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= 0 |main_~#Source~0.offset|))} assume !(~i~0 < ~nodecount~0); {23933#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (= 4 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 8))) (= 0 (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|)) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (<= 0 |main_~#Dest~0.offset|) (= |main_~#Weight~0.offset| |main_~#Dest~0.offset|) (= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 4))) (= 0 (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|)) (<= |main_~#Dest~0.offset| 0) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= 0 |main_~#Source~0.offset|))} is VALID [2018-11-23 13:04:36,100 INFO L273 TraceCheckUtils]: 12: Hoare triple {23933#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (= 4 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 8))) (= 0 (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|)) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (<= 0 |main_~#Dest~0.offset|) (= |main_~#Weight~0.offset| |main_~#Dest~0.offset|) (= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 4))) (= 0 (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|)) (<= |main_~#Dest~0.offset| 0) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= 0 |main_~#Source~0.offset|))} ~i~0 := 0; {23933#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (= 4 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 8))) (= 0 (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|)) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (<= 0 |main_~#Dest~0.offset|) (= |main_~#Weight~0.offset| |main_~#Dest~0.offset|) (= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 4))) (= 0 (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|)) (<= |main_~#Dest~0.offset| 0) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= 0 |main_~#Source~0.offset|))} is VALID [2018-11-23 13:04:36,102 INFO L273 TraceCheckUtils]: 13: Hoare triple {23933#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (= 4 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 8))) (= 0 (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|)) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (<= 0 |main_~#Dest~0.offset|) (= |main_~#Weight~0.offset| |main_~#Dest~0.offset|) (= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 4))) (= 0 (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|)) (<= |main_~#Dest~0.offset| 0) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= 0 |main_~#Source~0.offset|))} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {23934#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (= 4 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 8))) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= 0 (select (select |#memory_int| |main_~#Source~0.base|) (+ (* 4 main_~j~0) |main_~#Source~0.offset|))) (<= 0 |main_~#Dest~0.offset|) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (= |main_~#Weight~0.offset| |main_~#Dest~0.offset|) (= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 4))) (= main_~j~0 0) (<= |main_~#Dest~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#Weight~0.base|) (+ (* 4 main_~j~0) |main_~#Weight~0.offset|))) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= 0 |main_~#Source~0.offset|))} is VALID [2018-11-23 13:04:36,104 INFO L273 TraceCheckUtils]: 14: Hoare triple {23934#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (= 4 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 8))) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= 0 (select (select |#memory_int| |main_~#Source~0.base|) (+ (* 4 main_~j~0) |main_~#Source~0.offset|))) (<= 0 |main_~#Dest~0.offset|) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (= |main_~#Weight~0.offset| |main_~#Dest~0.offset|) (= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 4))) (= main_~j~0 0) (<= |main_~#Dest~0.offset| 0) (= 0 (select (select |#memory_int| |main_~#Weight~0.base|) (+ (* 4 main_~j~0) |main_~#Weight~0.offset|))) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= 0 |main_~#Source~0.offset|))} assume !!(~j~0 < ~edgecount~0);call #t~mem6 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4);~x~0 := #t~mem6;havoc #t~mem6;call #t~mem7 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4);~y~0 := #t~mem7;havoc #t~mem7;call #t~mem10 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem8 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem9 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); {23935#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (<= 0 |main_~#Dest~0.offset|) (= |main_#t~mem9| 0) (= main_~j~0 0) (<= |main_~#Dest~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (or (and (<= 0 (select (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 main_~x~0)) (- 1)) 0)) (= |main_~#Weight~0.offset| |main_~#Dest~0.offset|) (= 3 (select (select (store |#memory_int| |main_~#distance~0.base| (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 main_~x~0)) (- 1))) |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 4))) (= 4 (select (select (store |#memory_int| |main_~#distance~0.base| (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 main_~x~0)) (- 1))) |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 8)))) (and (= |main_#t~mem10| 0) (= |main_#t~mem8| 0))) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)))} is VALID [2018-11-23 13:04:36,106 INFO L273 TraceCheckUtils]: 15: Hoare triple {23935#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (<= 0 |main_~#Dest~0.offset|) (= |main_#t~mem9| 0) (= main_~j~0 0) (<= |main_~#Dest~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (or (and (<= 0 (select (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 main_~x~0)) (- 1)) 0)) (= |main_~#Weight~0.offset| |main_~#Dest~0.offset|) (= 3 (select (select (store |#memory_int| |main_~#distance~0.base| (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 main_~x~0)) (- 1))) |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 4))) (= 4 (select (select (store |#memory_int| |main_~#distance~0.base| (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 main_~x~0)) (- 1))) |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 8)))) (and (= |main_#t~mem10| 0) (= |main_#t~mem8| 0))) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)))} assume #t~mem10 > #t~mem8 + #t~mem9;havoc #t~mem8;havoc #t~mem10;havoc #t~mem9;call write~int(-1, ~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); {23936#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (<= 0 |main_~#Dest~0.offset|) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#Weight~0.offset| |main_~#Dest~0.offset|) (= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 4))) (= 4 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 8))) (= main_~j~0 0) (<= |main_~#Dest~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)))} is VALID [2018-11-23 13:04:36,108 INFO L273 TraceCheckUtils]: 16: Hoare triple {23936#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (<= 0 |main_~#Dest~0.offset|) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#Weight~0.offset| |main_~#Dest~0.offset|) (= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 4))) (= 4 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 8))) (= main_~j~0 0) (<= |main_~#Dest~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)))} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {23937#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (<= 0 |main_~#Dest~0.offset|) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#Weight~0.offset| |main_~#Dest~0.offset|) (= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 4))) (= 4 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 8))) (<= |main_~#Dest~0.offset| 0) (= 4 (+ (* 4 main_~j~0) |main_~#Dest~0.offset|)) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)))} is VALID [2018-11-23 13:04:36,110 INFO L273 TraceCheckUtils]: 17: Hoare triple {23937#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (<= 0 |main_~#Dest~0.offset|) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#Weight~0.offset| |main_~#Dest~0.offset|) (= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 4))) (= 4 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 8))) (<= |main_~#Dest~0.offset| 0) (= 4 (+ (* 4 main_~j~0) |main_~#Dest~0.offset|)) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)))} assume !!(~j~0 < ~edgecount~0);call #t~mem6 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4);~x~0 := #t~mem6;havoc #t~mem6;call #t~mem7 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4);~y~0 := #t~mem7;havoc #t~mem7;call #t~mem10 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem8 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem9 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); {23938#(and (<= 0 (select (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 main_~x~0)) (- 1)) 0)) (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (<= (+ |main_~#Weight~0.offset| 4) (+ (* 4 main_~j~0) |main_~#Dest~0.offset|)) (<= 0 |main_~#Dest~0.offset|) (= |main_~#Weight~0.offset| |main_~#Dest~0.offset|) (= 4 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 8))) (<= |main_~#Dest~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (<= (+ (* 4 main_~j~0) |main_~#Dest~0.offset|) (+ |main_~#Weight~0.offset| 4)))} is VALID [2018-11-23 13:04:36,112 INFO L273 TraceCheckUtils]: 18: Hoare triple {23938#(and (<= 0 (select (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 main_~x~0)) (- 1)) 0)) (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (<= (+ |main_~#Weight~0.offset| 4) (+ (* 4 main_~j~0) |main_~#Dest~0.offset|)) (<= 0 |main_~#Dest~0.offset|) (= |main_~#Weight~0.offset| |main_~#Dest~0.offset|) (= 4 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 8))) (<= |main_~#Dest~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (<= (+ (* 4 main_~j~0) |main_~#Dest~0.offset|) (+ |main_~#Weight~0.offset| 4)))} assume #t~mem10 > #t~mem8 + #t~mem9;havoc #t~mem8;havoc #t~mem10;havoc #t~mem9;call write~int(-1, ~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); {23939#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (<= 0 |main_~#Dest~0.offset|) (<= (+ |main_~#Weight~0.offset| 4) (+ (* 4 main_~j~0) |main_~#Dest~0.offset|)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#Weight~0.offset| |main_~#Dest~0.offset|) (= 4 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 8))) (<= |main_~#Dest~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (<= (+ (* 4 main_~j~0) |main_~#Dest~0.offset|) (+ |main_~#Weight~0.offset| 4)))} is VALID [2018-11-23 13:04:36,113 INFO L273 TraceCheckUtils]: 19: Hoare triple {23939#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (<= 0 |main_~#Dest~0.offset|) (<= (+ |main_~#Weight~0.offset| 4) (+ (* 4 main_~j~0) |main_~#Dest~0.offset|)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#Weight~0.offset| |main_~#Dest~0.offset|) (= 4 (select (select |#memory_int| |main_~#Dest~0.base|) (+ |main_~#Dest~0.offset| 8))) (<= |main_~#Dest~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (<= (+ (* 4 main_~j~0) |main_~#Dest~0.offset|) (+ |main_~#Weight~0.offset| 4)))} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {23940#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (<= 0 |main_~#Dest~0.offset|) (= 4 (select (select |#memory_int| |main_~#Dest~0.base|) (+ (* 4 main_~j~0) |main_~#Dest~0.offset|))) (= |main_~#Weight~0.offset| |main_~#Dest~0.offset|) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (<= |main_~#Dest~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (= (+ |main_~#Weight~0.offset| 8) (+ (* 4 main_~j~0) |main_~#Dest~0.offset|)) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)))} is VALID [2018-11-23 13:04:36,115 INFO L273 TraceCheckUtils]: 20: Hoare triple {23940#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (<= 0 |main_~#Dest~0.offset|) (= 4 (select (select |#memory_int| |main_~#Dest~0.base|) (+ (* 4 main_~j~0) |main_~#Dest~0.offset|))) (= |main_~#Weight~0.offset| |main_~#Dest~0.offset|) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (<= |main_~#Dest~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (= (+ |main_~#Weight~0.offset| 8) (+ (* 4 main_~j~0) |main_~#Dest~0.offset|)) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)))} assume !!(~j~0 < ~edgecount~0);call #t~mem6 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4);~x~0 := #t~mem6;havoc #t~mem6;call #t~mem7 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4);~y~0 := #t~mem7;havoc #t~mem7;call #t~mem10 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem8 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem9 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); {23941#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (<= 0 (select (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 main_~x~0)) (- 1)) 0)) (<= 0 |main_~#Dest~0.offset|) (<= |main_~#Dest~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)))} is VALID [2018-11-23 13:04:36,116 INFO L273 TraceCheckUtils]: 21: Hoare triple {23941#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (<= 0 (select (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 main_~x~0)) (- 1)) 0)) (<= 0 |main_~#Dest~0.offset|) (<= |main_~#Dest~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)))} assume #t~mem10 > #t~mem8 + #t~mem9;havoc #t~mem8;havoc #t~mem10;havoc #t~mem9;call write~int(-1, ~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); {23942#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (<= 0 |main_~#Dest~0.offset|) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (<= |main_~#Dest~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)))} is VALID [2018-11-23 13:04:36,117 INFO L273 TraceCheckUtils]: 22: Hoare triple {23942#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (<= 0 |main_~#Dest~0.offset|) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (<= |main_~#Dest~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)))} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {23942#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (<= 0 |main_~#Dest~0.offset|) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (<= |main_~#Dest~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)))} is VALID [2018-11-23 13:04:36,118 INFO L273 TraceCheckUtils]: 23: Hoare triple {23942#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (<= 0 |main_~#Dest~0.offset|) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (<= |main_~#Dest~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)))} assume !(~j~0 < ~edgecount~0); {23942#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (<= 0 |main_~#Dest~0.offset|) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (<= |main_~#Dest~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)))} is VALID [2018-11-23 13:04:36,119 INFO L273 TraceCheckUtils]: 24: Hoare triple {23942#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (<= 0 |main_~#Dest~0.offset|) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (<= |main_~#Dest~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {23942#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (<= 0 |main_~#Dest~0.offset|) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (<= |main_~#Dest~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)))} is VALID [2018-11-23 13:04:36,120 INFO L273 TraceCheckUtils]: 25: Hoare triple {23942#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (<= 0 |main_~#Dest~0.offset|) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (<= |main_~#Dest~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)))} assume !(~i~0 < ~nodecount~0); {23942#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (<= 0 |main_~#Dest~0.offset|) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (<= |main_~#Dest~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)))} is VALID [2018-11-23 13:04:36,120 INFO L273 TraceCheckUtils]: 26: Hoare triple {23942#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (<= 0 |main_~#Dest~0.offset|) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (<= |main_~#Dest~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)))} ~i~0 := 0; {23943#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (<= 0 |main_~#Dest~0.offset|) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (<= |main_~#Dest~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= main_~i~0 0))} is VALID [2018-11-23 13:04:36,122 INFO L273 TraceCheckUtils]: 27: Hoare triple {23943#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (<= 0 |main_~#Dest~0.offset|) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (<= |main_~#Dest~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= main_~i~0 0))} assume !!(~i~0 < ~edgecount~0);call #t~mem12 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~i~0, 4);~x~0 := #t~mem12;havoc #t~mem12;call #t~mem13 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~i~0, 4);~y~0 := #t~mem13;havoc #t~mem13;call #t~mem16 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem14 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem15 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~i~0, 4); {23943#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (<= 0 |main_~#Dest~0.offset|) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (<= |main_~#Dest~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= main_~i~0 0))} is VALID [2018-11-23 13:04:36,123 INFO L273 TraceCheckUtils]: 28: Hoare triple {23943#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (<= 0 |main_~#Dest~0.offset|) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (<= |main_~#Dest~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= main_~i~0 0))} assume !(#t~mem16 > #t~mem14 + #t~mem15);havoc #t~mem14;havoc #t~mem15;havoc #t~mem16; {23943#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (<= 0 |main_~#Dest~0.offset|) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (<= |main_~#Dest~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= main_~i~0 0))} is VALID [2018-11-23 13:04:36,124 INFO L273 TraceCheckUtils]: 29: Hoare triple {23943#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (<= 0 |main_~#Dest~0.offset|) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (<= |main_~#Dest~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= main_~i~0 0))} #t~post11 := ~i~0;~i~0 := 1 + #t~post11;havoc #t~post11; {23944#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= 4 (+ (* 4 main_~i~0) |main_~#Dest~0.offset|)))} is VALID [2018-11-23 13:04:36,125 INFO L273 TraceCheckUtils]: 30: Hoare triple {23944#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= 4 (+ (* 4 main_~i~0) |main_~#Dest~0.offset|)))} assume !!(~i~0 < ~edgecount~0);call #t~mem12 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~i~0, 4);~x~0 := #t~mem12;havoc #t~mem12;call #t~mem13 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~i~0, 4);~y~0 := #t~mem13;havoc #t~mem13;call #t~mem16 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem14 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem15 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~i~0, 4); {23944#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= 4 (+ (* 4 main_~i~0) |main_~#Dest~0.offset|)))} is VALID [2018-11-23 13:04:36,126 INFO L273 TraceCheckUtils]: 31: Hoare triple {23944#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= 4 (+ (* 4 main_~i~0) |main_~#Dest~0.offset|)))} assume !(#t~mem16 > #t~mem14 + #t~mem15);havoc #t~mem14;havoc #t~mem15;havoc #t~mem16; {23944#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= 4 (+ (* 4 main_~i~0) |main_~#Dest~0.offset|)))} is VALID [2018-11-23 13:04:36,127 INFO L273 TraceCheckUtils]: 32: Hoare triple {23944#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= 4 (+ (* 4 main_~i~0) |main_~#Dest~0.offset|)))} #t~post11 := ~i~0;~i~0 := 1 + #t~post11;havoc #t~post11; {23945#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)))} is VALID [2018-11-23 13:04:36,128 INFO L273 TraceCheckUtils]: 33: Hoare triple {23945#(and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)))} assume !!(~i~0 < ~edgecount~0);call #t~mem12 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~i~0, 4);~x~0 := #t~mem12;havoc #t~mem12;call #t~mem13 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~i~0, 4);~y~0 := #t~mem13;havoc #t~mem13;call #t~mem16 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem14 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem15 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~i~0, 4); {23946#(and (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:04:36,129 INFO L273 TraceCheckUtils]: 34: Hoare triple {23946#(and (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} assume !(#t~mem16 > #t~mem14 + #t~mem15);havoc #t~mem14;havoc #t~mem15;havoc #t~mem16; {23946#(and (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:04:36,129 INFO L273 TraceCheckUtils]: 35: Hoare triple {23946#(and (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} #t~post11 := ~i~0;~i~0 := 1 + #t~post11;havoc #t~post11; {23946#(and (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:04:36,130 INFO L273 TraceCheckUtils]: 36: Hoare triple {23946#(and (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} assume !(~i~0 < ~edgecount~0); {23946#(and (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} is VALID [2018-11-23 13:04:36,131 INFO L273 TraceCheckUtils]: 37: Hoare triple {23946#(and (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) 0)) (= |main_~#distance~0.offset| 0))} ~i~0 := 0; {23947#(and (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 main_~i~0) |main_~#distance~0.offset|))) (= |main_~#distance~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 13:04:36,132 INFO L273 TraceCheckUtils]: 38: Hoare triple {23947#(and (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 main_~i~0) |main_~#distance~0.offset|))) (= |main_~#distance~0.offset| 0) (= main_~i~0 0))} assume !!(~i~0 < ~nodecount~0);call #t~mem18 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {23948#(<= 0 |main_#t~mem18|)} is VALID [2018-11-23 13:04:36,133 INFO L256 TraceCheckUtils]: 39: Hoare triple {23948#(<= 0 |main_#t~mem18|)} call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); {23949#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 13:04:36,134 INFO L273 TraceCheckUtils]: 40: Hoare triple {23949#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {23950#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-23 13:04:36,134 INFO L273 TraceCheckUtils]: 41: Hoare triple {23950#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {23930#false} is VALID [2018-11-23 13:04:36,134 INFO L273 TraceCheckUtils]: 42: Hoare triple {23930#false} assume !false; {23930#false} is VALID [2018-11-23 13:04:36,147 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 0 proven. 26 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 13:04:36,147 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 13:04:36,147 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 15 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 15 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 13:04:36,156 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-23 13:04:36,527 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 5 check-sat command(s) [2018-11-23 13:04:36,527 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 13:04:36,544 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:04:36,546 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 13:04:36,583 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 25 [2018-11-23 13:04:36,604 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:04:36,606 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:04:36,607 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 38 [2018-11-23 13:04:36,653 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:04:36,655 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:04:36,657 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:04:36,658 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:04:36,659 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 21 [2018-11-23 13:04:36,662 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 13:04:36,673 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:04:36,683 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:04:36,710 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:04:36,710 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 3 variables, input treesize:60, output treesize:39 [2018-11-23 13:04:36,715 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 13:04:36,715 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#valid_27|, |main_~#Source~0.base|, |main_~#Weight~0.base|]. (let ((.cse0 (store (store |v_#valid_27| |main_~#Source~0.base| 1) |main_~#Dest~0.base| 1)) (.cse1 (select |#memory_int| |main_~#Dest~0.base|))) (and (= (select .cse0 |main_~#Weight~0.base|) 0) (= 0 |main_~#distance~0.offset|) (= 0 |main_~#Dest~0.offset|) (<= 3 (select .cse1 (+ |main_~#Dest~0.offset| 4))) (= 0 (select (store .cse0 |main_~#Weight~0.base| 1) |main_~#distance~0.base|)) (<= 1 (select .cse1 |main_~#Dest~0.offset|)) (<= 4 (select .cse1 (+ |main_~#Dest~0.offset| 8))) (= main_~i~0 0))) [2018-11-23 13:04:36,715 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse0 (select |#memory_int| |main_~#Dest~0.base|))) (and (= 0 |main_~#distance~0.offset|) (= 0 |main_~#Dest~0.offset|) (<= 3 (select .cse0 (+ |main_~#Dest~0.offset| 4))) (<= 1 (select .cse0 |main_~#Dest~0.offset|)) (<= 4 (select .cse0 (+ |main_~#Dest~0.offset| 8))) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= main_~i~0 0))) [2018-11-23 13:04:36,792 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:04:36,795 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 47 [2018-11-23 13:04:36,803 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 16 [2018-11-23 13:04:36,808 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 13:04:36,819 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:04:36,835 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:04:36,836 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:47, output treesize:39 [2018-11-23 13:04:37,066 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:04:37,068 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:04:37,072 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:04:37,076 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 59 treesize of output 77 [2018-11-23 13:04:37,087 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:04:37,091 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:04:37,104 INFO L478 Elim1Store]: Elim1 applied some preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 3 case distinctions, treesize of input 37 treesize of output 66 [2018-11-23 13:04:37,109 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 2 xjuncts. [2018-11-23 13:04:37,149 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:04:37,172 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 13:04:37,173 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:68, output treesize:64 [2018-11-23 13:04:37,180 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 13:04:37,180 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_25|, main_~x~0]. (let ((.cse0 (select |v_#memory_int_25| |main_~#distance~0.base|)) (.cse1 (select |v_#memory_int_25| |main_~#Dest~0.base|))) (and (= |#memory_int| (store |v_#memory_int_25| |main_~#distance~0.base| (store .cse0 (+ (* 4 main_~x~0) |main_~#distance~0.offset|) (- 1)))) (= 0 |main_~#distance~0.offset|) (= 0 |main_~#Dest~0.offset|) (<= (select .cse1 (+ (* 4 main_~j~0) |main_~#Dest~0.offset|)) main_~x~0) (<= 1 (select .cse1 |main_~#Dest~0.offset|)) (<= 4 (select .cse1 (+ |main_~#Dest~0.offset| 8))) (= main_~j~0 0) (= (select .cse0 |main_~#distance~0.offset|) 0) (<= 3 (select .cse1 (+ |main_~#Dest~0.offset| 4))))) [2018-11-23 13:04:37,180 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [main_~x~0]. (let ((.cse0 (select |#memory_int| |main_~#Dest~0.base|)) (.cse1 (select |#memory_int| |main_~#distance~0.base|))) (and (= 0 |main_~#distance~0.offset|) (= 0 |main_~#Dest~0.offset|) (<= 3 (select .cse0 (+ |main_~#Dest~0.offset| 4))) (<= 1 (select .cse0 |main_~#Dest~0.offset|)) (<= 4 (select .cse0 (+ |main_~#Dest~0.offset| 8))) (= (select .cse1 (+ (* 4 main_~x~0) |main_~#distance~0.offset|)) (- 1)) (= main_~j~0 0) (<= (select .cse0 (+ (* 4 main_~j~0) |main_~#Dest~0.offset|)) main_~x~0) (= (select .cse1 |main_~#distance~0.offset|) 0))) [2018-11-23 13:04:37,502 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:04:37,504 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:04:37,506 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:04:37,517 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 79 treesize of output 95 [2018-11-23 13:04:37,528 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:04:37,529 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:04:37,537 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:04:37,559 INFO L478 Elim1Store]: Elim1 applied some preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 2 new quantified variables, introduced 4 case distinctions, treesize of input 48 treesize of output 97 [2018-11-23 13:04:37,577 INFO L267 ElimStorePlain]: Start of recursive call 3: 2 dim-0 vars, End of recursive call: 2 dim-0 vars, and 4 xjuncts. [2018-11-23 13:04:37,704 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 4 xjuncts. [2018-11-23 13:04:37,841 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: 10 dim-0 vars, and 4 xjuncts. [2018-11-23 13:04:37,842 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:88, output treesize:384 [2018-11-23 13:04:40,379 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 13:04:40,380 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_26|, main_~x~0, v_prenex_24]. (let ((.cse1 (select |v_#memory_int_26| |main_~#Dest~0.base|))) (let ((.cse0 (select |v_#memory_int_26| |main_~#distance~0.base|)) (.cse2 (select .cse1 |main_~#Dest~0.offset|))) (and (= 0 |main_~#distance~0.offset|) (= 0 |main_~#Dest~0.offset|) (= (select .cse0 |main_~#distance~0.offset|) 0) (= (+ (select .cse0 (+ (* 4 v_prenex_24) |main_~#distance~0.offset|)) 1) 0) (= (store |v_#memory_int_26| |main_~#distance~0.base| (store .cse0 (+ (* 4 main_~x~0) |main_~#distance~0.offset|) (- 1))) |#memory_int|) (<= 3 (select .cse1 (+ |main_~#Dest~0.offset| 4))) (<= .cse2 v_prenex_24) (<= 1 .cse2) (= main_~j~0 1) (<= 4 (select .cse1 (+ |main_~#Dest~0.offset| 8))) (<= (select .cse1 (+ (* 4 main_~j~0) |main_~#Dest~0.offset|)) main_~x~0)))) [2018-11-23 13:04:40,380 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [v_prenex_28, v_prenex_29, v_antiDerIndex_7, v_prenex_31, v_prenex_30, v_prenex_26, v_prenex_25, v_prenex_27, main_~x~0, v_prenex_24]. (let ((.cse7 (select |#memory_int| |main_~#Dest~0.base|))) (let ((.cse3 (select |#memory_int| |main_~#distance~0.base|)) (.cse4 (select .cse7 |main_~#Dest~0.offset|))) (let ((.cse0 (= 0 |main_~#distance~0.offset|)) (.cse1 (= 0 |main_~#Dest~0.offset|)) (.cse2 (<= 3 (select .cse7 (+ |main_~#Dest~0.offset| 4)))) (.cse5 (<= 1 .cse4)) (.cse6 (<= 4 (select .cse7 (+ |main_~#Dest~0.offset| 8)))) (.cse9 (select .cse7 (+ (* 4 main_~j~0) |main_~#Dest~0.offset|))) (.cse10 (= (select .cse3 |main_~#distance~0.offset|) 0)) (.cse11 (= main_~j~0 1))) (or (let ((.cse8 (+ (* 4 v_prenex_31) |main_~#distance~0.offset|))) (and .cse0 .cse1 .cse2 (= (select .cse3 (+ (* 4 v_prenex_30) |main_~#distance~0.offset|)) (- 1)) (<= .cse4 v_prenex_30) .cse5 .cse6 (not (= 0 (+ (select .cse7 .cse8) 1))) (= (select .cse3 .cse8) (- 1)) (<= .cse9 v_prenex_31) .cse10 .cse11)) (and .cse0 .cse1 .cse2 (= (select .cse3 (+ (* 4 v_prenex_29) |main_~#distance~0.offset|)) (- 1)) (<= .cse4 v_prenex_29) .cse5 .cse6 (= (select .cse3 (+ (* 4 v_prenex_28) |main_~#distance~0.offset|)) (- 1)) (<= .cse9 v_prenex_28) (not (= (select .cse3 v_antiDerIndex_7) (select .cse7 v_antiDerIndex_7))) .cse11 .cse10) (let ((.cse12 (select .cse3 v_prenex_25))) (and .cse1 .cse5 (= (select .cse3 (+ (* 4 v_prenex_26) |main_~#distance~0.offset|)) (- 1)) (<= .cse9 v_prenex_26) (= (+ .cse12 1) 0) .cse11 .cse0 .cse2 (= (select .cse3 (+ (* 4 v_prenex_27) |main_~#distance~0.offset|)) (- 1)) (<= .cse4 v_prenex_27) .cse6 (not (= .cse12 (select .cse7 v_prenex_25))) .cse10)) (let ((.cse13 (* 4 v_prenex_24)) (.cse14 (* 4 main_~x~0))) (and .cse0 .cse1 .cse2 (= (select .cse3 (+ .cse13 |main_~#distance~0.offset|)) (- 1)) (<= .cse4 v_prenex_24) .cse5 .cse6 (= (select .cse3 (+ .cse14 |main_~#distance~0.offset|)) (- 1)) (<= .cse9 main_~x~0) (not (= .cse13 .cse14)) .cse10 .cse11)))))) [2018-11-23 13:04:40,691 WARN L180 SmtUtils]: Spent 120.00 ms on a formula simplification. DAG size of input: 125 DAG size of output: 48 [2018-11-23 13:04:41,062 WARN L180 SmtUtils]: Spent 258.00 ms on a formula simplification that was a NOOP. DAG size: 46 [2018-11-23 13:04:41,293 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:04:41,295 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:04:41,299 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:04:41,305 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 101 treesize of output 115 [2018-11-23 13:04:41,324 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:04:41,334 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:04:41,338 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:04:41,342 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:04:41,375 INFO L478 Elim1Store]: Elim1 applied some preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 5 disjoint index pairs (out of 6 index pairs), introduced 2 new quantified variables, introduced 5 case distinctions, treesize of input 59 treesize of output 128 [2018-11-23 13:04:41,395 INFO L267 ElimStorePlain]: Start of recursive call 3: 2 dim-0 vars, End of recursive call: 2 dim-0 vars, and 4 xjuncts. [2018-11-23 13:04:41,557 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 4 xjuncts. [2018-11-23 13:04:41,856 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-2 vars, End of recursive call: 14 dim-0 vars, and 4 xjuncts. [2018-11-23 13:04:41,856 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 4 variables, input treesize:110, output treesize:488 [2018-11-23 13:04:44,328 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 13:04:44,329 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_27|, main_~x~0, v_prenex_29, v_prenex_28]. (let ((.cse0 (select |v_#memory_int_27| |main_~#Dest~0.base|))) (let ((.cse2 (select |v_#memory_int_27| |main_~#distance~0.base|)) (.cse1 (select .cse0 |main_~#Dest~0.offset|)) (.cse3 (select .cse0 (+ |main_~#Dest~0.offset| 4)))) (and (= 0 |main_~#Dest~0.offset|) (<= (select .cse0 (+ (* 4 main_~j~0) |main_~#Dest~0.offset|)) main_~x~0) (= main_~j~0 2) (<= .cse1 v_prenex_29) (= (store |v_#memory_int_27| |main_~#distance~0.base| (store .cse2 (+ (* 4 main_~x~0) |main_~#distance~0.offset|) (- 1))) |#memory_int|) (= 0 (+ (select .cse2 (+ (* 4 v_prenex_28) |main_~#distance~0.offset|)) 1)) (<= 3 .cse3) (= 0 (select .cse2 |main_~#distance~0.offset|)) (= 0 |main_~#distance~0.offset|) (= 0 (+ (select .cse2 (+ (* 4 v_prenex_29) |main_~#distance~0.offset|)) 1)) (<= 1 .cse1) (<= 4 (select .cse0 (+ |main_~#Dest~0.offset| 8))) (<= .cse3 v_prenex_28)))) [2018-11-23 13:04:44,329 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [v_prenex_41, v_prenex_32, v_prenex_40, v_prenex_39, v_prenex_33, v_prenex_35, v_prenex_34, v_prenex_36, v_prenex_37, v_antiDerIndex_8, v_prenex_38, main_~x~0, v_prenex_28, v_prenex_29]. (let ((.cse4 (select |#memory_int| |main_~#Dest~0.base|))) (let ((.cse6 (select |#memory_int| |main_~#distance~0.base|)) (.cse2 (select .cse4 (+ |main_~#Dest~0.offset| 4))) (.cse10 (select .cse4 |main_~#Dest~0.offset|))) (let ((.cse0 (= 0 |main_~#Dest~0.offset|)) (.cse1 (= main_~j~0 2)) (.cse3 (<= 1 .cse10)) (.cse7 (select .cse4 (+ (* 4 main_~j~0) |main_~#Dest~0.offset|))) (.cse8 (= 0 |main_~#distance~0.offset|)) (.cse9 (<= 3 .cse2)) (.cse11 (<= 4 (select .cse4 (+ |main_~#Dest~0.offset| 8)))) (.cse12 (= (select .cse6 |main_~#distance~0.offset|) 0))) (or (let ((.cse5 (+ (* 4 v_prenex_33) |main_~#distance~0.offset|))) (and .cse0 .cse1 (<= .cse2 v_prenex_35) .cse3 (not (= 0 (+ (select .cse4 .cse5) 1))) (= (select .cse6 .cse5) (- 1)) (= (select .cse6 (+ (* 4 v_prenex_35) |main_~#distance~0.offset|)) (- 1)) (<= .cse7 v_prenex_33) .cse8 .cse9 (<= .cse10 v_prenex_34) (= (- 1) (select .cse6 (+ (* 4 v_prenex_34) |main_~#distance~0.offset|))) .cse11 .cse12)) (let ((.cse13 (select .cse6 v_prenex_32))) (and .cse0 .cse1 (= 0 (+ .cse13 1)) (<= .cse2 v_prenex_40) .cse3 (= (select .cse6 (+ (* 4 v_prenex_41) |main_~#distance~0.offset|)) (- 1)) (= (select .cse6 (+ (* 4 v_prenex_40) |main_~#distance~0.offset|)) (- 1)) (<= .cse7 v_prenex_41) .cse8 .cse9 (= (- 1) (select .cse6 (+ (* 4 v_prenex_39) |main_~#distance~0.offset|))) (<= .cse10 v_prenex_39) (not (= (select .cse4 v_prenex_32) .cse13)) .cse11 .cse12)) (let ((.cse15 (+ (* 4 v_prenex_38) |main_~#distance~0.offset|)) (.cse14 (+ (* 4 v_prenex_37) |main_~#distance~0.offset|))) (and .cse0 .cse1 (not (= .cse14 v_antiDerIndex_8)) (<= .cse2 v_prenex_38) (not (= v_antiDerIndex_8 .cse15)) .cse3 (= (select .cse6 (+ (* 4 v_prenex_36) |main_~#distance~0.offset|)) (- 1)) (= (select .cse6 .cse15) (- 1)) (<= .cse7 v_prenex_36) .cse8 .cse9 (= (- 1) (select .cse6 .cse14)) (<= .cse10 v_prenex_37) .cse11 (not (= (select .cse4 v_antiDerIndex_8) (select .cse6 v_antiDerIndex_8))) .cse12)) (let ((.cse18 (* 4 v_prenex_29)) (.cse16 (* 4 main_~x~0)) (.cse17 (* 4 v_prenex_28))) (and .cse0 .cse1 (<= .cse2 v_prenex_28) .cse3 (= (select .cse6 (+ .cse16 |main_~#distance~0.offset|)) (- 1)) (= (select .cse6 (+ .cse17 |main_~#distance~0.offset|)) (- 1)) (<= .cse7 main_~x~0) .cse8 (not (= .cse18 .cse16)) .cse9 (<= .cse10 v_prenex_29) (= (- 1) (select .cse6 (+ .cse18 |main_~#distance~0.offset|))) .cse11 .cse12 (not (= .cse16 .cse17))))))))