/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf -i ../../../trunk/examples/svcomp/loops/eureka_01-1.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-34549b5 [2022-04-08 03:34:56,497 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-08 03:34:56,498 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-08 03:34:56,540 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-08 03:34:56,541 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-08 03:34:56,542 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-08 03:34:56,544 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-08 03:34:56,547 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-08 03:34:56,548 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-08 03:34:56,552 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-08 03:34:56,553 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-08 03:34:56,554 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-08 03:34:56,554 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-08 03:34:56,556 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-08 03:34:56,557 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-08 03:34:56,559 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-08 03:34:56,560 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-08 03:34:56,560 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-08 03:34:56,562 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-08 03:34:56,567 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-08 03:34:56,569 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-08 03:34:56,570 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-08 03:34:56,570 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-08 03:34:56,571 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-08 03:34:56,573 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-08 03:34:56,578 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-08 03:34:56,578 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-08 03:34:56,579 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-08 03:34:56,579 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-08 03:34:56,580 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-08 03:34:56,581 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-08 03:34:56,581 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-08 03:34:56,583 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-08 03:34:56,583 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-08 03:34:56,584 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-08 03:34:56,584 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-08 03:34:56,584 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-08 03:34:56,585 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-08 03:34:56,585 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-08 03:34:56,585 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-08 03:34:56,586 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-08 03:34:56,588 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-08 03:34:56,589 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-08 03:34:56,597 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-08 03:34:56,598 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-08 03:34:56,598 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-08 03:34:56,599 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-08 03:34:56,599 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-08 03:34:56,599 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-08 03:34:56,599 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-08 03:34:56,599 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-08 03:34:56,599 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-08 03:34:56,599 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-08 03:34:56,600 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-08 03:34:56,600 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-08 03:34:56,600 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-08 03:34:56,600 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-08 03:34:56,600 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-08 03:34:56,600 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-08 03:34:56,600 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-08 03:34:56,600 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-08 03:34:56,601 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 03:34:56,601 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-08 03:34:56,601 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-08 03:34:56,601 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-08 03:34:56,601 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-08 03:34:56,601 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-08 03:34:56,601 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-08 03:34:56,601 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-08 03:34:56,805 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-08 03:34:56,821 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-08 03:34:56,823 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-08 03:34:56,824 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-08 03:34:56,824 INFO L275 PluginConnector]: CDTParser initialized [2022-04-08 03:34:56,825 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/loops/eureka_01-1.c [2022-04-08 03:34:56,878 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/100f0d552/f5fc061a1aaa49cbb1996305b4b8d13c/FLAG10bbdbc93 [2022-04-08 03:34:57,211 INFO L306 CDTParser]: Found 1 translation units. [2022-04-08 03:34:57,212 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/loops/eureka_01-1.c [2022-04-08 03:34:57,217 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/100f0d552/f5fc061a1aaa49cbb1996305b4b8d13c/FLAG10bbdbc93 [2022-04-08 03:34:57,635 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/100f0d552/f5fc061a1aaa49cbb1996305b4b8d13c [2022-04-08 03:34:57,638 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-08 03:34:57,639 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-08 03:34:57,642 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-08 03:34:57,642 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-08 03:34:57,645 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-08 03:34:57,646 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 03:34:57" (1/1) ... [2022-04-08 03:34:57,647 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@32d24ec4 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 03:34:57, skipping insertion in model container [2022-04-08 03:34:57,647 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 03:34:57" (1/1) ... [2022-04-08 03:34:57,653 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-08 03:34:57,668 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-08 03:34:57,805 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/loops/eureka_01-1.c[446,459] [2022-04-08 03:34:57,847 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 03:34:57,860 INFO L203 MainTranslator]: Completed pre-run [2022-04-08 03:34:57,877 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/loops/eureka_01-1.c[446,459] [2022-04-08 03:34:57,899 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 03:34:57,912 INFO L208 MainTranslator]: Completed translation [2022-04-08 03:34:57,912 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 03:34:57 WrapperNode [2022-04-08 03:34:57,912 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-08 03:34:57,913 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-08 03:34:57,913 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-08 03:34:57,913 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-08 03:34:57,923 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 03:34:57" (1/1) ... [2022-04-08 03:34:57,923 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 03:34:57" (1/1) ... [2022-04-08 03:34:57,930 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 03:34:57" (1/1) ... [2022-04-08 03:34:57,931 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 03:34:57" (1/1) ... [2022-04-08 03:34:57,966 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 03:34:57" (1/1) ... [2022-04-08 03:34:57,973 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 03:34:57" (1/1) ... [2022-04-08 03:34:57,978 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 03:34:57" (1/1) ... [2022-04-08 03:34:57,980 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-08 03:34:57,981 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-08 03:34:57,981 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-08 03:34:57,981 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-08 03:34:57,985 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 03:34:57" (1/1) ... [2022-04-08 03:34:57,991 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 03:34:58,002 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 03:34:58,024 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-08 03:34:58,031 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-08 03:34:58,053 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-08 03:34:58,053 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-08 03:34:58,053 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-08 03:34:58,053 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-08 03:34:58,053 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-08 03:34:58,054 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-08 03:34:58,054 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-08 03:34:58,054 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-08 03:34:58,054 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-08 03:34:58,054 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-08 03:34:58,054 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-08 03:34:58,054 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-08 03:34:58,054 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-08 03:34:58,055 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-08 03:34:58,055 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-04-08 03:34:58,055 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-08 03:34:58,055 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-08 03:34:58,055 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-08 03:34:58,055 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-08 03:34:58,055 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-08 03:34:58,055 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-08 03:34:58,114 INFO L234 CfgBuilder]: Building ICFG [2022-04-08 03:34:58,116 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-08 03:34:58,536 INFO L275 CfgBuilder]: Performing block encoding [2022-04-08 03:34:58,543 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-08 03:34:58,543 INFO L299 CfgBuilder]: Removed 5 assume(true) statements. [2022-04-08 03:34:58,545 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 03:34:58 BoogieIcfgContainer [2022-04-08 03:34:58,545 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-08 03:34:58,549 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-08 03:34:58,549 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-08 03:34:58,552 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-08 03:34:58,552 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 08.04 03:34:57" (1/3) ... [2022-04-08 03:34:58,553 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@231b0078 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 03:34:58, skipping insertion in model container [2022-04-08 03:34:58,553 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 03:34:57" (2/3) ... [2022-04-08 03:34:58,553 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@231b0078 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 03:34:58, skipping insertion in model container [2022-04-08 03:34:58,554 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 03:34:58" (3/3) ... [2022-04-08 03:34:58,555 INFO L111 eAbstractionObserver]: Analyzing ICFG eureka_01-1.c [2022-04-08 03:34:58,560 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-08 03:34:58,561 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-08 03:34:58,609 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-08 03:34:58,617 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP [2022-04-08 03:34:58,618 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-08 03:34:58,649 INFO L276 IsEmpty]: Start isEmpty. Operand has 37 states, 29 states have (on average 1.5862068965517242) internal successors, (46), 30 states have internal predecessors, (46), 3 states have call successors, (3), 3 states have call predecessors, (3), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 03:34:58,656 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2022-04-08 03:34:58,656 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 03:34:58,656 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 03:34:58,657 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 03:34:58,662 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 03:34:58,662 INFO L85 PathProgramCache]: Analyzing trace with hash -1703238628, now seen corresponding path program 1 times [2022-04-08 03:34:58,669 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 03:34:58,669 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [669771406] [2022-04-08 03:34:58,679 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 03:34:58,679 INFO L85 PathProgramCache]: Analyzing trace with hash -1703238628, now seen corresponding path program 2 times [2022-04-08 03:34:58,683 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 03:34:58,683 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1298336685] [2022-04-08 03:34:58,683 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 03:34:58,684 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 03:34:58,840 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:34:58,942 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 03:34:58,948 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:34:58,968 INFO L290 TraceCheckUtils]: 0: Hoare triple {45#(and (= |old(~INFINITY~0)| ~INFINITY~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3);~INFINITY~0 := 899; {40#true} is VALID [2022-04-08 03:34:58,968 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-08 03:34:58,968 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {40#true} {40#true} #123#return; {40#true} is VALID [2022-04-08 03:34:58,971 INFO L272 TraceCheckUtils]: 0: Hoare triple {40#true} call ULTIMATE.init(); {45#(and (= |old(~INFINITY~0)| ~INFINITY~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 03:34:58,971 INFO L290 TraceCheckUtils]: 1: Hoare triple {45#(and (= |old(~INFINITY~0)| ~INFINITY~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3);~INFINITY~0 := 899; {40#true} is VALID [2022-04-08 03:34:58,972 INFO L290 TraceCheckUtils]: 2: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-08 03:34:58,972 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40#true} {40#true} #123#return; {40#true} is VALID [2022-04-08 03:34:58,972 INFO L272 TraceCheckUtils]: 4: Hoare triple {40#true} call #t~ret22 := main(); {40#true} is VALID [2022-04-08 03:34:58,974 INFO L290 TraceCheckUtils]: 5: Hoare triple {40#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~nodecount~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~edgecount~0 := #t~nondet5;havoc #t~nondet5; {40#true} is VALID [2022-04-08 03:34:58,974 INFO L290 TraceCheckUtils]: 6: Hoare triple {40#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {40#true} is VALID [2022-04-08 03:34:58,979 INFO L290 TraceCheckUtils]: 7: Hoare triple {40#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.allocOnStack(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.allocOnStack(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.allocOnStack(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.allocOnStack(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {40#true} is VALID [2022-04-08 03:34:58,980 INFO L290 TraceCheckUtils]: 8: Hoare triple {40#true} assume !true; {41#false} is VALID [2022-04-08 03:34:58,981 INFO L290 TraceCheckUtils]: 9: Hoare triple {41#false} ~i~0 := 0; {41#false} is VALID [2022-04-08 03:34:58,981 INFO L290 TraceCheckUtils]: 10: Hoare triple {41#false} assume !true; {41#false} is VALID [2022-04-08 03:34:58,981 INFO L290 TraceCheckUtils]: 11: Hoare triple {41#false} ~i~0 := 0; {41#false} is VALID [2022-04-08 03:34:58,983 INFO L290 TraceCheckUtils]: 12: Hoare triple {41#false} assume !true; {41#false} is VALID [2022-04-08 03:34:58,983 INFO L290 TraceCheckUtils]: 13: Hoare triple {41#false} ~i~0 := 0; {41#false} is VALID [2022-04-08 03:34:58,984 INFO L290 TraceCheckUtils]: 14: Hoare triple {41#false} assume !!(~i~0 < ~nodecount~0);call #t~mem21 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {41#false} is VALID [2022-04-08 03:34:58,984 INFO L272 TraceCheckUtils]: 15: Hoare triple {41#false} call __VERIFIER_assert((if #t~mem21 >= 0 then 1 else 0)); {41#false} is VALID [2022-04-08 03:34:58,985 INFO L290 TraceCheckUtils]: 16: Hoare triple {41#false} ~cond := #in~cond; {41#false} is VALID [2022-04-08 03:34:58,985 INFO L290 TraceCheckUtils]: 17: Hoare triple {41#false} assume 0 == ~cond; {41#false} is VALID [2022-04-08 03:34:58,985 INFO L290 TraceCheckUtils]: 18: Hoare triple {41#false} assume !false; {41#false} is VALID [2022-04-08 03:34:58,986 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 03:34:58,986 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 03:34:58,986 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1298336685] [2022-04-08 03:34:58,987 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1298336685] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 03:34:58,987 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 03:34:58,987 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 03:34:58,989 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 03:34:58,990 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [669771406] [2022-04-08 03:34:58,990 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [669771406] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 03:34:58,990 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 03:34:58,991 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 03:34:58,991 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1140115536] [2022-04-08 03:34:58,991 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 03:34:58,995 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 5.0) internal successors, (15), 2 states have internal predecessors, (15), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 19 [2022-04-08 03:34:58,997 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 03:34:58,999 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 5.0) internal successors, (15), 2 states have internal predecessors, (15), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:34:59,031 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 19 edges. 19 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 03:34:59,032 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-08 03:34:59,032 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 03:34:59,053 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-08 03:34:59,054 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-08 03:34:59,057 INFO L87 Difference]: Start difference. First operand has 37 states, 29 states have (on average 1.5862068965517242) internal successors, (46), 30 states have internal predecessors, (46), 3 states have call successors, (3), 3 states have call predecessors, (3), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand has 3 states, 3 states have (on average 5.0) internal successors, (15), 2 states have internal predecessors, (15), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:34:59,185 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:34:59,186 INFO L93 Difference]: Finished difference Result 63 states and 89 transitions. [2022-04-08 03:34:59,186 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-08 03:34:59,187 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 5.0) internal successors, (15), 2 states have internal predecessors, (15), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 19 [2022-04-08 03:34:59,187 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 03:34:59,188 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 5.0) internal successors, (15), 2 states have internal predecessors, (15), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:34:59,202 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 89 transitions. [2022-04-08 03:34:59,203 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 5.0) internal successors, (15), 2 states have internal predecessors, (15), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:34:59,207 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 89 transitions. [2022-04-08 03:34:59,207 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 89 transitions. [2022-04-08 03:34:59,318 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 03:34:59,327 INFO L225 Difference]: With dead ends: 63 [2022-04-08 03:34:59,327 INFO L226 Difference]: Without dead ends: 32 [2022-04-08 03:34:59,331 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 4 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-08 03:34:59,336 INFO L913 BasicCegarLoop]: 44 mSDtfsCounter, 37 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 4 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 38 SdHoareTripleChecker+Valid, 47 SdHoareTripleChecker+Invalid, 6 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 4 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 03:34:59,337 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [38 Valid, 47 Invalid, 6 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 4 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 03:34:59,349 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2022-04-08 03:34:59,362 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 32. [2022-04-08 03:34:59,362 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 03:34:59,363 INFO L82 GeneralOperation]: Start isEquivalent. First operand 32 states. Second operand has 32 states, 26 states have (on average 1.2692307692307692) internal successors, (33), 26 states have internal predecessors, (33), 3 states have call successors, (3), 3 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-08 03:34:59,364 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand has 32 states, 26 states have (on average 1.2692307692307692) internal successors, (33), 26 states have internal predecessors, (33), 3 states have call successors, (3), 3 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-08 03:34:59,364 INFO L87 Difference]: Start difference. First operand 32 states. Second operand has 32 states, 26 states have (on average 1.2692307692307692) internal successors, (33), 26 states have internal predecessors, (33), 3 states have call successors, (3), 3 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-08 03:34:59,367 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:34:59,367 INFO L93 Difference]: Finished difference Result 32 states and 38 transitions. [2022-04-08 03:34:59,368 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 38 transitions. [2022-04-08 03:34:59,369 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:34:59,369 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:34:59,369 INFO L74 IsIncluded]: Start isIncluded. First operand has 32 states, 26 states have (on average 1.2692307692307692) internal successors, (33), 26 states have internal predecessors, (33), 3 states have call successors, (3), 3 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 32 states. [2022-04-08 03:34:59,370 INFO L87 Difference]: Start difference. First operand has 32 states, 26 states have (on average 1.2692307692307692) internal successors, (33), 26 states have internal predecessors, (33), 3 states have call successors, (3), 3 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 32 states. [2022-04-08 03:34:59,372 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:34:59,372 INFO L93 Difference]: Finished difference Result 32 states and 38 transitions. [2022-04-08 03:34:59,372 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 38 transitions. [2022-04-08 03:34:59,373 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:34:59,373 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:34:59,373 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 03:34:59,373 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 03:34:59,374 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 26 states have (on average 1.2692307692307692) internal successors, (33), 26 states have internal predecessors, (33), 3 states have call successors, (3), 3 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-08 03:34:59,375 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 38 transitions. [2022-04-08 03:34:59,376 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 38 transitions. Word has length 19 [2022-04-08 03:34:59,377 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 03:34:59,377 INFO L478 AbstractCegarLoop]: Abstraction has 32 states and 38 transitions. [2022-04-08 03:34:59,377 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 5.0) internal successors, (15), 2 states have internal predecessors, (15), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:34:59,386 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 38 transitions. [2022-04-08 03:34:59,478 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 03:34:59,479 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 38 transitions. [2022-04-08 03:34:59,479 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2022-04-08 03:34:59,479 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 03:34:59,480 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 03:34:59,480 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-08 03:34:59,480 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 03:34:59,481 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 03:34:59,481 INFO L85 PathProgramCache]: Analyzing trace with hash -779965392, now seen corresponding path program 1 times [2022-04-08 03:34:59,481 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 03:34:59,481 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2131241686] [2022-04-08 03:34:59,482 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 03:34:59,482 INFO L85 PathProgramCache]: Analyzing trace with hash -779965392, now seen corresponding path program 2 times [2022-04-08 03:34:59,482 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 03:34:59,483 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [847856444] [2022-04-08 03:34:59,483 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 03:34:59,483 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 03:34:59,561 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:34:59,630 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 03:34:59,635 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:34:59,644 INFO L290 TraceCheckUtils]: 0: Hoare triple {310#(and (= |old(~INFINITY~0)| ~INFINITY~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3);~INFINITY~0 := 899; {302#true} is VALID [2022-04-08 03:34:59,645 INFO L290 TraceCheckUtils]: 1: Hoare triple {302#true} assume true; {302#true} is VALID [2022-04-08 03:34:59,645 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {302#true} {302#true} #123#return; {302#true} is VALID [2022-04-08 03:34:59,646 INFO L272 TraceCheckUtils]: 0: Hoare triple {302#true} call ULTIMATE.init(); {310#(and (= |old(~INFINITY~0)| ~INFINITY~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 03:34:59,646 INFO L290 TraceCheckUtils]: 1: Hoare triple {310#(and (= |old(~INFINITY~0)| ~INFINITY~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3);~INFINITY~0 := 899; {302#true} is VALID [2022-04-08 03:34:59,646 INFO L290 TraceCheckUtils]: 2: Hoare triple {302#true} assume true; {302#true} is VALID [2022-04-08 03:34:59,646 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {302#true} {302#true} #123#return; {302#true} is VALID [2022-04-08 03:34:59,647 INFO L272 TraceCheckUtils]: 4: Hoare triple {302#true} call #t~ret22 := main(); {302#true} is VALID [2022-04-08 03:34:59,647 INFO L290 TraceCheckUtils]: 5: Hoare triple {302#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~nodecount~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~edgecount~0 := #t~nondet5;havoc #t~nondet5; {302#true} is VALID [2022-04-08 03:34:59,647 INFO L290 TraceCheckUtils]: 6: Hoare triple {302#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {302#true} is VALID [2022-04-08 03:34:59,647 INFO L290 TraceCheckUtils]: 7: Hoare triple {302#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.allocOnStack(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.allocOnStack(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.allocOnStack(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.allocOnStack(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {307#(= main_~i~0 0)} is VALID [2022-04-08 03:34:59,648 INFO L290 TraceCheckUtils]: 8: Hoare triple {307#(= main_~i~0 0)} assume !(~i~0 < ~nodecount~0); {308#(<= main_~nodecount~0 0)} is VALID [2022-04-08 03:34:59,648 INFO L290 TraceCheckUtils]: 9: Hoare triple {308#(<= main_~nodecount~0 0)} ~i~0 := 0; {308#(<= main_~nodecount~0 0)} is VALID [2022-04-08 03:34:59,649 INFO L290 TraceCheckUtils]: 10: Hoare triple {308#(<= main_~nodecount~0 0)} assume !(~i~0 < ~nodecount~0); {308#(<= main_~nodecount~0 0)} is VALID [2022-04-08 03:34:59,650 INFO L290 TraceCheckUtils]: 11: Hoare triple {308#(<= main_~nodecount~0 0)} ~i~0 := 0; {308#(<= main_~nodecount~0 0)} is VALID [2022-04-08 03:34:59,650 INFO L290 TraceCheckUtils]: 12: Hoare triple {308#(<= main_~nodecount~0 0)} assume !(~i~0 < ~edgecount~0); {308#(<= main_~nodecount~0 0)} is VALID [2022-04-08 03:34:59,651 INFO L290 TraceCheckUtils]: 13: Hoare triple {308#(<= main_~nodecount~0 0)} ~i~0 := 0; {309#(and (<= main_~nodecount~0 0) (= main_~i~0 0))} is VALID [2022-04-08 03:34:59,651 INFO L290 TraceCheckUtils]: 14: Hoare triple {309#(and (<= main_~nodecount~0 0) (= main_~i~0 0))} assume !!(~i~0 < ~nodecount~0);call #t~mem21 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {303#false} is VALID [2022-04-08 03:34:59,652 INFO L272 TraceCheckUtils]: 15: Hoare triple {303#false} call __VERIFIER_assert((if #t~mem21 >= 0 then 1 else 0)); {303#false} is VALID [2022-04-08 03:34:59,653 INFO L290 TraceCheckUtils]: 16: Hoare triple {303#false} ~cond := #in~cond; {303#false} is VALID [2022-04-08 03:34:59,653 INFO L290 TraceCheckUtils]: 17: Hoare triple {303#false} assume 0 == ~cond; {303#false} is VALID [2022-04-08 03:34:59,653 INFO L290 TraceCheckUtils]: 18: Hoare triple {303#false} assume !false; {303#false} is VALID [2022-04-08 03:34:59,653 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 03:34:59,654 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 03:34:59,657 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [847856444] [2022-04-08 03:34:59,657 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [847856444] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 03:34:59,657 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 03:34:59,657 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 03:34:59,657 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 03:34:59,658 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2131241686] [2022-04-08 03:34:59,658 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2131241686] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 03:34:59,658 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 03:34:59,658 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 03:34:59,658 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1589752348] [2022-04-08 03:34:59,658 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 03:34:59,659 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 5 states have internal predecessors, (15), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 19 [2022-04-08 03:34:59,659 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 03:34:59,659 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.5) internal successors, (15), 5 states have internal predecessors, (15), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:34:59,680 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 19 edges. 19 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 03:34:59,680 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 03:34:59,680 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 03:34:59,681 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 03:34:59,681 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-08 03:34:59,681 INFO L87 Difference]: Start difference. First operand 32 states and 38 transitions. Second operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 5 states have internal predecessors, (15), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:35:00,011 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:00,012 INFO L93 Difference]: Finished difference Result 80 states and 100 transitions. [2022-04-08 03:35:00,012 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 03:35:00,012 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 5 states have internal predecessors, (15), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 19 [2022-04-08 03:35:00,012 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 03:35:00,012 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 5 states have internal predecessors, (15), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:35:00,015 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 100 transitions. [2022-04-08 03:35:00,016 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 5 states have internal predecessors, (15), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:35:00,018 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 100 transitions. [2022-04-08 03:35:00,018 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 100 transitions. [2022-04-08 03:35:00,112 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 100 edges. 100 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 03:35:00,113 INFO L225 Difference]: With dead ends: 80 [2022-04-08 03:35:00,114 INFO L226 Difference]: Without dead ends: 48 [2022-04-08 03:35:00,114 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=27, Invalid=45, Unknown=0, NotChecked=0, Total=72 [2022-04-08 03:35:00,115 INFO L913 BasicCegarLoop]: 24 mSDtfsCounter, 85 mSDsluCounter, 12 mSDsCounter, 0 mSdLazyCounter, 83 mSolverCounterSat, 23 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 86 SdHoareTripleChecker+Valid, 36 SdHoareTripleChecker+Invalid, 106 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 23 IncrementalHoareTripleChecker+Valid, 83 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 03:35:00,116 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [86 Valid, 36 Invalid, 106 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [23 Valid, 83 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 03:35:00,117 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2022-04-08 03:35:00,122 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 34. [2022-04-08 03:35:00,122 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 03:35:00,123 INFO L82 GeneralOperation]: Start isEquivalent. First operand 48 states. Second operand has 34 states, 28 states have (on average 1.25) internal successors, (35), 28 states have internal predecessors, (35), 3 states have call successors, (3), 3 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-08 03:35:00,123 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand has 34 states, 28 states have (on average 1.25) internal successors, (35), 28 states have internal predecessors, (35), 3 states have call successors, (3), 3 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-08 03:35:00,123 INFO L87 Difference]: Start difference. First operand 48 states. Second operand has 34 states, 28 states have (on average 1.25) internal successors, (35), 28 states have internal predecessors, (35), 3 states have call successors, (3), 3 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-08 03:35:00,126 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:00,127 INFO L93 Difference]: Finished difference Result 48 states and 59 transitions. [2022-04-08 03:35:00,127 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 59 transitions. [2022-04-08 03:35:00,127 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:00,127 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:00,128 INFO L74 IsIncluded]: Start isIncluded. First operand has 34 states, 28 states have (on average 1.25) internal successors, (35), 28 states have internal predecessors, (35), 3 states have call successors, (3), 3 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 48 states. [2022-04-08 03:35:00,128 INFO L87 Difference]: Start difference. First operand has 34 states, 28 states have (on average 1.25) internal successors, (35), 28 states have internal predecessors, (35), 3 states have call successors, (3), 3 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 48 states. [2022-04-08 03:35:00,130 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:00,131 INFO L93 Difference]: Finished difference Result 48 states and 59 transitions. [2022-04-08 03:35:00,131 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 59 transitions. [2022-04-08 03:35:00,131 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:00,131 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:00,131 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 03:35:00,131 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 03:35:00,132 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 28 states have (on average 1.25) internal successors, (35), 28 states have internal predecessors, (35), 3 states have call successors, (3), 3 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-08 03:35:00,133 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 40 transitions. [2022-04-08 03:35:00,133 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 40 transitions. Word has length 19 [2022-04-08 03:35:00,133 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 03:35:00,134 INFO L478 AbstractCegarLoop]: Abstraction has 34 states and 40 transitions. [2022-04-08 03:35:00,134 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 5 states have internal predecessors, (15), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:35:00,134 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 40 transitions. [2022-04-08 03:35:00,190 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 03:35:00,191 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 40 transitions. [2022-04-08 03:35:00,196 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2022-04-08 03:35:00,196 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 03:35:00,196 INFO L499 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] [2022-04-08 03:35:00,196 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-08 03:35:00,197 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 03:35:00,197 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 03:35:00,198 INFO L85 PathProgramCache]: Analyzing trace with hash 470194446, now seen corresponding path program 1 times [2022-04-08 03:35:00,198 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:00,202 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1787049258] [2022-04-08 03:35:00,218 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 03:35:00,219 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 03:35:00,219 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 03:35:00,219 INFO L85 PathProgramCache]: Analyzing trace with hash 470194446, now seen corresponding path program 2 times [2022-04-08 03:35:00,219 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 03:35:00,219 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [446620612] [2022-04-08 03:35:00,219 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 03:35:00,220 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 03:35:00,297 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:00,461 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 03:35:00,463 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:00,466 INFO L290 TraceCheckUtils]: 0: Hoare triple {654#(and (= |old(~INFINITY~0)| ~INFINITY~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3);~INFINITY~0 := 899; {643#true} is VALID [2022-04-08 03:35:00,466 INFO L290 TraceCheckUtils]: 1: Hoare triple {643#true} assume true; {643#true} is VALID [2022-04-08 03:35:00,467 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {643#true} {643#true} #123#return; {643#true} is VALID [2022-04-08 03:35:00,467 INFO L272 TraceCheckUtils]: 0: Hoare triple {643#true} call ULTIMATE.init(); {654#(and (= |old(~INFINITY~0)| ~INFINITY~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 03:35:00,468 INFO L290 TraceCheckUtils]: 1: Hoare triple {654#(and (= |old(~INFINITY~0)| ~INFINITY~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3);~INFINITY~0 := 899; {643#true} is VALID [2022-04-08 03:35:00,468 INFO L290 TraceCheckUtils]: 2: Hoare triple {643#true} assume true; {643#true} is VALID [2022-04-08 03:35:00,468 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {643#true} {643#true} #123#return; {643#true} is VALID [2022-04-08 03:35:00,468 INFO L272 TraceCheckUtils]: 4: Hoare triple {643#true} call #t~ret22 := main(); {643#true} is VALID [2022-04-08 03:35:00,468 INFO L290 TraceCheckUtils]: 5: Hoare triple {643#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~nodecount~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~edgecount~0 := #t~nondet5;havoc #t~nondet5; {643#true} is VALID [2022-04-08 03:35:00,468 INFO L290 TraceCheckUtils]: 6: Hoare triple {643#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {643#true} is VALID [2022-04-08 03:35:00,471 INFO L290 TraceCheckUtils]: 7: Hoare triple {643#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.allocOnStack(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.allocOnStack(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.allocOnStack(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.allocOnStack(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {648#(and (= |main_~#distance~0.offset| 0) (= main_~i~0 0))} is VALID [2022-04-08 03:35:00,472 INFO L290 TraceCheckUtils]: 8: Hoare triple {648#(and (= |main_~#distance~0.offset| 0) (= main_~i~0 0))} assume !!(~i~0 < ~nodecount~0); {648#(and (= |main_~#distance~0.offset| 0) (= main_~i~0 0))} is VALID [2022-04-08 03:35:00,472 INFO L290 TraceCheckUtils]: 9: Hoare triple {648#(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); {649#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4))) 0) (= main_~i~0 0))} is VALID [2022-04-08 03:35:00,473 INFO L290 TraceCheckUtils]: 10: Hoare triple {649#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4))) 0) (= main_~i~0 0))} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {650#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} is VALID [2022-04-08 03:35:00,473 INFO L290 TraceCheckUtils]: 11: Hoare triple {650#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} assume !(~i~0 < ~nodecount~0); {650#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} is VALID [2022-04-08 03:35:00,474 INFO L290 TraceCheckUtils]: 12: Hoare triple {650#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} ~i~0 := 0; {650#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} is VALID [2022-04-08 03:35:00,475 INFO L290 TraceCheckUtils]: 13: Hoare triple {650#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {650#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} is VALID [2022-04-08 03:35:00,475 INFO L290 TraceCheckUtils]: 14: Hoare triple {650#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} assume !(~j~0 < ~edgecount~0); {650#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} is VALID [2022-04-08 03:35:00,476 INFO L290 TraceCheckUtils]: 15: Hoare triple {650#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {650#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} is VALID [2022-04-08 03:35:00,476 INFO L290 TraceCheckUtils]: 16: Hoare triple {650#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} assume !(~i~0 < ~nodecount~0); {650#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} is VALID [2022-04-08 03:35:00,477 INFO L290 TraceCheckUtils]: 17: Hoare triple {650#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} ~i~0 := 0; {650#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} is VALID [2022-04-08 03:35:00,477 INFO L290 TraceCheckUtils]: 18: Hoare triple {650#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} assume !(~i~0 < ~edgecount~0); {650#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} is VALID [2022-04-08 03:35:00,478 INFO L290 TraceCheckUtils]: 19: Hoare triple {650#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} ~i~0 := 0; {649#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4))) 0) (= main_~i~0 0))} is VALID [2022-04-08 03:35:00,478 INFO L290 TraceCheckUtils]: 20: Hoare triple {649#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4))) 0) (= main_~i~0 0))} assume !!(~i~0 < ~nodecount~0);call #t~mem21 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {651#(= |main_#t~mem21| 0)} is VALID [2022-04-08 03:35:00,479 INFO L272 TraceCheckUtils]: 21: Hoare triple {651#(= |main_#t~mem21| 0)} call __VERIFIER_assert((if #t~mem21 >= 0 then 1 else 0)); {652#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 03:35:00,479 INFO L290 TraceCheckUtils]: 22: Hoare triple {652#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {653#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 03:35:00,480 INFO L290 TraceCheckUtils]: 23: Hoare triple {653#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {644#false} is VALID [2022-04-08 03:35:00,480 INFO L290 TraceCheckUtils]: 24: Hoare triple {644#false} assume !false; {644#false} is VALID [2022-04-08 03:35:00,480 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-08 03:35:00,481 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 03:35:00,481 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [446620612] [2022-04-08 03:35:00,481 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [446620612] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 03:35:00,481 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1465286683] [2022-04-08 03:35:00,481 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 03:35:00,481 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 03:35:00,482 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 03:35:00,487 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 03:35:00,492 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-08 03:35:00,576 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 03:35:00,577 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 03:35:00,579 INFO L263 TraceCheckSpWp]: Trace formula consists of 275 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-08 03:35:00,590 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:00,594 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 03:35:00,754 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2022-04-08 03:35:00,934 INFO L390 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 7 [2022-04-08 03:35:01,024 INFO L272 TraceCheckUtils]: 0: Hoare triple {643#true} call ULTIMATE.init(); {643#true} is VALID [2022-04-08 03:35:01,025 INFO L290 TraceCheckUtils]: 1: Hoare triple {643#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3);~INFINITY~0 := 899; {643#true} is VALID [2022-04-08 03:35:01,025 INFO L290 TraceCheckUtils]: 2: Hoare triple {643#true} assume true; {643#true} is VALID [2022-04-08 03:35:01,025 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {643#true} {643#true} #123#return; {643#true} is VALID [2022-04-08 03:35:01,025 INFO L272 TraceCheckUtils]: 4: Hoare triple {643#true} call #t~ret22 := main(); {643#true} is VALID [2022-04-08 03:35:01,025 INFO L290 TraceCheckUtils]: 5: Hoare triple {643#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~nodecount~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~edgecount~0 := #t~nondet5;havoc #t~nondet5; {643#true} is VALID [2022-04-08 03:35:01,025 INFO L290 TraceCheckUtils]: 6: Hoare triple {643#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {643#true} is VALID [2022-04-08 03:35:01,033 INFO L290 TraceCheckUtils]: 7: Hoare triple {643#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.allocOnStack(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.allocOnStack(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.allocOnStack(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.allocOnStack(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {648#(and (= |main_~#distance~0.offset| 0) (= main_~i~0 0))} is VALID [2022-04-08 03:35:01,033 INFO L290 TraceCheckUtils]: 8: Hoare triple {648#(and (= |main_~#distance~0.offset| 0) (= main_~i~0 0))} assume !!(~i~0 < ~nodecount~0); {648#(and (= |main_~#distance~0.offset| 0) (= main_~i~0 0))} is VALID [2022-04-08 03:35:01,034 INFO L290 TraceCheckUtils]: 9: Hoare triple {648#(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); {685#(and (= |main_~#distance~0.offset| 0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:01,035 INFO L290 TraceCheckUtils]: 10: Hoare triple {685#(and (= |main_~#distance~0.offset| 0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {685#(and (= |main_~#distance~0.offset| 0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:01,035 INFO L290 TraceCheckUtils]: 11: Hoare triple {685#(and (= |main_~#distance~0.offset| 0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} assume !(~i~0 < ~nodecount~0); {685#(and (= |main_~#distance~0.offset| 0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:01,036 INFO L290 TraceCheckUtils]: 12: Hoare triple {685#(and (= |main_~#distance~0.offset| 0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} ~i~0 := 0; {685#(and (= |main_~#distance~0.offset| 0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:01,036 INFO L290 TraceCheckUtils]: 13: Hoare triple {685#(and (= |main_~#distance~0.offset| 0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {685#(and (= |main_~#distance~0.offset| 0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:01,037 INFO L290 TraceCheckUtils]: 14: Hoare triple {685#(and (= |main_~#distance~0.offset| 0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} assume !(~j~0 < ~edgecount~0); {685#(and (= |main_~#distance~0.offset| 0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:01,038 INFO L290 TraceCheckUtils]: 15: Hoare triple {685#(and (= |main_~#distance~0.offset| 0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {685#(and (= |main_~#distance~0.offset| 0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:01,038 INFO L290 TraceCheckUtils]: 16: Hoare triple {685#(and (= |main_~#distance~0.offset| 0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} assume !(~i~0 < ~nodecount~0); {685#(and (= |main_~#distance~0.offset| 0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:01,039 INFO L290 TraceCheckUtils]: 17: Hoare triple {685#(and (= |main_~#distance~0.offset| 0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} ~i~0 := 0; {685#(and (= |main_~#distance~0.offset| 0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:01,039 INFO L290 TraceCheckUtils]: 18: Hoare triple {685#(and (= |main_~#distance~0.offset| 0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} assume !(~i~0 < ~edgecount~0); {685#(and (= |main_~#distance~0.offset| 0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:01,055 INFO L290 TraceCheckUtils]: 19: Hoare triple {685#(and (= |main_~#distance~0.offset| 0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} ~i~0 := 0; {716#(and (= |main_~#distance~0.offset| 0) (= main_~i~0 0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:01,056 INFO L290 TraceCheckUtils]: 20: Hoare triple {716#(and (= |main_~#distance~0.offset| 0) (= main_~i~0 0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} assume !!(~i~0 < ~nodecount~0);call #t~mem21 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {720#(<= 0 |main_#t~mem21|)} is VALID [2022-04-08 03:35:01,057 INFO L272 TraceCheckUtils]: 21: Hoare triple {720#(<= 0 |main_#t~mem21|)} call __VERIFIER_assert((if #t~mem21 >= 0 then 1 else 0)); {724#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 03:35:01,057 INFO L290 TraceCheckUtils]: 22: Hoare triple {724#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {728#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 03:35:01,058 INFO L290 TraceCheckUtils]: 23: Hoare triple {728#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {644#false} is VALID [2022-04-08 03:35:01,058 INFO L290 TraceCheckUtils]: 24: Hoare triple {644#false} assume !false; {644#false} is VALID [2022-04-08 03:35:01,058 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-08 03:35:01,059 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 03:35:01,295 INFO L390 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 14 treesize of output 12 [2022-04-08 03:35:01,309 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 24 [2022-04-08 03:35:01,356 INFO L290 TraceCheckUtils]: 24: Hoare triple {644#false} assume !false; {644#false} is VALID [2022-04-08 03:35:01,357 INFO L290 TraceCheckUtils]: 23: Hoare triple {728#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {644#false} is VALID [2022-04-08 03:35:01,357 INFO L290 TraceCheckUtils]: 22: Hoare triple {724#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {728#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 03:35:01,358 INFO L272 TraceCheckUtils]: 21: Hoare triple {720#(<= 0 |main_#t~mem21|)} call __VERIFIER_assert((if #t~mem21 >= 0 then 1 else 0)); {724#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 03:35:01,358 INFO L290 TraceCheckUtils]: 20: Hoare triple {747#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4))))} assume !!(~i~0 < ~nodecount~0);call #t~mem21 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {720#(<= 0 |main_#t~mem21|)} is VALID [2022-04-08 03:35:01,359 INFO L290 TraceCheckUtils]: 19: Hoare triple {751#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} ~i~0 := 0; {747#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4))))} is VALID [2022-04-08 03:35:01,359 INFO L290 TraceCheckUtils]: 18: Hoare triple {751#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} assume !(~i~0 < ~edgecount~0); {751#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} is VALID [2022-04-08 03:35:01,361 INFO L290 TraceCheckUtils]: 17: Hoare triple {751#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} ~i~0 := 0; {751#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} is VALID [2022-04-08 03:35:01,362 INFO L290 TraceCheckUtils]: 16: Hoare triple {751#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} assume !(~i~0 < ~nodecount~0); {751#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} is VALID [2022-04-08 03:35:01,362 INFO L290 TraceCheckUtils]: 15: Hoare triple {751#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {751#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} is VALID [2022-04-08 03:35:01,362 INFO L290 TraceCheckUtils]: 14: Hoare triple {751#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} assume !(~j~0 < ~edgecount~0); {751#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} is VALID [2022-04-08 03:35:01,363 INFO L290 TraceCheckUtils]: 13: Hoare triple {751#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {751#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} is VALID [2022-04-08 03:35:01,363 INFO L290 TraceCheckUtils]: 12: Hoare triple {751#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} ~i~0 := 0; {751#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} is VALID [2022-04-08 03:35:01,364 INFO L290 TraceCheckUtils]: 11: Hoare triple {751#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} assume !(~i~0 < ~nodecount~0); {751#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} is VALID [2022-04-08 03:35:01,364 INFO L290 TraceCheckUtils]: 10: Hoare triple {751#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {751#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} is VALID [2022-04-08 03:35:01,365 INFO L290 TraceCheckUtils]: 9: Hoare triple {782#(= 0 (* main_~i~0 4))} assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {751#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} is VALID [2022-04-08 03:35:01,366 INFO L290 TraceCheckUtils]: 8: Hoare triple {782#(= 0 (* main_~i~0 4))} assume !!(~i~0 < ~nodecount~0); {782#(= 0 (* main_~i~0 4))} is VALID [2022-04-08 03:35:01,368 INFO L290 TraceCheckUtils]: 7: Hoare triple {643#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.allocOnStack(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.allocOnStack(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.allocOnStack(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.allocOnStack(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {782#(= 0 (* main_~i~0 4))} is VALID [2022-04-08 03:35:01,368 INFO L290 TraceCheckUtils]: 6: Hoare triple {643#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {643#true} is VALID [2022-04-08 03:35:01,368 INFO L290 TraceCheckUtils]: 5: Hoare triple {643#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~nodecount~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~edgecount~0 := #t~nondet5;havoc #t~nondet5; {643#true} is VALID [2022-04-08 03:35:01,368 INFO L272 TraceCheckUtils]: 4: Hoare triple {643#true} call #t~ret22 := main(); {643#true} is VALID [2022-04-08 03:35:01,368 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {643#true} {643#true} #123#return; {643#true} is VALID [2022-04-08 03:35:01,369 INFO L290 TraceCheckUtils]: 2: Hoare triple {643#true} assume true; {643#true} is VALID [2022-04-08 03:35:01,369 INFO L290 TraceCheckUtils]: 1: Hoare triple {643#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3);~INFINITY~0 := 899; {643#true} is VALID [2022-04-08 03:35:01,369 INFO L272 TraceCheckUtils]: 0: Hoare triple {643#true} call ULTIMATE.init(); {643#true} is VALID [2022-04-08 03:35:01,369 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-08 03:35:01,369 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1465286683] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 03:35:01,370 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 03:35:01,370 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8, 8] total 17 [2022-04-08 03:35:01,370 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 03:35:01,370 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1787049258] [2022-04-08 03:35:01,370 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1787049258] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 03:35:01,371 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 03:35:01,371 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 03:35:01,371 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [513933065] [2022-04-08 03:35:01,371 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 03:35:01,371 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 25 [2022-04-08 03:35:01,371 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 03:35:01,372 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:35:01,400 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 03:35:01,400 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 03:35:01,400 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:01,400 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 03:35:01,401 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=222, Unknown=0, NotChecked=0, Total=272 [2022-04-08 03:35:01,401 INFO L87 Difference]: Start difference. First operand 34 states and 40 transitions. Second operand has 9 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:35:02,100 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:02,101 INFO L93 Difference]: Finished difference Result 78 states and 97 transitions. [2022-04-08 03:35:02,101 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 03:35:02,101 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 25 [2022-04-08 03:35:02,101 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 03:35:02,101 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:35:02,104 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 96 transitions. [2022-04-08 03:35:02,104 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:35:02,107 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 96 transitions. [2022-04-08 03:35:02,107 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 96 transitions. [2022-04-08 03:35:02,203 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 96 edges. 96 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 03:35:02,206 INFO L225 Difference]: With dead ends: 78 [2022-04-08 03:35:02,206 INFO L226 Difference]: Without dead ends: 76 [2022-04-08 03:35:02,206 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 67 GetRequests, 44 SyntacticMatches, 1 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 93 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=105, Invalid=447, Unknown=0, NotChecked=0, Total=552 [2022-04-08 03:35:02,207 INFO L913 BasicCegarLoop]: 24 mSDtfsCounter, 90 mSDsluCounter, 30 mSDsCounter, 0 mSdLazyCounter, 270 mSolverCounterSat, 26 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 91 SdHoareTripleChecker+Valid, 54 SdHoareTripleChecker+Invalid, 296 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 26 IncrementalHoareTripleChecker+Valid, 270 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-08 03:35:02,207 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [91 Valid, 54 Invalid, 296 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [26 Valid, 270 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-08 03:35:02,208 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 76 states. [2022-04-08 03:35:02,217 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 76 to 55. [2022-04-08 03:35:02,217 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 03:35:02,218 INFO L82 GeneralOperation]: Start isEquivalent. First operand 76 states. Second operand has 55 states, 47 states have (on average 1.2765957446808511) internal successors, (60), 48 states have internal predecessors, (60), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 03:35:02,218 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand has 55 states, 47 states have (on average 1.2765957446808511) internal successors, (60), 48 states have internal predecessors, (60), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 03:35:02,219 INFO L87 Difference]: Start difference. First operand 76 states. Second operand has 55 states, 47 states have (on average 1.2765957446808511) internal successors, (60), 48 states have internal predecessors, (60), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 03:35:02,222 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:02,222 INFO L93 Difference]: Finished difference Result 76 states and 95 transitions. [2022-04-08 03:35:02,222 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 95 transitions. [2022-04-08 03:35:02,222 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:02,223 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:02,223 INFO L74 IsIncluded]: Start isIncluded. First operand has 55 states, 47 states have (on average 1.2765957446808511) internal successors, (60), 48 states have internal predecessors, (60), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Second operand 76 states. [2022-04-08 03:35:02,223 INFO L87 Difference]: Start difference. First operand has 55 states, 47 states have (on average 1.2765957446808511) internal successors, (60), 48 states have internal predecessors, (60), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Second operand 76 states. [2022-04-08 03:35:02,226 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:02,226 INFO L93 Difference]: Finished difference Result 76 states and 95 transitions. [2022-04-08 03:35:02,227 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 95 transitions. [2022-04-08 03:35:02,227 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:02,227 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:02,227 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 03:35:02,227 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 03:35:02,228 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 55 states, 47 states have (on average 1.2765957446808511) internal successors, (60), 48 states have internal predecessors, (60), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 03:35:02,229 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 67 transitions. [2022-04-08 03:35:02,230 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 67 transitions. Word has length 25 [2022-04-08 03:35:02,230 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 03:35:02,230 INFO L478 AbstractCegarLoop]: Abstraction has 55 states and 67 transitions. [2022-04-08 03:35:02,230 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:35:02,230 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 55 states and 67 transitions. [2022-04-08 03:35:02,301 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 03:35:02,302 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 67 transitions. [2022-04-08 03:35:02,302 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2022-04-08 03:35:02,303 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 03:35:02,303 INFO L499 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] [2022-04-08 03:35:02,330 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-08 03:35:02,523 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 03:35:02,524 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 03:35:02,524 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 03:35:02,524 INFO L85 PathProgramCache]: Analyzing trace with hash -550873908, now seen corresponding path program 1 times [2022-04-08 03:35:02,524 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:02,524 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [480845258] [2022-04-08 03:35:02,528 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 03:35:02,528 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 03:35:02,528 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 03:35:02,528 INFO L85 PathProgramCache]: Analyzing trace with hash -550873908, now seen corresponding path program 2 times [2022-04-08 03:35:02,529 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 03:35:02,529 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1388119233] [2022-04-08 03:35:02,529 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 03:35:02,529 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 03:35:02,551 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:02,574 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 03:35:02,576 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:02,578 INFO L290 TraceCheckUtils]: 0: Hoare triple {1250#(and (= |old(~INFINITY~0)| ~INFINITY~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3);~INFINITY~0 := 899; {1244#true} is VALID [2022-04-08 03:35:02,579 INFO L290 TraceCheckUtils]: 1: Hoare triple {1244#true} assume true; {1244#true} is VALID [2022-04-08 03:35:02,579 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1244#true} {1244#true} #123#return; {1244#true} is VALID [2022-04-08 03:35:02,579 INFO L272 TraceCheckUtils]: 0: Hoare triple {1244#true} call ULTIMATE.init(); {1250#(and (= |old(~INFINITY~0)| ~INFINITY~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 03:35:02,580 INFO L290 TraceCheckUtils]: 1: Hoare triple {1250#(and (= |old(~INFINITY~0)| ~INFINITY~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3);~INFINITY~0 := 899; {1244#true} is VALID [2022-04-08 03:35:02,580 INFO L290 TraceCheckUtils]: 2: Hoare triple {1244#true} assume true; {1244#true} is VALID [2022-04-08 03:35:02,580 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1244#true} {1244#true} #123#return; {1244#true} is VALID [2022-04-08 03:35:02,580 INFO L272 TraceCheckUtils]: 4: Hoare triple {1244#true} call #t~ret22 := main(); {1244#true} is VALID [2022-04-08 03:35:02,580 INFO L290 TraceCheckUtils]: 5: Hoare triple {1244#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~nodecount~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~edgecount~0 := #t~nondet5;havoc #t~nondet5; {1244#true} is VALID [2022-04-08 03:35:02,580 INFO L290 TraceCheckUtils]: 6: Hoare triple {1244#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {1244#true} is VALID [2022-04-08 03:35:02,583 INFO L290 TraceCheckUtils]: 7: Hoare triple {1244#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.allocOnStack(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.allocOnStack(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.allocOnStack(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.allocOnStack(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {1249#(= main_~source~0 main_~i~0)} is VALID [2022-04-08 03:35:02,583 INFO L290 TraceCheckUtils]: 8: Hoare triple {1249#(= main_~source~0 main_~i~0)} assume !!(~i~0 < ~nodecount~0); {1249#(= main_~source~0 main_~i~0)} is VALID [2022-04-08 03:35:02,584 INFO L290 TraceCheckUtils]: 9: Hoare triple {1249#(= main_~source~0 main_~i~0)} assume !(~i~0 == ~source~0);call write~int(~INFINITY~0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {1245#false} is VALID [2022-04-08 03:35:02,584 INFO L290 TraceCheckUtils]: 10: Hoare triple {1245#false} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {1245#false} is VALID [2022-04-08 03:35:02,584 INFO L290 TraceCheckUtils]: 11: Hoare triple {1245#false} assume !(~i~0 < ~nodecount~0); {1245#false} is VALID [2022-04-08 03:35:02,584 INFO L290 TraceCheckUtils]: 12: Hoare triple {1245#false} ~i~0 := 0; {1245#false} is VALID [2022-04-08 03:35:02,584 INFO L290 TraceCheckUtils]: 13: Hoare triple {1245#false} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {1245#false} is VALID [2022-04-08 03:35:02,584 INFO L290 TraceCheckUtils]: 14: Hoare triple {1245#false} assume !(~j~0 < ~edgecount~0); {1245#false} is VALID [2022-04-08 03:35:02,585 INFO L290 TraceCheckUtils]: 15: Hoare triple {1245#false} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {1245#false} is VALID [2022-04-08 03:35:02,585 INFO L290 TraceCheckUtils]: 16: Hoare triple {1245#false} assume !(~i~0 < ~nodecount~0); {1245#false} is VALID [2022-04-08 03:35:02,585 INFO L290 TraceCheckUtils]: 17: Hoare triple {1245#false} ~i~0 := 0; {1245#false} is VALID [2022-04-08 03:35:02,585 INFO L290 TraceCheckUtils]: 18: Hoare triple {1245#false} assume !(~i~0 < ~edgecount~0); {1245#false} is VALID [2022-04-08 03:35:02,585 INFO L290 TraceCheckUtils]: 19: Hoare triple {1245#false} ~i~0 := 0; {1245#false} is VALID [2022-04-08 03:35:02,585 INFO L290 TraceCheckUtils]: 20: Hoare triple {1245#false} assume !!(~i~0 < ~nodecount~0);call #t~mem21 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {1245#false} is VALID [2022-04-08 03:35:02,585 INFO L272 TraceCheckUtils]: 21: Hoare triple {1245#false} call __VERIFIER_assert((if #t~mem21 >= 0 then 1 else 0)); {1245#false} is VALID [2022-04-08 03:35:02,586 INFO L290 TraceCheckUtils]: 22: Hoare triple {1245#false} ~cond := #in~cond; {1245#false} is VALID [2022-04-08 03:35:02,586 INFO L290 TraceCheckUtils]: 23: Hoare triple {1245#false} assume 0 == ~cond; {1245#false} is VALID [2022-04-08 03:35:02,586 INFO L290 TraceCheckUtils]: 24: Hoare triple {1245#false} assume !false; {1245#false} is VALID [2022-04-08 03:35:02,586 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-08 03:35:02,586 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 03:35:02,586 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1388119233] [2022-04-08 03:35:02,587 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1388119233] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 03:35:02,587 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 03:35:02,587 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-08 03:35:02,587 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 03:35:02,587 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [480845258] [2022-04-08 03:35:02,587 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [480845258] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 03:35:02,587 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 03:35:02,587 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-08 03:35:02,587 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [279406476] [2022-04-08 03:35:02,587 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 03:35:02,588 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 5.25) internal successors, (21), 3 states have internal predecessors, (21), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 25 [2022-04-08 03:35:02,588 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 03:35:02,588 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 5.25) internal successors, (21), 3 states have internal predecessors, (21), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:35:02,608 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 03:35:02,608 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-08 03:35:02,608 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:02,609 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-08 03:35:02,609 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-08 03:35:02,609 INFO L87 Difference]: Start difference. First operand 55 states and 67 transitions. Second operand has 4 states, 4 states have (on average 5.25) internal successors, (21), 3 states have internal predecessors, (21), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:35:02,724 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:02,725 INFO L93 Difference]: Finished difference Result 82 states and 101 transitions. [2022-04-08 03:35:02,725 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-08 03:35:02,725 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 5.25) internal successors, (21), 3 states have internal predecessors, (21), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 25 [2022-04-08 03:35:02,725 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 03:35:02,725 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 5.25) internal successors, (21), 3 states have internal predecessors, (21), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:35:02,727 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 72 transitions. [2022-04-08 03:35:02,727 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 5.25) internal successors, (21), 3 states have internal predecessors, (21), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:35:02,729 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 72 transitions. [2022-04-08 03:35:02,729 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 72 transitions. [2022-04-08 03:35:02,795 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 03:35:02,796 INFO L225 Difference]: With dead ends: 82 [2022-04-08 03:35:02,796 INFO L226 Difference]: Without dead ends: 57 [2022-04-08 03:35:02,797 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 6 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2022-04-08 03:35:02,797 INFO L913 BasicCegarLoop]: 33 mSDtfsCounter, 34 mSDsluCounter, 7 mSDsCounter, 0 mSdLazyCounter, 37 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 40 SdHoareTripleChecker+Invalid, 41 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 37 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 03:35:02,798 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [35 Valid, 40 Invalid, 41 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 37 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 03:35:02,798 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 57 states. [2022-04-08 03:35:02,817 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 57 to 56. [2022-04-08 03:35:02,817 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 03:35:02,818 INFO L82 GeneralOperation]: Start isEquivalent. First operand 57 states. Second operand has 56 states, 48 states have (on average 1.2708333333333333) internal successors, (61), 49 states have internal predecessors, (61), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 03:35:02,818 INFO L74 IsIncluded]: Start isIncluded. First operand 57 states. Second operand has 56 states, 48 states have (on average 1.2708333333333333) internal successors, (61), 49 states have internal predecessors, (61), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 03:35:02,818 INFO L87 Difference]: Start difference. First operand 57 states. Second operand has 56 states, 48 states have (on average 1.2708333333333333) internal successors, (61), 49 states have internal predecessors, (61), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 03:35:02,822 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:02,822 INFO L93 Difference]: Finished difference Result 57 states and 69 transitions. [2022-04-08 03:35:02,822 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 69 transitions. [2022-04-08 03:35:02,823 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:02,823 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:02,823 INFO L74 IsIncluded]: Start isIncluded. First operand has 56 states, 48 states have (on average 1.2708333333333333) internal successors, (61), 49 states have internal predecessors, (61), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Second operand 57 states. [2022-04-08 03:35:02,824 INFO L87 Difference]: Start difference. First operand has 56 states, 48 states have (on average 1.2708333333333333) internal successors, (61), 49 states have internal predecessors, (61), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Second operand 57 states. [2022-04-08 03:35:02,828 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:02,828 INFO L93 Difference]: Finished difference Result 57 states and 69 transitions. [2022-04-08 03:35:02,828 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 69 transitions. [2022-04-08 03:35:02,830 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:02,830 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:02,830 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 03:35:02,830 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 03:35:02,830 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 56 states, 48 states have (on average 1.2708333333333333) internal successors, (61), 49 states have internal predecessors, (61), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 03:35:02,834 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 68 transitions. [2022-04-08 03:35:02,834 INFO L78 Accepts]: Start accepts. Automaton has 56 states and 68 transitions. Word has length 25 [2022-04-08 03:35:02,834 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 03:35:02,834 INFO L478 AbstractCegarLoop]: Abstraction has 56 states and 68 transitions. [2022-04-08 03:35:02,834 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 5.25) internal successors, (21), 3 states have internal predecessors, (21), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:35:02,834 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 56 states and 68 transitions. [2022-04-08 03:35:02,923 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 03:35:02,923 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 68 transitions. [2022-04-08 03:35:02,923 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-08 03:35:02,923 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 03:35:02,924 INFO L499 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] [2022-04-08 03:35:02,924 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2022-04-08 03:35:02,924 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 03:35:02,924 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 03:35:02,924 INFO L85 PathProgramCache]: Analyzing trace with hash -1439064257, now seen corresponding path program 1 times [2022-04-08 03:35:02,924 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:02,925 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2132517103] [2022-04-08 03:35:02,927 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 03:35:02,927 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 03:35:02,927 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 03:35:02,927 INFO L85 PathProgramCache]: Analyzing trace with hash -1439064257, now seen corresponding path program 2 times [2022-04-08 03:35:02,927 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 03:35:02,928 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1499179660] [2022-04-08 03:35:02,928 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 03:35:02,928 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 03:35:02,985 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:03,045 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 03:35:03,047 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:03,062 INFO L290 TraceCheckUtils]: 0: Hoare triple {1654#(and (= |old(~INFINITY~0)| ~INFINITY~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3);~INFINITY~0 := 899; {1645#true} is VALID [2022-04-08 03:35:03,063 INFO L290 TraceCheckUtils]: 1: Hoare triple {1645#true} assume true; {1645#true} is VALID [2022-04-08 03:35:03,063 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1645#true} {1645#true} #123#return; {1645#true} is VALID [2022-04-08 03:35:03,063 INFO L272 TraceCheckUtils]: 0: Hoare triple {1645#true} call ULTIMATE.init(); {1654#(and (= |old(~INFINITY~0)| ~INFINITY~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 03:35:03,064 INFO L290 TraceCheckUtils]: 1: Hoare triple {1654#(and (= |old(~INFINITY~0)| ~INFINITY~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3);~INFINITY~0 := 899; {1645#true} is VALID [2022-04-08 03:35:03,064 INFO L290 TraceCheckUtils]: 2: Hoare triple {1645#true} assume true; {1645#true} is VALID [2022-04-08 03:35:03,064 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1645#true} {1645#true} #123#return; {1645#true} is VALID [2022-04-08 03:35:03,064 INFO L272 TraceCheckUtils]: 4: Hoare triple {1645#true} call #t~ret22 := main(); {1645#true} is VALID [2022-04-08 03:35:03,064 INFO L290 TraceCheckUtils]: 5: Hoare triple {1645#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~nodecount~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~edgecount~0 := #t~nondet5;havoc #t~nondet5; {1645#true} is VALID [2022-04-08 03:35:03,064 INFO L290 TraceCheckUtils]: 6: Hoare triple {1645#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {1645#true} is VALID [2022-04-08 03:35:03,064 INFO L290 TraceCheckUtils]: 7: Hoare triple {1645#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.allocOnStack(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.allocOnStack(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.allocOnStack(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.allocOnStack(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {1645#true} is VALID [2022-04-08 03:35:03,065 INFO L290 TraceCheckUtils]: 8: Hoare triple {1645#true} assume !!(~i~0 < ~nodecount~0); {1645#true} is VALID [2022-04-08 03:35:03,065 INFO L290 TraceCheckUtils]: 9: Hoare triple {1645#true} assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {1645#true} is VALID [2022-04-08 03:35:03,065 INFO L290 TraceCheckUtils]: 10: Hoare triple {1645#true} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {1645#true} is VALID [2022-04-08 03:35:03,065 INFO L290 TraceCheckUtils]: 11: Hoare triple {1645#true} assume !(~i~0 < ~nodecount~0); {1645#true} is VALID [2022-04-08 03:35:03,065 INFO L290 TraceCheckUtils]: 12: Hoare triple {1645#true} ~i~0 := 0; {1645#true} is VALID [2022-04-08 03:35:03,065 INFO L290 TraceCheckUtils]: 13: Hoare triple {1645#true} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {1650#(= main_~j~0 0)} is VALID [2022-04-08 03:35:03,066 INFO L290 TraceCheckUtils]: 14: Hoare triple {1650#(= main_~j~0 0)} assume !!(~j~0 < ~edgecount~0);call #t~mem9 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4);~x~0 := #t~mem9;havoc #t~mem9;call #t~mem10 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4);~y~0 := #t~mem10;havoc #t~mem10;call #t~mem13 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem11 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem12 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); {1651#(and (= main_~j~0 0) (<= (+ main_~j~0 1) main_~edgecount~0))} is VALID [2022-04-08 03:35:03,068 INFO L290 TraceCheckUtils]: 15: Hoare triple {1651#(and (= main_~j~0 0) (<= (+ main_~j~0 1) main_~edgecount~0))} assume #t~mem13 > #t~mem11 + #t~mem12;havoc #t~mem13;havoc #t~mem11;havoc #t~mem12;call write~int(-1, ~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); {1651#(and (= main_~j~0 0) (<= (+ main_~j~0 1) main_~edgecount~0))} is VALID [2022-04-08 03:35:03,068 INFO L290 TraceCheckUtils]: 16: Hoare triple {1651#(and (= main_~j~0 0) (<= (+ main_~j~0 1) main_~edgecount~0))} #t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {1652#(<= 1 main_~edgecount~0)} is VALID [2022-04-08 03:35:03,069 INFO L290 TraceCheckUtils]: 17: Hoare triple {1652#(<= 1 main_~edgecount~0)} assume !(~j~0 < ~edgecount~0); {1652#(<= 1 main_~edgecount~0)} is VALID [2022-04-08 03:35:03,069 INFO L290 TraceCheckUtils]: 18: Hoare triple {1652#(<= 1 main_~edgecount~0)} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {1652#(<= 1 main_~edgecount~0)} is VALID [2022-04-08 03:35:03,069 INFO L290 TraceCheckUtils]: 19: Hoare triple {1652#(<= 1 main_~edgecount~0)} assume !(~i~0 < ~nodecount~0); {1652#(<= 1 main_~edgecount~0)} is VALID [2022-04-08 03:35:03,070 INFO L290 TraceCheckUtils]: 20: Hoare triple {1652#(<= 1 main_~edgecount~0)} ~i~0 := 0; {1653#(and (<= 1 main_~edgecount~0) (= main_~i~0 0))} is VALID [2022-04-08 03:35:03,070 INFO L290 TraceCheckUtils]: 21: Hoare triple {1653#(and (<= 1 main_~edgecount~0) (= main_~i~0 0))} assume !(~i~0 < ~edgecount~0); {1646#false} is VALID [2022-04-08 03:35:03,070 INFO L290 TraceCheckUtils]: 22: Hoare triple {1646#false} ~i~0 := 0; {1646#false} is VALID [2022-04-08 03:35:03,071 INFO L290 TraceCheckUtils]: 23: Hoare triple {1646#false} assume !!(~i~0 < ~nodecount~0);call #t~mem21 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {1646#false} is VALID [2022-04-08 03:35:03,071 INFO L272 TraceCheckUtils]: 24: Hoare triple {1646#false} call __VERIFIER_assert((if #t~mem21 >= 0 then 1 else 0)); {1646#false} is VALID [2022-04-08 03:35:03,071 INFO L290 TraceCheckUtils]: 25: Hoare triple {1646#false} ~cond := #in~cond; {1646#false} is VALID [2022-04-08 03:35:03,071 INFO L290 TraceCheckUtils]: 26: Hoare triple {1646#false} assume 0 == ~cond; {1646#false} is VALID [2022-04-08 03:35:03,071 INFO L290 TraceCheckUtils]: 27: Hoare triple {1646#false} assume !false; {1646#false} is VALID [2022-04-08 03:35:03,072 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-08 03:35:03,072 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 03:35:03,072 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1499179660] [2022-04-08 03:35:03,072 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1499179660] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 03:35:03,072 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1048494122] [2022-04-08 03:35:03,072 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 03:35:03,073 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 03:35:03,073 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 03:35:03,074 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 03:35:03,084 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-08 03:35:03,172 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 03:35:03,172 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 03:35:03,173 INFO L263 TraceCheckSpWp]: Trace formula consists of 293 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-08 03:35:03,181 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:03,182 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 03:35:03,291 INFO L272 TraceCheckUtils]: 0: Hoare triple {1645#true} call ULTIMATE.init(); {1645#true} is VALID [2022-04-08 03:35:03,292 INFO L290 TraceCheckUtils]: 1: Hoare triple {1645#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3);~INFINITY~0 := 899; {1645#true} is VALID [2022-04-08 03:35:03,292 INFO L290 TraceCheckUtils]: 2: Hoare triple {1645#true} assume true; {1645#true} is VALID [2022-04-08 03:35:03,292 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1645#true} {1645#true} #123#return; {1645#true} is VALID [2022-04-08 03:35:03,292 INFO L272 TraceCheckUtils]: 4: Hoare triple {1645#true} call #t~ret22 := main(); {1645#true} is VALID [2022-04-08 03:35:03,292 INFO L290 TraceCheckUtils]: 5: Hoare triple {1645#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~nodecount~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~edgecount~0 := #t~nondet5;havoc #t~nondet5; {1645#true} is VALID [2022-04-08 03:35:03,292 INFO L290 TraceCheckUtils]: 6: Hoare triple {1645#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {1645#true} is VALID [2022-04-08 03:35:03,292 INFO L290 TraceCheckUtils]: 7: Hoare triple {1645#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.allocOnStack(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.allocOnStack(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.allocOnStack(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.allocOnStack(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {1645#true} is VALID [2022-04-08 03:35:03,293 INFO L290 TraceCheckUtils]: 8: Hoare triple {1645#true} assume !!(~i~0 < ~nodecount~0); {1645#true} is VALID [2022-04-08 03:35:03,293 INFO L290 TraceCheckUtils]: 9: Hoare triple {1645#true} assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {1645#true} is VALID [2022-04-08 03:35:03,293 INFO L290 TraceCheckUtils]: 10: Hoare triple {1645#true} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {1645#true} is VALID [2022-04-08 03:35:03,293 INFO L290 TraceCheckUtils]: 11: Hoare triple {1645#true} assume !(~i~0 < ~nodecount~0); {1645#true} is VALID [2022-04-08 03:35:03,293 INFO L290 TraceCheckUtils]: 12: Hoare triple {1645#true} ~i~0 := 0; {1645#true} is VALID [2022-04-08 03:35:03,295 INFO L290 TraceCheckUtils]: 13: Hoare triple {1645#true} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {1697#(<= 0 main_~j~0)} is VALID [2022-04-08 03:35:03,296 INFO L290 TraceCheckUtils]: 14: Hoare triple {1697#(<= 0 main_~j~0)} assume !!(~j~0 < ~edgecount~0);call #t~mem9 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4);~x~0 := #t~mem9;havoc #t~mem9;call #t~mem10 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4);~y~0 := #t~mem10;havoc #t~mem10;call #t~mem13 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem11 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem12 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); {1652#(<= 1 main_~edgecount~0)} is VALID [2022-04-08 03:35:03,297 INFO L290 TraceCheckUtils]: 15: Hoare triple {1652#(<= 1 main_~edgecount~0)} assume #t~mem13 > #t~mem11 + #t~mem12;havoc #t~mem13;havoc #t~mem11;havoc #t~mem12;call write~int(-1, ~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); {1652#(<= 1 main_~edgecount~0)} is VALID [2022-04-08 03:35:03,297 INFO L290 TraceCheckUtils]: 16: Hoare triple {1652#(<= 1 main_~edgecount~0)} #t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {1652#(<= 1 main_~edgecount~0)} is VALID [2022-04-08 03:35:03,297 INFO L290 TraceCheckUtils]: 17: Hoare triple {1652#(<= 1 main_~edgecount~0)} assume !(~j~0 < ~edgecount~0); {1652#(<= 1 main_~edgecount~0)} is VALID [2022-04-08 03:35:03,298 INFO L290 TraceCheckUtils]: 18: Hoare triple {1652#(<= 1 main_~edgecount~0)} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {1652#(<= 1 main_~edgecount~0)} is VALID [2022-04-08 03:35:03,298 INFO L290 TraceCheckUtils]: 19: Hoare triple {1652#(<= 1 main_~edgecount~0)} assume !(~i~0 < ~nodecount~0); {1652#(<= 1 main_~edgecount~0)} is VALID [2022-04-08 03:35:03,299 INFO L290 TraceCheckUtils]: 20: Hoare triple {1652#(<= 1 main_~edgecount~0)} ~i~0 := 0; {1719#(and (<= 1 main_~edgecount~0) (<= main_~i~0 0))} is VALID [2022-04-08 03:35:03,299 INFO L290 TraceCheckUtils]: 21: Hoare triple {1719#(and (<= 1 main_~edgecount~0) (<= main_~i~0 0))} assume !(~i~0 < ~edgecount~0); {1646#false} is VALID [2022-04-08 03:35:03,299 INFO L290 TraceCheckUtils]: 22: Hoare triple {1646#false} ~i~0 := 0; {1646#false} is VALID [2022-04-08 03:35:03,299 INFO L290 TraceCheckUtils]: 23: Hoare triple {1646#false} assume !!(~i~0 < ~nodecount~0);call #t~mem21 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {1646#false} is VALID [2022-04-08 03:35:03,299 INFO L272 TraceCheckUtils]: 24: Hoare triple {1646#false} call __VERIFIER_assert((if #t~mem21 >= 0 then 1 else 0)); {1646#false} is VALID [2022-04-08 03:35:03,300 INFO L290 TraceCheckUtils]: 25: Hoare triple {1646#false} ~cond := #in~cond; {1646#false} is VALID [2022-04-08 03:35:03,300 INFO L290 TraceCheckUtils]: 26: Hoare triple {1646#false} assume 0 == ~cond; {1646#false} is VALID [2022-04-08 03:35:03,300 INFO L290 TraceCheckUtils]: 27: Hoare triple {1646#false} assume !false; {1646#false} is VALID [2022-04-08 03:35:03,300 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-08 03:35:03,300 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 03:35:03,385 INFO L290 TraceCheckUtils]: 27: Hoare triple {1646#false} assume !false; {1646#false} is VALID [2022-04-08 03:35:03,385 INFO L290 TraceCheckUtils]: 26: Hoare triple {1646#false} assume 0 == ~cond; {1646#false} is VALID [2022-04-08 03:35:03,385 INFO L290 TraceCheckUtils]: 25: Hoare triple {1646#false} ~cond := #in~cond; {1646#false} is VALID [2022-04-08 03:35:03,385 INFO L272 TraceCheckUtils]: 24: Hoare triple {1646#false} call __VERIFIER_assert((if #t~mem21 >= 0 then 1 else 0)); {1646#false} is VALID [2022-04-08 03:35:03,385 INFO L290 TraceCheckUtils]: 23: Hoare triple {1646#false} assume !!(~i~0 < ~nodecount~0);call #t~mem21 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {1646#false} is VALID [2022-04-08 03:35:03,386 INFO L290 TraceCheckUtils]: 22: Hoare triple {1646#false} ~i~0 := 0; {1646#false} is VALID [2022-04-08 03:35:03,386 INFO L290 TraceCheckUtils]: 21: Hoare triple {1759#(< main_~i~0 main_~edgecount~0)} assume !(~i~0 < ~edgecount~0); {1646#false} is VALID [2022-04-08 03:35:03,386 INFO L290 TraceCheckUtils]: 20: Hoare triple {1652#(<= 1 main_~edgecount~0)} ~i~0 := 0; {1759#(< main_~i~0 main_~edgecount~0)} is VALID [2022-04-08 03:35:03,387 INFO L290 TraceCheckUtils]: 19: Hoare triple {1652#(<= 1 main_~edgecount~0)} assume !(~i~0 < ~nodecount~0); {1652#(<= 1 main_~edgecount~0)} is VALID [2022-04-08 03:35:03,387 INFO L290 TraceCheckUtils]: 18: Hoare triple {1652#(<= 1 main_~edgecount~0)} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {1652#(<= 1 main_~edgecount~0)} is VALID [2022-04-08 03:35:03,387 INFO L290 TraceCheckUtils]: 17: Hoare triple {1652#(<= 1 main_~edgecount~0)} assume !(~j~0 < ~edgecount~0); {1652#(<= 1 main_~edgecount~0)} is VALID [2022-04-08 03:35:03,388 INFO L290 TraceCheckUtils]: 16: Hoare triple {1652#(<= 1 main_~edgecount~0)} #t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {1652#(<= 1 main_~edgecount~0)} is VALID [2022-04-08 03:35:03,388 INFO L290 TraceCheckUtils]: 15: Hoare triple {1652#(<= 1 main_~edgecount~0)} assume #t~mem13 > #t~mem11 + #t~mem12;havoc #t~mem13;havoc #t~mem11;havoc #t~mem12;call write~int(-1, ~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); {1652#(<= 1 main_~edgecount~0)} is VALID [2022-04-08 03:35:03,389 INFO L290 TraceCheckUtils]: 14: Hoare triple {1697#(<= 0 main_~j~0)} assume !!(~j~0 < ~edgecount~0);call #t~mem9 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4);~x~0 := #t~mem9;havoc #t~mem9;call #t~mem10 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4);~y~0 := #t~mem10;havoc #t~mem10;call #t~mem13 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem11 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem12 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); {1652#(<= 1 main_~edgecount~0)} is VALID [2022-04-08 03:35:03,389 INFO L290 TraceCheckUtils]: 13: Hoare triple {1645#true} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {1697#(<= 0 main_~j~0)} is VALID [2022-04-08 03:35:03,391 INFO L290 TraceCheckUtils]: 12: Hoare triple {1645#true} ~i~0 := 0; {1645#true} is VALID [2022-04-08 03:35:03,391 INFO L290 TraceCheckUtils]: 11: Hoare triple {1645#true} assume !(~i~0 < ~nodecount~0); {1645#true} is VALID [2022-04-08 03:35:03,391 INFO L290 TraceCheckUtils]: 10: Hoare triple {1645#true} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {1645#true} is VALID [2022-04-08 03:35:03,391 INFO L290 TraceCheckUtils]: 9: Hoare triple {1645#true} assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {1645#true} is VALID [2022-04-08 03:35:03,391 INFO L290 TraceCheckUtils]: 8: Hoare triple {1645#true} assume !!(~i~0 < ~nodecount~0); {1645#true} is VALID [2022-04-08 03:35:03,391 INFO L290 TraceCheckUtils]: 7: Hoare triple {1645#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.allocOnStack(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.allocOnStack(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.allocOnStack(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.allocOnStack(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {1645#true} is VALID [2022-04-08 03:35:03,391 INFO L290 TraceCheckUtils]: 6: Hoare triple {1645#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {1645#true} is VALID [2022-04-08 03:35:03,392 INFO L290 TraceCheckUtils]: 5: Hoare triple {1645#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~nodecount~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~edgecount~0 := #t~nondet5;havoc #t~nondet5; {1645#true} is VALID [2022-04-08 03:35:03,392 INFO L272 TraceCheckUtils]: 4: Hoare triple {1645#true} call #t~ret22 := main(); {1645#true} is VALID [2022-04-08 03:35:03,392 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1645#true} {1645#true} #123#return; {1645#true} is VALID [2022-04-08 03:35:03,392 INFO L290 TraceCheckUtils]: 2: Hoare triple {1645#true} assume true; {1645#true} is VALID [2022-04-08 03:35:03,392 INFO L290 TraceCheckUtils]: 1: Hoare triple {1645#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3);~INFINITY~0 := 899; {1645#true} is VALID [2022-04-08 03:35:03,392 INFO L272 TraceCheckUtils]: 0: Hoare triple {1645#true} call ULTIMATE.init(); {1645#true} is VALID [2022-04-08 03:35:03,393 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-08 03:35:03,393 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1048494122] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 03:35:03,393 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 03:35:03,394 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 5, 5] total 10 [2022-04-08 03:35:03,394 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 03:35:03,394 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2132517103] [2022-04-08 03:35:03,394 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2132517103] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 03:35:03,394 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 03:35:03,394 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-08 03:35:03,396 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [286162666] [2022-04-08 03:35:03,396 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 03:35:03,397 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 28 [2022-04-08 03:35:03,398 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 03:35:03,398 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:35:03,418 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 03:35:03,419 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-08 03:35:03,419 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:03,419 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-08 03:35:03,419 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=64, Unknown=0, NotChecked=0, Total=90 [2022-04-08 03:35:03,420 INFO L87 Difference]: Start difference. First operand 56 states and 68 transitions. Second operand has 7 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:35:03,793 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:03,793 INFO L93 Difference]: Finished difference Result 130 states and 165 transitions. [2022-04-08 03:35:03,793 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-08 03:35:03,793 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 28 [2022-04-08 03:35:03,794 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 03:35:03,794 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:35:03,796 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 93 transitions. [2022-04-08 03:35:03,796 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:35:03,798 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 93 transitions. [2022-04-08 03:35:03,798 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 93 transitions. [2022-04-08 03:35:03,886 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 93 edges. 93 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 03:35:03,889 INFO L225 Difference]: With dead ends: 130 [2022-04-08 03:35:03,889 INFO L226 Difference]: Without dead ends: 94 [2022-04-08 03:35:03,890 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 67 GetRequests, 53 SyntacticMatches, 2 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=52, Invalid=130, Unknown=0, NotChecked=0, Total=182 [2022-04-08 03:35:03,891 INFO L913 BasicCegarLoop]: 42 mSDtfsCounter, 89 mSDsluCounter, 12 mSDsCounter, 0 mSdLazyCounter, 117 mSolverCounterSat, 20 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 89 SdHoareTripleChecker+Valid, 54 SdHoareTripleChecker+Invalid, 137 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 20 IncrementalHoareTripleChecker+Valid, 117 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 03:35:03,891 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [89 Valid, 54 Invalid, 137 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [20 Valid, 117 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 03:35:03,891 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 94 states. [2022-04-08 03:35:03,931 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 94 to 68. [2022-04-08 03:35:03,931 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 03:35:03,931 INFO L82 GeneralOperation]: Start isEquivalent. First operand 94 states. Second operand has 68 states, 60 states have (on average 1.2833333333333334) internal successors, (77), 61 states have internal predecessors, (77), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 03:35:03,931 INFO L74 IsIncluded]: Start isIncluded. First operand 94 states. Second operand has 68 states, 60 states have (on average 1.2833333333333334) internal successors, (77), 61 states have internal predecessors, (77), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 03:35:03,932 INFO L87 Difference]: Start difference. First operand 94 states. Second operand has 68 states, 60 states have (on average 1.2833333333333334) internal successors, (77), 61 states have internal predecessors, (77), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 03:35:03,938 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:03,938 INFO L93 Difference]: Finished difference Result 94 states and 117 transitions. [2022-04-08 03:35:03,938 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 117 transitions. [2022-04-08 03:35:03,938 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:03,938 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:03,939 INFO L74 IsIncluded]: Start isIncluded. First operand has 68 states, 60 states have (on average 1.2833333333333334) internal successors, (77), 61 states have internal predecessors, (77), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Second operand 94 states. [2022-04-08 03:35:03,939 INFO L87 Difference]: Start difference. First operand has 68 states, 60 states have (on average 1.2833333333333334) internal successors, (77), 61 states have internal predecessors, (77), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Second operand 94 states. [2022-04-08 03:35:03,944 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:03,944 INFO L93 Difference]: Finished difference Result 94 states and 117 transitions. [2022-04-08 03:35:03,944 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 117 transitions. [2022-04-08 03:35:03,945 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:03,946 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:03,946 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 03:35:03,946 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 03:35:03,946 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 68 states, 60 states have (on average 1.2833333333333334) internal successors, (77), 61 states have internal predecessors, (77), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 03:35:03,949 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 68 states to 68 states and 84 transitions. [2022-04-08 03:35:03,949 INFO L78 Accepts]: Start accepts. Automaton has 68 states and 84 transitions. Word has length 28 [2022-04-08 03:35:03,949 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 03:35:03,949 INFO L478 AbstractCegarLoop]: Abstraction has 68 states and 84 transitions. [2022-04-08 03:35:03,950 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:35:03,950 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 68 states and 84 transitions. [2022-04-08 03:35:04,056 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 03:35:04,057 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 84 transitions. [2022-04-08 03:35:04,057 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-08 03:35:04,057 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 03:35:04,057 INFO L499 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] [2022-04-08 03:35:04,079 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2022-04-08 03:35:04,268 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 03:35:04,268 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 03:35:04,268 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 03:35:04,269 INFO L85 PathProgramCache]: Analyzing trace with hash 244787668, now seen corresponding path program 1 times [2022-04-08 03:35:04,269 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:04,269 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1525955822] [2022-04-08 03:35:04,275 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 03:35:04,275 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 03:35:04,275 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 03:35:04,275 INFO L85 PathProgramCache]: Analyzing trace with hash 244787668, now seen corresponding path program 2 times [2022-04-08 03:35:04,275 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 03:35:04,275 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1557505548] [2022-04-08 03:35:04,275 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 03:35:04,276 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 03:35:04,321 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:04,404 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 03:35:04,406 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:04,409 INFO L290 TraceCheckUtils]: 0: Hoare triple {2427#(and (= |old(~INFINITY~0)| ~INFINITY~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3);~INFINITY~0 := 899; {2417#true} is VALID [2022-04-08 03:35:04,409 INFO L290 TraceCheckUtils]: 1: Hoare triple {2417#true} assume true; {2417#true} is VALID [2022-04-08 03:35:04,410 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {2417#true} {2417#true} #123#return; {2417#true} is VALID [2022-04-08 03:35:04,410 INFO L272 TraceCheckUtils]: 0: Hoare triple {2417#true} call ULTIMATE.init(); {2427#(and (= |old(~INFINITY~0)| ~INFINITY~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 03:35:04,410 INFO L290 TraceCheckUtils]: 1: Hoare triple {2427#(and (= |old(~INFINITY~0)| ~INFINITY~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3);~INFINITY~0 := 899; {2417#true} is VALID [2022-04-08 03:35:04,410 INFO L290 TraceCheckUtils]: 2: Hoare triple {2417#true} assume true; {2417#true} is VALID [2022-04-08 03:35:04,411 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2417#true} {2417#true} #123#return; {2417#true} is VALID [2022-04-08 03:35:04,411 INFO L272 TraceCheckUtils]: 4: Hoare triple {2417#true} call #t~ret22 := main(); {2417#true} is VALID [2022-04-08 03:35:04,411 INFO L290 TraceCheckUtils]: 5: Hoare triple {2417#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~nodecount~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~edgecount~0 := #t~nondet5;havoc #t~nondet5; {2417#true} is VALID [2022-04-08 03:35:04,411 INFO L290 TraceCheckUtils]: 6: Hoare triple {2417#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {2417#true} is VALID [2022-04-08 03:35:04,411 INFO L290 TraceCheckUtils]: 7: Hoare triple {2417#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.allocOnStack(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.allocOnStack(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.allocOnStack(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.allocOnStack(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {2422#(= main_~i~0 0)} is VALID [2022-04-08 03:35:04,412 INFO L290 TraceCheckUtils]: 8: Hoare triple {2422#(= main_~i~0 0)} assume !!(~i~0 < ~nodecount~0); {2422#(= main_~i~0 0)} is VALID [2022-04-08 03:35:04,412 INFO L290 TraceCheckUtils]: 9: Hoare triple {2422#(= main_~i~0 0)} assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {2422#(= main_~i~0 0)} is VALID [2022-04-08 03:35:04,413 INFO L290 TraceCheckUtils]: 10: Hoare triple {2422#(= main_~i~0 0)} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {2423#(<= 1 main_~i~0)} is VALID [2022-04-08 03:35:04,413 INFO L290 TraceCheckUtils]: 11: Hoare triple {2423#(<= 1 main_~i~0)} assume !!(~i~0 < ~nodecount~0); {2424#(<= 2 main_~nodecount~0)} is VALID [2022-04-08 03:35:04,414 INFO L290 TraceCheckUtils]: 12: Hoare triple {2424#(<= 2 main_~nodecount~0)} assume !(~i~0 == ~source~0);call write~int(~INFINITY~0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {2424#(<= 2 main_~nodecount~0)} is VALID [2022-04-08 03:35:04,414 INFO L290 TraceCheckUtils]: 13: Hoare triple {2424#(<= 2 main_~nodecount~0)} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {2424#(<= 2 main_~nodecount~0)} is VALID [2022-04-08 03:35:04,414 INFO L290 TraceCheckUtils]: 14: Hoare triple {2424#(<= 2 main_~nodecount~0)} assume !(~i~0 < ~nodecount~0); {2424#(<= 2 main_~nodecount~0)} is VALID [2022-04-08 03:35:04,415 INFO L290 TraceCheckUtils]: 15: Hoare triple {2424#(<= 2 main_~nodecount~0)} ~i~0 := 0; {2425#(and (<= 2 main_~nodecount~0) (= main_~i~0 0))} is VALID [2022-04-08 03:35:04,415 INFO L290 TraceCheckUtils]: 16: Hoare triple {2425#(and (<= 2 main_~nodecount~0) (= main_~i~0 0))} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {2425#(and (<= 2 main_~nodecount~0) (= main_~i~0 0))} is VALID [2022-04-08 03:35:04,416 INFO L290 TraceCheckUtils]: 17: Hoare triple {2425#(and (<= 2 main_~nodecount~0) (= main_~i~0 0))} assume !(~j~0 < ~edgecount~0); {2425#(and (<= 2 main_~nodecount~0) (= main_~i~0 0))} is VALID [2022-04-08 03:35:04,416 INFO L290 TraceCheckUtils]: 18: Hoare triple {2425#(and (<= 2 main_~nodecount~0) (= main_~i~0 0))} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {2426#(<= (+ main_~i~0 1) main_~nodecount~0)} is VALID [2022-04-08 03:35:04,416 INFO L290 TraceCheckUtils]: 19: Hoare triple {2426#(<= (+ main_~i~0 1) main_~nodecount~0)} assume !(~i~0 < ~nodecount~0); {2418#false} is VALID [2022-04-08 03:35:04,417 INFO L290 TraceCheckUtils]: 20: Hoare triple {2418#false} ~i~0 := 0; {2418#false} is VALID [2022-04-08 03:35:04,417 INFO L290 TraceCheckUtils]: 21: Hoare triple {2418#false} assume !(~i~0 < ~edgecount~0); {2418#false} is VALID [2022-04-08 03:35:04,417 INFO L290 TraceCheckUtils]: 22: Hoare triple {2418#false} ~i~0 := 0; {2418#false} is VALID [2022-04-08 03:35:04,417 INFO L290 TraceCheckUtils]: 23: Hoare triple {2418#false} assume !!(~i~0 < ~nodecount~0);call #t~mem21 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {2418#false} is VALID [2022-04-08 03:35:04,417 INFO L272 TraceCheckUtils]: 24: Hoare triple {2418#false} call __VERIFIER_assert((if #t~mem21 >= 0 then 1 else 0)); {2418#false} is VALID [2022-04-08 03:35:04,417 INFO L290 TraceCheckUtils]: 25: Hoare triple {2418#false} ~cond := #in~cond; {2418#false} is VALID [2022-04-08 03:35:04,417 INFO L290 TraceCheckUtils]: 26: Hoare triple {2418#false} assume 0 == ~cond; {2418#false} is VALID [2022-04-08 03:35:04,417 INFO L290 TraceCheckUtils]: 27: Hoare triple {2418#false} assume !false; {2418#false} is VALID [2022-04-08 03:35:04,418 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 03:35:04,418 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 03:35:04,418 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1557505548] [2022-04-08 03:35:04,418 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1557505548] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 03:35:04,418 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1563669256] [2022-04-08 03:35:04,418 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 03:35:04,418 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 03:35:04,418 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 03:35:04,419 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 03:35:04,436 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-08 03:35:04,523 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 03:35:04,523 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 03:35:04,525 INFO L263 TraceCheckSpWp]: Trace formula consists of 283 conjuncts, 6 conjunts are in the unsatisfiable core [2022-04-08 03:35:04,534 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:04,534 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 03:35:04,714 INFO L272 TraceCheckUtils]: 0: Hoare triple {2417#true} call ULTIMATE.init(); {2417#true} is VALID [2022-04-08 03:35:04,715 INFO L290 TraceCheckUtils]: 1: Hoare triple {2417#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3);~INFINITY~0 := 899; {2417#true} is VALID [2022-04-08 03:35:04,715 INFO L290 TraceCheckUtils]: 2: Hoare triple {2417#true} assume true; {2417#true} is VALID [2022-04-08 03:35:04,715 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2417#true} {2417#true} #123#return; {2417#true} is VALID [2022-04-08 03:35:04,715 INFO L272 TraceCheckUtils]: 4: Hoare triple {2417#true} call #t~ret22 := main(); {2417#true} is VALID [2022-04-08 03:35:04,715 INFO L290 TraceCheckUtils]: 5: Hoare triple {2417#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~nodecount~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~edgecount~0 := #t~nondet5;havoc #t~nondet5; {2417#true} is VALID [2022-04-08 03:35:04,715 INFO L290 TraceCheckUtils]: 6: Hoare triple {2417#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {2417#true} is VALID [2022-04-08 03:35:04,718 INFO L290 TraceCheckUtils]: 7: Hoare triple {2417#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.allocOnStack(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.allocOnStack(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.allocOnStack(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.allocOnStack(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {2452#(<= 0 main_~i~0)} is VALID [2022-04-08 03:35:04,718 INFO L290 TraceCheckUtils]: 8: Hoare triple {2452#(<= 0 main_~i~0)} assume !!(~i~0 < ~nodecount~0); {2452#(<= 0 main_~i~0)} is VALID [2022-04-08 03:35:04,718 INFO L290 TraceCheckUtils]: 9: Hoare triple {2452#(<= 0 main_~i~0)} assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {2452#(<= 0 main_~i~0)} is VALID [2022-04-08 03:35:04,719 INFO L290 TraceCheckUtils]: 10: Hoare triple {2452#(<= 0 main_~i~0)} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {2423#(<= 1 main_~i~0)} is VALID [2022-04-08 03:35:04,719 INFO L290 TraceCheckUtils]: 11: Hoare triple {2423#(<= 1 main_~i~0)} assume !!(~i~0 < ~nodecount~0); {2424#(<= 2 main_~nodecount~0)} is VALID [2022-04-08 03:35:04,720 INFO L290 TraceCheckUtils]: 12: Hoare triple {2424#(<= 2 main_~nodecount~0)} assume !(~i~0 == ~source~0);call write~int(~INFINITY~0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {2424#(<= 2 main_~nodecount~0)} is VALID [2022-04-08 03:35:04,720 INFO L290 TraceCheckUtils]: 13: Hoare triple {2424#(<= 2 main_~nodecount~0)} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {2424#(<= 2 main_~nodecount~0)} is VALID [2022-04-08 03:35:04,721 INFO L290 TraceCheckUtils]: 14: Hoare triple {2424#(<= 2 main_~nodecount~0)} assume !(~i~0 < ~nodecount~0); {2424#(<= 2 main_~nodecount~0)} is VALID [2022-04-08 03:35:04,721 INFO L290 TraceCheckUtils]: 15: Hoare triple {2424#(<= 2 main_~nodecount~0)} ~i~0 := 0; {2477#(and (<= main_~i~0 0) (<= 2 main_~nodecount~0))} is VALID [2022-04-08 03:35:04,722 INFO L290 TraceCheckUtils]: 16: Hoare triple {2477#(and (<= main_~i~0 0) (<= 2 main_~nodecount~0))} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {2477#(and (<= main_~i~0 0) (<= 2 main_~nodecount~0))} is VALID [2022-04-08 03:35:04,722 INFO L290 TraceCheckUtils]: 17: Hoare triple {2477#(and (<= main_~i~0 0) (<= 2 main_~nodecount~0))} assume !(~j~0 < ~edgecount~0); {2477#(and (<= main_~i~0 0) (<= 2 main_~nodecount~0))} is VALID [2022-04-08 03:35:04,723 INFO L290 TraceCheckUtils]: 18: Hoare triple {2477#(and (<= main_~i~0 0) (<= 2 main_~nodecount~0))} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {2487#(and (<= main_~i~0 1) (<= 2 main_~nodecount~0))} is VALID [2022-04-08 03:35:04,723 INFO L290 TraceCheckUtils]: 19: Hoare triple {2487#(and (<= main_~i~0 1) (<= 2 main_~nodecount~0))} assume !(~i~0 < ~nodecount~0); {2418#false} is VALID [2022-04-08 03:35:04,723 INFO L290 TraceCheckUtils]: 20: Hoare triple {2418#false} ~i~0 := 0; {2418#false} is VALID [2022-04-08 03:35:04,723 INFO L290 TraceCheckUtils]: 21: Hoare triple {2418#false} assume !(~i~0 < ~edgecount~0); {2418#false} is VALID [2022-04-08 03:35:04,723 INFO L290 TraceCheckUtils]: 22: Hoare triple {2418#false} ~i~0 := 0; {2418#false} is VALID [2022-04-08 03:35:04,724 INFO L290 TraceCheckUtils]: 23: Hoare triple {2418#false} assume !!(~i~0 < ~nodecount~0);call #t~mem21 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {2418#false} is VALID [2022-04-08 03:35:04,724 INFO L272 TraceCheckUtils]: 24: Hoare triple {2418#false} call __VERIFIER_assert((if #t~mem21 >= 0 then 1 else 0)); {2418#false} is VALID [2022-04-08 03:35:04,724 INFO L290 TraceCheckUtils]: 25: Hoare triple {2418#false} ~cond := #in~cond; {2418#false} is VALID [2022-04-08 03:35:04,724 INFO L290 TraceCheckUtils]: 26: Hoare triple {2418#false} assume 0 == ~cond; {2418#false} is VALID [2022-04-08 03:35:04,724 INFO L290 TraceCheckUtils]: 27: Hoare triple {2418#false} assume !false; {2418#false} is VALID [2022-04-08 03:35:04,726 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 03:35:04,726 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 03:35:04,877 INFO L290 TraceCheckUtils]: 27: Hoare triple {2418#false} assume !false; {2418#false} is VALID [2022-04-08 03:35:04,878 INFO L290 TraceCheckUtils]: 26: Hoare triple {2418#false} assume 0 == ~cond; {2418#false} is VALID [2022-04-08 03:35:04,878 INFO L290 TraceCheckUtils]: 25: Hoare triple {2418#false} ~cond := #in~cond; {2418#false} is VALID [2022-04-08 03:35:04,878 INFO L272 TraceCheckUtils]: 24: Hoare triple {2418#false} call __VERIFIER_assert((if #t~mem21 >= 0 then 1 else 0)); {2418#false} is VALID [2022-04-08 03:35:04,878 INFO L290 TraceCheckUtils]: 23: Hoare triple {2418#false} assume !!(~i~0 < ~nodecount~0);call #t~mem21 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {2418#false} is VALID [2022-04-08 03:35:04,878 INFO L290 TraceCheckUtils]: 22: Hoare triple {2418#false} ~i~0 := 0; {2418#false} is VALID [2022-04-08 03:35:04,878 INFO L290 TraceCheckUtils]: 21: Hoare triple {2418#false} assume !(~i~0 < ~edgecount~0); {2418#false} is VALID [2022-04-08 03:35:04,879 INFO L290 TraceCheckUtils]: 20: Hoare triple {2418#false} ~i~0 := 0; {2418#false} is VALID [2022-04-08 03:35:04,879 INFO L290 TraceCheckUtils]: 19: Hoare triple {2426#(<= (+ main_~i~0 1) main_~nodecount~0)} assume !(~i~0 < ~nodecount~0); {2418#false} is VALID [2022-04-08 03:35:04,880 INFO L290 TraceCheckUtils]: 18: Hoare triple {2542#(<= (+ main_~i~0 2) main_~nodecount~0)} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {2426#(<= (+ main_~i~0 1) main_~nodecount~0)} is VALID [2022-04-08 03:35:04,880 INFO L290 TraceCheckUtils]: 17: Hoare triple {2542#(<= (+ main_~i~0 2) main_~nodecount~0)} assume !(~j~0 < ~edgecount~0); {2542#(<= (+ main_~i~0 2) main_~nodecount~0)} is VALID [2022-04-08 03:35:04,881 INFO L290 TraceCheckUtils]: 16: Hoare triple {2542#(<= (+ main_~i~0 2) main_~nodecount~0)} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {2542#(<= (+ main_~i~0 2) main_~nodecount~0)} is VALID [2022-04-08 03:35:04,881 INFO L290 TraceCheckUtils]: 15: Hoare triple {2424#(<= 2 main_~nodecount~0)} ~i~0 := 0; {2542#(<= (+ main_~i~0 2) main_~nodecount~0)} is VALID [2022-04-08 03:35:04,881 INFO L290 TraceCheckUtils]: 14: Hoare triple {2424#(<= 2 main_~nodecount~0)} assume !(~i~0 < ~nodecount~0); {2424#(<= 2 main_~nodecount~0)} is VALID [2022-04-08 03:35:04,882 INFO L290 TraceCheckUtils]: 13: Hoare triple {2424#(<= 2 main_~nodecount~0)} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {2424#(<= 2 main_~nodecount~0)} is VALID [2022-04-08 03:35:04,882 INFO L290 TraceCheckUtils]: 12: Hoare triple {2424#(<= 2 main_~nodecount~0)} assume !(~i~0 == ~source~0);call write~int(~INFINITY~0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {2424#(<= 2 main_~nodecount~0)} is VALID [2022-04-08 03:35:04,882 INFO L290 TraceCheckUtils]: 11: Hoare triple {2423#(<= 1 main_~i~0)} assume !!(~i~0 < ~nodecount~0); {2424#(<= 2 main_~nodecount~0)} is VALID [2022-04-08 03:35:04,883 INFO L290 TraceCheckUtils]: 10: Hoare triple {2452#(<= 0 main_~i~0)} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {2423#(<= 1 main_~i~0)} is VALID [2022-04-08 03:35:04,883 INFO L290 TraceCheckUtils]: 9: Hoare triple {2452#(<= 0 main_~i~0)} assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {2452#(<= 0 main_~i~0)} is VALID [2022-04-08 03:35:04,884 INFO L290 TraceCheckUtils]: 8: Hoare triple {2452#(<= 0 main_~i~0)} assume !!(~i~0 < ~nodecount~0); {2452#(<= 0 main_~i~0)} is VALID [2022-04-08 03:35:04,886 INFO L290 TraceCheckUtils]: 7: Hoare triple {2417#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.allocOnStack(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.allocOnStack(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.allocOnStack(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.allocOnStack(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {2452#(<= 0 main_~i~0)} is VALID [2022-04-08 03:35:04,886 INFO L290 TraceCheckUtils]: 6: Hoare triple {2417#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {2417#true} is VALID [2022-04-08 03:35:04,886 INFO L290 TraceCheckUtils]: 5: Hoare triple {2417#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~nodecount~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~edgecount~0 := #t~nondet5;havoc #t~nondet5; {2417#true} is VALID [2022-04-08 03:35:04,886 INFO L272 TraceCheckUtils]: 4: Hoare triple {2417#true} call #t~ret22 := main(); {2417#true} is VALID [2022-04-08 03:35:04,886 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2417#true} {2417#true} #123#return; {2417#true} is VALID [2022-04-08 03:35:04,886 INFO L290 TraceCheckUtils]: 2: Hoare triple {2417#true} assume true; {2417#true} is VALID [2022-04-08 03:35:04,887 INFO L290 TraceCheckUtils]: 1: Hoare triple {2417#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3);~INFINITY~0 := 899; {2417#true} is VALID [2022-04-08 03:35:04,887 INFO L272 TraceCheckUtils]: 0: Hoare triple {2417#true} call ULTIMATE.init(); {2417#true} is VALID [2022-04-08 03:35:04,887 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 03:35:04,887 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1563669256] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 03:35:04,887 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 03:35:04,888 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 7, 7] total 12 [2022-04-08 03:35:04,888 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 03:35:04,888 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1525955822] [2022-04-08 03:35:04,888 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1525955822] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 03:35:04,888 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 03:35:04,888 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 03:35:04,888 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [618732851] [2022-04-08 03:35:04,888 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 03:35:04,889 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 28 [2022-04-08 03:35:04,889 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 03:35:04,890 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:35:04,910 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 03:35:04,910 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 03:35:04,910 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:04,912 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 03:35:04,912 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=37, Invalid=95, Unknown=0, NotChecked=0, Total=132 [2022-04-08 03:35:04,912 INFO L87 Difference]: Start difference. First operand 68 states and 84 transitions. Second operand has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:35:05,686 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:05,686 INFO L93 Difference]: Finished difference Result 178 states and 225 transitions. [2022-04-08 03:35:05,686 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 03:35:05,686 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 28 [2022-04-08 03:35:05,686 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 03:35:05,687 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:35:05,689 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 111 transitions. [2022-04-08 03:35:05,689 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:35:05,691 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 111 transitions. [2022-04-08 03:35:05,692 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 111 transitions. [2022-04-08 03:35:05,799 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 111 edges. 111 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 03:35:05,803 INFO L225 Difference]: With dead ends: 178 [2022-04-08 03:35:05,804 INFO L226 Difference]: Without dead ends: 148 [2022-04-08 03:35:05,804 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 70 GetRequests, 52 SyntacticMatches, 2 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 48 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=83, Invalid=223, Unknown=0, NotChecked=0, Total=306 [2022-04-08 03:35:05,806 INFO L913 BasicCegarLoop]: 46 mSDtfsCounter, 125 mSDsluCounter, 22 mSDsCounter, 0 mSdLazyCounter, 212 mSolverCounterSat, 55 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 125 SdHoareTripleChecker+Valid, 68 SdHoareTripleChecker+Invalid, 267 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 55 IncrementalHoareTripleChecker+Valid, 212 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-08 03:35:05,806 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [125 Valid, 68 Invalid, 267 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [55 Valid, 212 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-08 03:35:05,807 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 148 states. [2022-04-08 03:35:05,913 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 148 to 87. [2022-04-08 03:35:05,913 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 03:35:05,913 INFO L82 GeneralOperation]: Start isEquivalent. First operand 148 states. Second operand has 87 states, 79 states have (on average 1.3037974683544304) internal successors, (103), 80 states have internal predecessors, (103), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 03:35:05,914 INFO L74 IsIncluded]: Start isIncluded. First operand 148 states. Second operand has 87 states, 79 states have (on average 1.3037974683544304) internal successors, (103), 80 states have internal predecessors, (103), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 03:35:05,914 INFO L87 Difference]: Start difference. First operand 148 states. Second operand has 87 states, 79 states have (on average 1.3037974683544304) internal successors, (103), 80 states have internal predecessors, (103), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 03:35:05,920 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:05,920 INFO L93 Difference]: Finished difference Result 148 states and 189 transitions. [2022-04-08 03:35:05,920 INFO L276 IsEmpty]: Start isEmpty. Operand 148 states and 189 transitions. [2022-04-08 03:35:05,921 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:05,921 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:05,921 INFO L74 IsIncluded]: Start isIncluded. First operand has 87 states, 79 states have (on average 1.3037974683544304) internal successors, (103), 80 states have internal predecessors, (103), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Second operand 148 states. [2022-04-08 03:35:05,922 INFO L87 Difference]: Start difference. First operand has 87 states, 79 states have (on average 1.3037974683544304) internal successors, (103), 80 states have internal predecessors, (103), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Second operand 148 states. [2022-04-08 03:35:05,928 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:05,928 INFO L93 Difference]: Finished difference Result 148 states and 189 transitions. [2022-04-08 03:35:05,928 INFO L276 IsEmpty]: Start isEmpty. Operand 148 states and 189 transitions. [2022-04-08 03:35:05,928 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:05,928 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:05,928 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 03:35:05,928 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 03:35:05,929 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 87 states, 79 states have (on average 1.3037974683544304) internal successors, (103), 80 states have internal predecessors, (103), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 03:35:05,932 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 87 states to 87 states and 110 transitions. [2022-04-08 03:35:05,932 INFO L78 Accepts]: Start accepts. Automaton has 87 states and 110 transitions. Word has length 28 [2022-04-08 03:35:05,932 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 03:35:05,932 INFO L478 AbstractCegarLoop]: Abstraction has 87 states and 110 transitions. [2022-04-08 03:35:05,932 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:35:05,932 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 87 states and 110 transitions. [2022-04-08 03:35:06,080 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 110 edges. 110 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 03:35:06,081 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 110 transitions. [2022-04-08 03:35:06,081 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2022-04-08 03:35:06,082 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 03:35:06,082 INFO L499 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] [2022-04-08 03:35:06,105 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-08 03:35:06,284 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 03:35:06,284 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 03:35:06,284 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 03:35:06,285 INFO L85 PathProgramCache]: Analyzing trace with hash 777875589, now seen corresponding path program 1 times [2022-04-08 03:35:06,285 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:06,285 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [660558429] [2022-04-08 03:35:06,287 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 03:35:06,287 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 03:35:06,287 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 03:35:06,287 INFO L85 PathProgramCache]: Analyzing trace with hash 777875589, now seen corresponding path program 2 times [2022-04-08 03:35:06,287 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 03:35:06,287 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1342077915] [2022-04-08 03:35:06,288 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 03:35:06,288 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 03:35:06,372 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:06,738 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 03:35:06,739 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:06,752 INFO L290 TraceCheckUtils]: 0: Hoare triple {3453#(and (= |old(~INFINITY~0)| ~INFINITY~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3);~INFINITY~0 := 899; {3437#true} is VALID [2022-04-08 03:35:06,752 INFO L290 TraceCheckUtils]: 1: Hoare triple {3437#true} assume true; {3437#true} is VALID [2022-04-08 03:35:06,752 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {3437#true} {3437#true} #123#return; {3437#true} is VALID [2022-04-08 03:35:06,757 INFO L272 TraceCheckUtils]: 0: Hoare triple {3437#true} call ULTIMATE.init(); {3453#(and (= |old(~INFINITY~0)| ~INFINITY~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 03:35:06,757 INFO L290 TraceCheckUtils]: 1: Hoare triple {3453#(and (= |old(~INFINITY~0)| ~INFINITY~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3);~INFINITY~0 := 899; {3437#true} is VALID [2022-04-08 03:35:06,758 INFO L290 TraceCheckUtils]: 2: Hoare triple {3437#true} assume true; {3437#true} is VALID [2022-04-08 03:35:06,758 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3437#true} {3437#true} #123#return; {3437#true} is VALID [2022-04-08 03:35:06,758 INFO L272 TraceCheckUtils]: 4: Hoare triple {3437#true} call #t~ret22 := main(); {3437#true} is VALID [2022-04-08 03:35:06,758 INFO L290 TraceCheckUtils]: 5: Hoare triple {3437#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~nodecount~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~edgecount~0 := #t~nondet5;havoc #t~nondet5; {3437#true} is VALID [2022-04-08 03:35:06,758 INFO L290 TraceCheckUtils]: 6: Hoare triple {3437#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {3437#true} is VALID [2022-04-08 03:35:06,764 INFO L290 TraceCheckUtils]: 7: Hoare triple {3437#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.allocOnStack(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.allocOnStack(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.allocOnStack(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.allocOnStack(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {3442#(and (= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 1) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= |main_~#Dest~0.offset| 0) (= main_~i~0 0))} is VALID [2022-04-08 03:35:06,767 INFO L290 TraceCheckUtils]: 8: Hoare triple {3442#(and (= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 1) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= |main_~#Dest~0.offset| 0) (= main_~i~0 0))} assume !!(~i~0 < ~nodecount~0); {3442#(and (= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 1) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= |main_~#Dest~0.offset| 0) (= main_~i~0 0))} is VALID [2022-04-08 03:35:06,768 INFO L290 TraceCheckUtils]: 9: Hoare triple {3442#(and (= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 1) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= |main_~#Dest~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); {3443#(and (= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 1) (= |main_~#distance~0.offset| 0) (<= |main_~#Dest~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4))) 0) (= main_~i~0 0) (<= 0 |main_~#Dest~0.offset|))} is VALID [2022-04-08 03:35:06,769 INFO L290 TraceCheckUtils]: 10: Hoare triple {3443#(and (= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 1) (= |main_~#distance~0.offset| 0) (<= |main_~#Dest~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4))) 0) (= main_~i~0 0) (<= 0 |main_~#Dest~0.offset|))} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {3444#(and (= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 1) (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (= |main_~#Dest~0.offset| 0))} is VALID [2022-04-08 03:35:06,770 INFO L290 TraceCheckUtils]: 11: Hoare triple {3444#(and (= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 1) (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (= |main_~#Dest~0.offset| 0))} assume !(~i~0 < ~nodecount~0); {3444#(and (= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 1) (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (= |main_~#Dest~0.offset| 0))} is VALID [2022-04-08 03:35:06,770 INFO L290 TraceCheckUtils]: 12: Hoare triple {3444#(and (= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 1) (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (= |main_~#Dest~0.offset| 0))} ~i~0 := 0; {3444#(and (= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 1) (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (= |main_~#Dest~0.offset| 0))} is VALID [2022-04-08 03:35:06,771 INFO L290 TraceCheckUtils]: 13: Hoare triple {3444#(and (= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 1) (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (= |main_~#Dest~0.offset| 0))} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {3445#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (= (select (select |#memory_int| |main_~#Dest~0.base|) (+ (* main_~j~0 4) |main_~#Dest~0.offset|)) 1) (= main_~j~0 0) (= (+ (* main_~j~0 4) |main_~#Dest~0.offset|) 0))} is VALID [2022-04-08 03:35:06,772 INFO L290 TraceCheckUtils]: 14: Hoare triple {3445#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (= (select (select |#memory_int| |main_~#Dest~0.base|) (+ (* main_~j~0 4) |main_~#Dest~0.offset|)) 1) (= main_~j~0 0) (= (+ (* main_~j~0 4) |main_~#Dest~0.offset|) 0))} assume !!(~j~0 < ~edgecount~0);call #t~mem9 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4);~x~0 := #t~mem9;havoc #t~mem9;call #t~mem10 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4);~y~0 := #t~mem10;havoc #t~mem10;call #t~mem13 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem11 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem12 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); {3446#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (= main_~j~0 0) (= main_~x~0 1) (= (+ (* main_~j~0 4) |main_~#Dest~0.offset|) 0))} is VALID [2022-04-08 03:35:06,772 INFO L290 TraceCheckUtils]: 15: Hoare triple {3446#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (= main_~j~0 0) (= main_~x~0 1) (= (+ (* main_~j~0 4) |main_~#Dest~0.offset|) 0))} assume #t~mem13 > #t~mem11 + #t~mem12;havoc #t~mem13;havoc #t~mem11;havoc #t~mem12;call write~int(-1, ~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); {3447#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (= main_~j~0 0) (= (+ (* main_~j~0 4) |main_~#Dest~0.offset|) 0))} is VALID [2022-04-08 03:35:06,773 INFO L290 TraceCheckUtils]: 16: Hoare triple {3447#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (= main_~j~0 0) (= (+ (* main_~j~0 4) |main_~#Dest~0.offset|) 0))} #t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {3448#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} is VALID [2022-04-08 03:35:06,773 INFO L290 TraceCheckUtils]: 17: Hoare triple {3448#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} assume !(~j~0 < ~edgecount~0); {3448#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} is VALID [2022-04-08 03:35:06,774 INFO L290 TraceCheckUtils]: 18: Hoare triple {3448#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {3448#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} is VALID [2022-04-08 03:35:06,774 INFO L290 TraceCheckUtils]: 19: Hoare triple {3448#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} assume !(~i~0 < ~nodecount~0); {3448#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} is VALID [2022-04-08 03:35:06,775 INFO L290 TraceCheckUtils]: 20: Hoare triple {3448#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} ~i~0 := 0; {3448#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} is VALID [2022-04-08 03:35:06,775 INFO L290 TraceCheckUtils]: 21: Hoare triple {3448#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} assume !!(~i~0 < ~edgecount~0);call #t~mem15 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~i~0, 4);~x~0 := #t~mem15;havoc #t~mem15;call #t~mem16 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~i~0, 4);~y~0 := #t~mem16;havoc #t~mem16;call #t~mem19 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem17 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem18 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~i~0, 4); {3448#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} is VALID [2022-04-08 03:35:06,776 INFO L290 TraceCheckUtils]: 22: Hoare triple {3448#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} assume !(#t~mem19 > #t~mem17 + #t~mem18);havoc #t~mem19;havoc #t~mem17;havoc #t~mem18; {3448#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} is VALID [2022-04-08 03:35:06,776 INFO L290 TraceCheckUtils]: 23: Hoare triple {3448#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} #t~post14 := ~i~0;~i~0 := 1 + #t~post14;havoc #t~post14; {3448#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} is VALID [2022-04-08 03:35:06,777 INFO L290 TraceCheckUtils]: 24: Hoare triple {3448#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} assume !(~i~0 < ~edgecount~0); {3448#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} is VALID [2022-04-08 03:35:06,778 INFO L290 TraceCheckUtils]: 25: Hoare triple {3448#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} ~i~0 := 0; {3449#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4))) 0) (= main_~i~0 0))} is VALID [2022-04-08 03:35:06,778 INFO L290 TraceCheckUtils]: 26: Hoare triple {3449#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4))) 0) (= main_~i~0 0))} assume !!(~i~0 < ~nodecount~0);call #t~mem21 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {3450#(= |main_#t~mem21| 0)} is VALID [2022-04-08 03:35:06,779 INFO L272 TraceCheckUtils]: 27: Hoare triple {3450#(= |main_#t~mem21| 0)} call __VERIFIER_assert((if #t~mem21 >= 0 then 1 else 0)); {3451#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 03:35:06,779 INFO L290 TraceCheckUtils]: 28: Hoare triple {3451#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {3452#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 03:35:06,780 INFO L290 TraceCheckUtils]: 29: Hoare triple {3452#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {3438#false} is VALID [2022-04-08 03:35:06,780 INFO L290 TraceCheckUtils]: 30: Hoare triple {3438#false} assume !false; {3438#false} is VALID [2022-04-08 03:35:06,780 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-08 03:35:06,780 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 03:35:06,780 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1342077915] [2022-04-08 03:35:06,780 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1342077915] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 03:35:06,780 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [142149981] [2022-04-08 03:35:06,781 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 03:35:06,781 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 03:35:06,781 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 03:35:06,782 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 03:35:06,783 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-08 03:35:06,869 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 03:35:06,869 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 03:35:06,871 INFO L263 TraceCheckSpWp]: Trace formula consists of 307 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-08 03:35:06,886 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:06,887 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 03:35:06,956 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 79 treesize of output 77 [2022-04-08 03:35:07,100 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 19 treesize of output 18 [2022-04-08 03:35:07,460 INFO L356 Elim1Store]: treesize reduction 25, result has 21.9 percent of original size [2022-04-08 03:35:07,461 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 37 treesize of output 35 [2022-04-08 03:35:08,154 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 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 22 treesize of output 10 [2022-04-08 03:35:08,241 INFO L272 TraceCheckUtils]: 0: Hoare triple {3437#true} call ULTIMATE.init(); {3437#true} is VALID [2022-04-08 03:35:08,241 INFO L290 TraceCheckUtils]: 1: Hoare triple {3437#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3);~INFINITY~0 := 899; {3437#true} is VALID [2022-04-08 03:35:08,241 INFO L290 TraceCheckUtils]: 2: Hoare triple {3437#true} assume true; {3437#true} is VALID [2022-04-08 03:35:08,241 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3437#true} {3437#true} #123#return; {3437#true} is VALID [2022-04-08 03:35:08,241 INFO L272 TraceCheckUtils]: 4: Hoare triple {3437#true} call #t~ret22 := main(); {3437#true} is VALID [2022-04-08 03:35:08,241 INFO L290 TraceCheckUtils]: 5: Hoare triple {3437#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~nodecount~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~edgecount~0 := #t~nondet5;havoc #t~nondet5; {3437#true} is VALID [2022-04-08 03:35:08,241 INFO L290 TraceCheckUtils]: 6: Hoare triple {3437#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {3437#true} is VALID [2022-04-08 03:35:08,244 INFO L290 TraceCheckUtils]: 7: Hoare triple {3437#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.allocOnStack(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.allocOnStack(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.allocOnStack(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.allocOnStack(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {3478#(and (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= |main_~#Dest~0.offset| 0) (= main_~i~0 0) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)))} is VALID [2022-04-08 03:35:08,245 INFO L290 TraceCheckUtils]: 8: Hoare triple {3478#(and (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= |main_~#Dest~0.offset| 0) (= main_~i~0 0) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)))} assume !!(~i~0 < ~nodecount~0); {3478#(and (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= |main_~#Dest~0.offset| 0) (= main_~i~0 0) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)))} is VALID [2022-04-08 03:35:08,246 INFO L290 TraceCheckUtils]: 9: Hoare triple {3478#(and (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= |main_~#Dest~0.offset| 0) (= main_~i~0 0) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)))} assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {3485#(and (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= |main_~#Dest~0.offset| 0) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:08,247 INFO L290 TraceCheckUtils]: 10: Hoare triple {3485#(and (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= |main_~#Dest~0.offset| 0) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {3485#(and (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= |main_~#Dest~0.offset| 0) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:08,247 INFO L290 TraceCheckUtils]: 11: Hoare triple {3485#(and (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= |main_~#Dest~0.offset| 0) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} assume !(~i~0 < ~nodecount~0); {3485#(and (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= |main_~#Dest~0.offset| 0) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:08,248 INFO L290 TraceCheckUtils]: 12: Hoare triple {3485#(and (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= |main_~#Dest~0.offset| 0) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} ~i~0 := 0; {3485#(and (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= |main_~#Dest~0.offset| 0) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:08,250 INFO L290 TraceCheckUtils]: 13: Hoare triple {3485#(and (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= |main_~#Dest~0.offset| 0) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {3498#(and (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= main_~j~0 0) (= |main_~#Dest~0.offset| 0) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:08,255 INFO L290 TraceCheckUtils]: 14: Hoare triple {3498#(and (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= main_~j~0 0) (= |main_~#Dest~0.offset| 0) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} assume !!(~j~0 < ~edgecount~0);call #t~mem9 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4);~x~0 := #t~mem9;havoc #t~mem9;call #t~mem10 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4);~y~0 := #t~mem10;havoc #t~mem10;call #t~mem13 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem11 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem12 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); {3502#(and (= |main_~#distance~0.offset| 0) (exists ((|main_~#Dest~0.base| Int)) (and (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)) (<= (select (select |#memory_int| |main_~#Dest~0.base|) 0) main_~x~0))) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:08,256 INFO L290 TraceCheckUtils]: 15: Hoare triple {3502#(and (= |main_~#distance~0.offset| 0) (exists ((|main_~#Dest~0.base| Int)) (and (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)) (<= (select (select |#memory_int| |main_~#Dest~0.base|) 0) main_~x~0))) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} assume #t~mem13 > #t~mem11 + #t~mem12;havoc #t~mem13;havoc #t~mem11;havoc #t~mem12;call write~int(-1, ~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); {3506#(and (= |main_~#distance~0.offset| 0) (exists ((|main_~#Dest~0.base| Int)) (and (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)))) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:08,257 INFO L290 TraceCheckUtils]: 16: Hoare triple {3506#(and (= |main_~#distance~0.offset| 0) (exists ((|main_~#Dest~0.base| Int)) (and (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)))) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} #t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {3506#(and (= |main_~#distance~0.offset| 0) (exists ((|main_~#Dest~0.base| Int)) (and (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)))) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:08,257 INFO L290 TraceCheckUtils]: 17: Hoare triple {3506#(and (= |main_~#distance~0.offset| 0) (exists ((|main_~#Dest~0.base| Int)) (and (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)))) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} assume !(~j~0 < ~edgecount~0); {3506#(and (= |main_~#distance~0.offset| 0) (exists ((|main_~#Dest~0.base| Int)) (and (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)))) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:08,258 INFO L290 TraceCheckUtils]: 18: Hoare triple {3506#(and (= |main_~#distance~0.offset| 0) (exists ((|main_~#Dest~0.base| Int)) (and (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)))) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {3506#(and (= |main_~#distance~0.offset| 0) (exists ((|main_~#Dest~0.base| Int)) (and (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)))) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:08,259 INFO L290 TraceCheckUtils]: 19: Hoare triple {3506#(and (= |main_~#distance~0.offset| 0) (exists ((|main_~#Dest~0.base| Int)) (and (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)))) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} assume !(~i~0 < ~nodecount~0); {3506#(and (= |main_~#distance~0.offset| 0) (exists ((|main_~#Dest~0.base| Int)) (and (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)))) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:08,259 INFO L290 TraceCheckUtils]: 20: Hoare triple {3506#(and (= |main_~#distance~0.offset| 0) (exists ((|main_~#Dest~0.base| Int)) (and (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)))) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} ~i~0 := 0; {3506#(and (= |main_~#distance~0.offset| 0) (exists ((|main_~#Dest~0.base| Int)) (and (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)))) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:08,260 INFO L290 TraceCheckUtils]: 21: Hoare triple {3506#(and (= |main_~#distance~0.offset| 0) (exists ((|main_~#Dest~0.base| Int)) (and (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)))) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} assume !!(~i~0 < ~edgecount~0);call #t~mem15 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~i~0, 4);~x~0 := #t~mem15;havoc #t~mem15;call #t~mem16 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~i~0, 4);~y~0 := #t~mem16;havoc #t~mem16;call #t~mem19 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem17 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem18 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~i~0, 4); {3506#(and (= |main_~#distance~0.offset| 0) (exists ((|main_~#Dest~0.base| Int)) (and (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)))) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:08,261 INFO L290 TraceCheckUtils]: 22: Hoare triple {3506#(and (= |main_~#distance~0.offset| 0) (exists ((|main_~#Dest~0.base| Int)) (and (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)))) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} assume !(#t~mem19 > #t~mem17 + #t~mem18);havoc #t~mem19;havoc #t~mem17;havoc #t~mem18; {3506#(and (= |main_~#distance~0.offset| 0) (exists ((|main_~#Dest~0.base| Int)) (and (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)))) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:08,262 INFO L290 TraceCheckUtils]: 23: Hoare triple {3506#(and (= |main_~#distance~0.offset| 0) (exists ((|main_~#Dest~0.base| Int)) (and (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)))) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} #t~post14 := ~i~0;~i~0 := 1 + #t~post14;havoc #t~post14; {3506#(and (= |main_~#distance~0.offset| 0) (exists ((|main_~#Dest~0.base| Int)) (and (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)))) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:08,262 INFO L290 TraceCheckUtils]: 24: Hoare triple {3506#(and (= |main_~#distance~0.offset| 0) (exists ((|main_~#Dest~0.base| Int)) (and (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)))) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} assume !(~i~0 < ~edgecount~0); {3506#(and (= |main_~#distance~0.offset| 0) (exists ((|main_~#Dest~0.base| Int)) (and (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)))) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:08,263 INFO L290 TraceCheckUtils]: 25: Hoare triple {3506#(and (= |main_~#distance~0.offset| 0) (exists ((|main_~#Dest~0.base| Int)) (and (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)))) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} ~i~0 := 0; {3537#(and (= |main_~#distance~0.offset| 0) (exists ((|main_~#Dest~0.base| Int)) (and (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)))) (= main_~i~0 0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:08,264 INFO L290 TraceCheckUtils]: 26: Hoare triple {3537#(and (= |main_~#distance~0.offset| 0) (exists ((|main_~#Dest~0.base| Int)) (and (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)))) (= main_~i~0 0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} assume !!(~i~0 < ~nodecount~0);call #t~mem21 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {3541#(<= 0 |main_#t~mem21|)} is VALID [2022-04-08 03:35:08,264 INFO L272 TraceCheckUtils]: 27: Hoare triple {3541#(<= 0 |main_#t~mem21|)} call __VERIFIER_assert((if #t~mem21 >= 0 then 1 else 0)); {3545#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 03:35:08,265 INFO L290 TraceCheckUtils]: 28: Hoare triple {3545#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3549#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 03:35:08,265 INFO L290 TraceCheckUtils]: 29: Hoare triple {3549#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3438#false} is VALID [2022-04-08 03:35:08,265 INFO L290 TraceCheckUtils]: 30: Hoare triple {3438#false} assume !false; {3438#false} is VALID [2022-04-08 03:35:08,265 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-08 03:35:08,266 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 03:35:10,575 WARN L833 $PredicateComparison]: unable to prove that (forall ((v_main_~x~0_9 Int)) (or (forall ((v_ArrVal_192 Int)) (<= 0 (select (store (select |c_#memory_int| |c_main_~#distance~0.base|) (+ (* v_main_~x~0_9 4) |c_main_~#distance~0.offset|) v_ArrVal_192) |c_main_~#distance~0.offset|))) (not (<= (select (select |c_#memory_int| |c_main_~#Dest~0.base|) (+ (* c_main_~j~0 4) |c_main_~#Dest~0.offset|)) v_main_~x~0_9)))) is different from false [2022-04-08 03:35:11,068 WARN L833 $PredicateComparison]: unable to prove that (forall ((v_main_~x~0_9 Int) (v_ArrVal_192 Int)) (or (not (<= (select (select |c_#memory_int| |c_main_~#Dest~0.base|) |c_main_~#Dest~0.offset|) v_main_~x~0_9)) (<= 0 (select (store (select |c_#memory_int| |c_main_~#distance~0.base|) (+ (* v_main_~x~0_9 4) |c_main_~#distance~0.offset|) v_ArrVal_192) |c_main_~#distance~0.offset|)))) is different from false [2022-04-08 03:35:16,327 INFO L290 TraceCheckUtils]: 30: Hoare triple {3438#false} assume !false; {3438#false} is VALID [2022-04-08 03:35:16,327 INFO L290 TraceCheckUtils]: 29: Hoare triple {3549#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3438#false} is VALID [2022-04-08 03:35:16,327 INFO L290 TraceCheckUtils]: 28: Hoare triple {3545#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3549#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 03:35:16,328 INFO L272 TraceCheckUtils]: 27: Hoare triple {3541#(<= 0 |main_#t~mem21|)} call __VERIFIER_assert((if #t~mem21 >= 0 then 1 else 0)); {3545#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 03:35:16,329 INFO L290 TraceCheckUtils]: 26: Hoare triple {3568#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4))))} assume !!(~i~0 < ~nodecount~0);call #t~mem21 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {3541#(<= 0 |main_#t~mem21|)} is VALID [2022-04-08 03:35:16,329 INFO L290 TraceCheckUtils]: 25: Hoare triple {3572#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} ~i~0 := 0; {3568#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4))))} is VALID [2022-04-08 03:35:16,329 INFO L290 TraceCheckUtils]: 24: Hoare triple {3572#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} assume !(~i~0 < ~edgecount~0); {3572#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} is VALID [2022-04-08 03:35:16,330 INFO L290 TraceCheckUtils]: 23: Hoare triple {3572#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} #t~post14 := ~i~0;~i~0 := 1 + #t~post14;havoc #t~post14; {3572#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} is VALID [2022-04-08 03:35:16,330 INFO L290 TraceCheckUtils]: 22: Hoare triple {3572#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} assume !(#t~mem19 > #t~mem17 + #t~mem18);havoc #t~mem19;havoc #t~mem17;havoc #t~mem18; {3572#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} is VALID [2022-04-08 03:35:16,330 INFO L290 TraceCheckUtils]: 21: Hoare triple {3572#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} assume !!(~i~0 < ~edgecount~0);call #t~mem15 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~i~0, 4);~x~0 := #t~mem15;havoc #t~mem15;call #t~mem16 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~i~0, 4);~y~0 := #t~mem16;havoc #t~mem16;call #t~mem19 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem17 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem18 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~i~0, 4); {3572#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} is VALID [2022-04-08 03:35:16,330 INFO L290 TraceCheckUtils]: 20: Hoare triple {3572#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} ~i~0 := 0; {3572#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} is VALID [2022-04-08 03:35:16,331 INFO L290 TraceCheckUtils]: 19: Hoare triple {3572#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} assume !(~i~0 < ~nodecount~0); {3572#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} is VALID [2022-04-08 03:35:16,331 INFO L290 TraceCheckUtils]: 18: Hoare triple {3572#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {3572#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} is VALID [2022-04-08 03:35:16,331 INFO L290 TraceCheckUtils]: 17: Hoare triple {3572#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} assume !(~j~0 < ~edgecount~0); {3572#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} is VALID [2022-04-08 03:35:16,332 INFO L290 TraceCheckUtils]: 16: Hoare triple {3572#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} #t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {3572#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} is VALID [2022-04-08 03:35:16,332 INFO L290 TraceCheckUtils]: 15: Hoare triple {3603#(forall ((v_ArrVal_192 Int)) (<= 0 (select (store (select |#memory_int| |main_~#distance~0.base|) (+ (* main_~x~0 4) |main_~#distance~0.offset|) v_ArrVal_192) |main_~#distance~0.offset|)))} assume #t~mem13 > #t~mem11 + #t~mem12;havoc #t~mem13;havoc #t~mem11;havoc #t~mem12;call write~int(-1, ~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); {3572#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} is VALID [2022-04-08 03:35:16,334 INFO L290 TraceCheckUtils]: 14: Hoare triple {3607#(forall ((v_main_~x~0_9 Int)) (or (forall ((v_ArrVal_192 Int)) (<= 0 (select (store (select |#memory_int| |main_~#distance~0.base|) (+ (* v_main_~x~0_9 4) |main_~#distance~0.offset|) v_ArrVal_192) |main_~#distance~0.offset|))) (not (<= (select (select |#memory_int| |main_~#Dest~0.base|) (+ (* main_~j~0 4) |main_~#Dest~0.offset|)) v_main_~x~0_9))))} assume !!(~j~0 < ~edgecount~0);call #t~mem9 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4);~x~0 := #t~mem9;havoc #t~mem9;call #t~mem10 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4);~y~0 := #t~mem10;havoc #t~mem10;call #t~mem13 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem11 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem12 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); {3603#(forall ((v_ArrVal_192 Int)) (<= 0 (select (store (select |#memory_int| |main_~#distance~0.base|) (+ (* main_~x~0 4) |main_~#distance~0.offset|) v_ArrVal_192) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:16,336 INFO L290 TraceCheckUtils]: 13: Hoare triple {3611#(forall ((v_main_~x~0_9 Int) (v_ArrVal_192 Int)) (or (<= 0 (select (store (select |#memory_int| |main_~#distance~0.base|) (+ (* v_main_~x~0_9 4) |main_~#distance~0.offset|) v_ArrVal_192) |main_~#distance~0.offset|)) (not (<= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) v_main_~x~0_9))))} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {3607#(forall ((v_main_~x~0_9 Int)) (or (forall ((v_ArrVal_192 Int)) (<= 0 (select (store (select |#memory_int| |main_~#distance~0.base|) (+ (* v_main_~x~0_9 4) |main_~#distance~0.offset|) v_ArrVal_192) |main_~#distance~0.offset|))) (not (<= (select (select |#memory_int| |main_~#Dest~0.base|) (+ (* main_~j~0 4) |main_~#Dest~0.offset|)) v_main_~x~0_9))))} is VALID [2022-04-08 03:35:16,336 INFO L290 TraceCheckUtils]: 12: Hoare triple {3611#(forall ((v_main_~x~0_9 Int) (v_ArrVal_192 Int)) (or (<= 0 (select (store (select |#memory_int| |main_~#distance~0.base|) (+ (* v_main_~x~0_9 4) |main_~#distance~0.offset|) v_ArrVal_192) |main_~#distance~0.offset|)) (not (<= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) v_main_~x~0_9))))} ~i~0 := 0; {3611#(forall ((v_main_~x~0_9 Int) (v_ArrVal_192 Int)) (or (<= 0 (select (store (select |#memory_int| |main_~#distance~0.base|) (+ (* v_main_~x~0_9 4) |main_~#distance~0.offset|) v_ArrVal_192) |main_~#distance~0.offset|)) (not (<= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) v_main_~x~0_9))))} is VALID [2022-04-08 03:35:16,337 INFO L290 TraceCheckUtils]: 11: Hoare triple {3611#(forall ((v_main_~x~0_9 Int) (v_ArrVal_192 Int)) (or (<= 0 (select (store (select |#memory_int| |main_~#distance~0.base|) (+ (* v_main_~x~0_9 4) |main_~#distance~0.offset|) v_ArrVal_192) |main_~#distance~0.offset|)) (not (<= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) v_main_~x~0_9))))} assume !(~i~0 < ~nodecount~0); {3611#(forall ((v_main_~x~0_9 Int) (v_ArrVal_192 Int)) (or (<= 0 (select (store (select |#memory_int| |main_~#distance~0.base|) (+ (* v_main_~x~0_9 4) |main_~#distance~0.offset|) v_ArrVal_192) |main_~#distance~0.offset|)) (not (<= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) v_main_~x~0_9))))} is VALID [2022-04-08 03:35:16,337 INFO L290 TraceCheckUtils]: 10: Hoare triple {3611#(forall ((v_main_~x~0_9 Int) (v_ArrVal_192 Int)) (or (<= 0 (select (store (select |#memory_int| |main_~#distance~0.base|) (+ (* v_main_~x~0_9 4) |main_~#distance~0.offset|) v_ArrVal_192) |main_~#distance~0.offset|)) (not (<= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) v_main_~x~0_9))))} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {3611#(forall ((v_main_~x~0_9 Int) (v_ArrVal_192 Int)) (or (<= 0 (select (store (select |#memory_int| |main_~#distance~0.base|) (+ (* v_main_~x~0_9 4) |main_~#distance~0.offset|) v_ArrVal_192) |main_~#distance~0.offset|)) (not (<= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) v_main_~x~0_9))))} is VALID [2022-04-08 03:35:16,338 INFO L290 TraceCheckUtils]: 9: Hoare triple {3624#(forall ((v_main_~x~0_9 Int) (v_ArrVal_192 Int) (v_ArrVal_191 Int)) (or (not (<= (select (select (store |#memory_int| |main_~#distance~0.base| (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4)) v_ArrVal_191)) |main_~#Dest~0.base|) |main_~#Dest~0.offset|) v_main_~x~0_9)) (not (<= 0 v_ArrVal_191)) (<= 0 (select (store (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4)) v_ArrVal_191) (+ (* v_main_~x~0_9 4) |main_~#distance~0.offset|) v_ArrVal_192) |main_~#distance~0.offset|))))} assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {3611#(forall ((v_main_~x~0_9 Int) (v_ArrVal_192 Int)) (or (<= 0 (select (store (select |#memory_int| |main_~#distance~0.base|) (+ (* v_main_~x~0_9 4) |main_~#distance~0.offset|) v_ArrVal_192) |main_~#distance~0.offset|)) (not (<= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) v_main_~x~0_9))))} is VALID [2022-04-08 03:35:16,339 INFO L290 TraceCheckUtils]: 8: Hoare triple {3624#(forall ((v_main_~x~0_9 Int) (v_ArrVal_192 Int) (v_ArrVal_191 Int)) (or (not (<= (select (select (store |#memory_int| |main_~#distance~0.base| (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4)) v_ArrVal_191)) |main_~#Dest~0.base|) |main_~#Dest~0.offset|) v_main_~x~0_9)) (not (<= 0 v_ArrVal_191)) (<= 0 (select (store (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4)) v_ArrVal_191) (+ (* v_main_~x~0_9 4) |main_~#distance~0.offset|) v_ArrVal_192) |main_~#distance~0.offset|))))} assume !!(~i~0 < ~nodecount~0); {3624#(forall ((v_main_~x~0_9 Int) (v_ArrVal_192 Int) (v_ArrVal_191 Int)) (or (not (<= (select (select (store |#memory_int| |main_~#distance~0.base| (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4)) v_ArrVal_191)) |main_~#Dest~0.base|) |main_~#Dest~0.offset|) v_main_~x~0_9)) (not (<= 0 v_ArrVal_191)) (<= 0 (select (store (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4)) v_ArrVal_191) (+ (* v_main_~x~0_9 4) |main_~#distance~0.offset|) v_ArrVal_192) |main_~#distance~0.offset|))))} is VALID [2022-04-08 03:35:16,342 INFO L290 TraceCheckUtils]: 7: Hoare triple {3437#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.allocOnStack(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.allocOnStack(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.allocOnStack(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.allocOnStack(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {3624#(forall ((v_main_~x~0_9 Int) (v_ArrVal_192 Int) (v_ArrVal_191 Int)) (or (not (<= (select (select (store |#memory_int| |main_~#distance~0.base| (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4)) v_ArrVal_191)) |main_~#Dest~0.base|) |main_~#Dest~0.offset|) v_main_~x~0_9)) (not (<= 0 v_ArrVal_191)) (<= 0 (select (store (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4)) v_ArrVal_191) (+ (* v_main_~x~0_9 4) |main_~#distance~0.offset|) v_ArrVal_192) |main_~#distance~0.offset|))))} is VALID [2022-04-08 03:35:16,342 INFO L290 TraceCheckUtils]: 6: Hoare triple {3437#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {3437#true} is VALID [2022-04-08 03:35:16,342 INFO L290 TraceCheckUtils]: 5: Hoare triple {3437#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~nodecount~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~edgecount~0 := #t~nondet5;havoc #t~nondet5; {3437#true} is VALID [2022-04-08 03:35:16,342 INFO L272 TraceCheckUtils]: 4: Hoare triple {3437#true} call #t~ret22 := main(); {3437#true} is VALID [2022-04-08 03:35:16,342 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3437#true} {3437#true} #123#return; {3437#true} is VALID [2022-04-08 03:35:16,342 INFO L290 TraceCheckUtils]: 2: Hoare triple {3437#true} assume true; {3437#true} is VALID [2022-04-08 03:35:16,342 INFO L290 TraceCheckUtils]: 1: Hoare triple {3437#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3);~INFINITY~0 := 899; {3437#true} is VALID [2022-04-08 03:35:16,342 INFO L272 TraceCheckUtils]: 0: Hoare triple {3437#true} call ULTIMATE.init(); {3437#true} is VALID [2022-04-08 03:35:16,343 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 3 not checked. [2022-04-08 03:35:16,343 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [142149981] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 03:35:16,343 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 03:35:16,343 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 11, 11] total 29 [2022-04-08 03:35:16,343 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 03:35:16,343 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [660558429] [2022-04-08 03:35:16,344 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [660558429] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 03:35:16,344 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 03:35:16,344 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-08 03:35:16,344 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1512129609] [2022-04-08 03:35:16,344 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 03:35:16,344 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 13 states have (on average 2.076923076923077) internal successors, (27), 12 states have internal predecessors, (27), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 31 [2022-04-08 03:35:16,345 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 03:35:16,345 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 13 states have (on average 2.076923076923077) internal successors, (27), 12 states have internal predecessors, (27), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:35:16,371 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 03:35:16,371 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-08 03:35:16,371 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:16,371 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-08 03:35:16,372 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=110, Invalid=597, Unknown=3, NotChecked=102, Total=812 [2022-04-08 03:35:16,372 INFO L87 Difference]: Start difference. First operand 87 states and 110 transitions. Second operand has 14 states, 13 states have (on average 2.076923076923077) internal successors, (27), 12 states have internal predecessors, (27), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:35:18,164 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:18,164 INFO L93 Difference]: Finished difference Result 177 states and 227 transitions. [2022-04-08 03:35:18,165 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-08 03:35:18,165 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 13 states have (on average 2.076923076923077) internal successors, (27), 12 states have internal predecessors, (27), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 31 [2022-04-08 03:35:18,165 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 03:35:18,165 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 13 states have (on average 2.076923076923077) internal successors, (27), 12 states have internal predecessors, (27), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:35:18,168 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 140 transitions. [2022-04-08 03:35:18,168 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 13 states have (on average 2.076923076923077) internal successors, (27), 12 states have internal predecessors, (27), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:35:18,170 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 140 transitions. [2022-04-08 03:35:18,170 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 140 transitions. [2022-04-08 03:35:18,310 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 140 edges. 140 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 03:35:18,313 INFO L225 Difference]: With dead ends: 177 [2022-04-08 03:35:18,313 INFO L226 Difference]: Without dead ends: 175 [2022-04-08 03:35:18,314 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 89 GetRequests, 48 SyntacticMatches, 1 SemanticMatches, 40 ConstructedPredicates, 2 IntricatePredicates, 0 DeprecatedPredicates, 333 ImplicationChecksByTransitivity, 7.2s TimeCoverageRelationStatistics Valid=314, Invalid=1251, Unknown=3, NotChecked=154, Total=1722 [2022-04-08 03:35:18,314 INFO L913 BasicCegarLoop]: 26 mSDtfsCounter, 187 mSDsluCounter, 33 mSDsCounter, 0 mSdLazyCounter, 411 mSolverCounterSat, 81 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 188 SdHoareTripleChecker+Valid, 59 SdHoareTripleChecker+Invalid, 492 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 81 IncrementalHoareTripleChecker+Valid, 411 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-08 03:35:18,315 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [188 Valid, 59 Invalid, 492 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [81 Valid, 411 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-08 03:35:18,315 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 175 states. [2022-04-08 03:35:18,460 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 175 to 89. [2022-04-08 03:35:18,461 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 03:35:18,461 INFO L82 GeneralOperation]: Start isEquivalent. First operand 175 states. Second operand has 89 states, 81 states have (on average 1.3209876543209877) internal successors, (107), 82 states have internal predecessors, (107), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 03:35:18,462 INFO L74 IsIncluded]: Start isIncluded. First operand 175 states. Second operand has 89 states, 81 states have (on average 1.3209876543209877) internal successors, (107), 82 states have internal predecessors, (107), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 03:35:18,462 INFO L87 Difference]: Start difference. First operand 175 states. Second operand has 89 states, 81 states have (on average 1.3209876543209877) internal successors, (107), 82 states have internal predecessors, (107), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 03:35:18,471 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:18,471 INFO L93 Difference]: Finished difference Result 175 states and 225 transitions. [2022-04-08 03:35:18,471 INFO L276 IsEmpty]: Start isEmpty. Operand 175 states and 225 transitions. [2022-04-08 03:35:18,472 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:18,472 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:18,472 INFO L74 IsIncluded]: Start isIncluded. First operand has 89 states, 81 states have (on average 1.3209876543209877) internal successors, (107), 82 states have internal predecessors, (107), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Second operand 175 states. [2022-04-08 03:35:18,473 INFO L87 Difference]: Start difference. First operand has 89 states, 81 states have (on average 1.3209876543209877) internal successors, (107), 82 states have internal predecessors, (107), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Second operand 175 states. [2022-04-08 03:35:18,478 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:18,478 INFO L93 Difference]: Finished difference Result 175 states and 225 transitions. [2022-04-08 03:35:18,478 INFO L276 IsEmpty]: Start isEmpty. Operand 175 states and 225 transitions. [2022-04-08 03:35:18,478 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:18,478 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:18,478 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 03:35:18,478 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 03:35:18,479 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 89 states, 81 states have (on average 1.3209876543209877) internal successors, (107), 82 states have internal predecessors, (107), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 03:35:18,481 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 89 states to 89 states and 114 transitions. [2022-04-08 03:35:18,481 INFO L78 Accepts]: Start accepts. Automaton has 89 states and 114 transitions. Word has length 31 [2022-04-08 03:35:18,481 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 03:35:18,481 INFO L478 AbstractCegarLoop]: Abstraction has 89 states and 114 transitions. [2022-04-08 03:35:18,481 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 13 states have (on average 2.076923076923077) internal successors, (27), 12 states have internal predecessors, (27), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:35:18,482 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 89 states and 114 transitions. [2022-04-08 03:35:18,666 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 114 edges. 114 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 03:35:18,667 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 114 transitions. [2022-04-08 03:35:18,667 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2022-04-08 03:35:18,667 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 03:35:18,667 INFO L499 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] [2022-04-08 03:35:18,687 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Ended with exit code 0 [2022-04-08 03:35:18,871 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 03:35:18,871 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 03:35:18,872 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 03:35:18,872 INFO L85 PathProgramCache]: Analyzing trace with hash 1819082994, now seen corresponding path program 3 times [2022-04-08 03:35:18,872 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:18,872 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [45836047] [2022-04-08 03:35:18,876 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 03:35:18,876 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 03:35:18,876 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 03:35:18,876 INFO L85 PathProgramCache]: Analyzing trace with hash 1819082994, now seen corresponding path program 4 times [2022-04-08 03:35:18,876 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 03:35:18,876 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [901180607] [2022-04-08 03:35:18,876 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 03:35:18,876 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 03:35:18,901 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:19,039 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 03:35:19,040 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:19,043 INFO L290 TraceCheckUtils]: 0: Hoare triple {4575#(and (= |old(~INFINITY~0)| ~INFINITY~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3);~INFINITY~0 := 899; {4562#true} is VALID [2022-04-08 03:35:19,044 INFO L290 TraceCheckUtils]: 1: Hoare triple {4562#true} assume true; {4562#true} is VALID [2022-04-08 03:35:19,044 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {4562#true} {4562#true} #123#return; {4562#true} is VALID [2022-04-08 03:35:19,045 INFO L272 TraceCheckUtils]: 0: Hoare triple {4562#true} call ULTIMATE.init(); {4575#(and (= |old(~INFINITY~0)| ~INFINITY~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 03:35:19,045 INFO L290 TraceCheckUtils]: 1: Hoare triple {4575#(and (= |old(~INFINITY~0)| ~INFINITY~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3);~INFINITY~0 := 899; {4562#true} is VALID [2022-04-08 03:35:19,045 INFO L290 TraceCheckUtils]: 2: Hoare triple {4562#true} assume true; {4562#true} is VALID [2022-04-08 03:35:19,045 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4562#true} {4562#true} #123#return; {4562#true} is VALID [2022-04-08 03:35:19,045 INFO L272 TraceCheckUtils]: 4: Hoare triple {4562#true} call #t~ret22 := main(); {4562#true} is VALID [2022-04-08 03:35:19,045 INFO L290 TraceCheckUtils]: 5: Hoare triple {4562#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~nodecount~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~edgecount~0 := #t~nondet5;havoc #t~nondet5; {4562#true} is VALID [2022-04-08 03:35:19,045 INFO L290 TraceCheckUtils]: 6: Hoare triple {4562#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {4562#true} is VALID [2022-04-08 03:35:19,048 INFO L290 TraceCheckUtils]: 7: Hoare triple {4562#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.allocOnStack(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.allocOnStack(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.allocOnStack(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.allocOnStack(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {4567#(and (= |main_~#distance~0.offset| 0) (= main_~i~0 0))} is VALID [2022-04-08 03:35:19,048 INFO L290 TraceCheckUtils]: 8: Hoare triple {4567#(and (= |main_~#distance~0.offset| 0) (= main_~i~0 0))} assume !!(~i~0 < ~nodecount~0); {4567#(and (= |main_~#distance~0.offset| 0) (= main_~i~0 0))} is VALID [2022-04-08 03:35:19,049 INFO L290 TraceCheckUtils]: 9: Hoare triple {4567#(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); {4568#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4))) 0) (= main_~i~0 0))} is VALID [2022-04-08 03:35:19,049 INFO L290 TraceCheckUtils]: 10: Hoare triple {4568#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4))) 0) (= main_~i~0 0))} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {4569#(and (not (= (+ |main_~#distance~0.offset| (* main_~i~0 4)) 0)) (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} is VALID [2022-04-08 03:35:19,050 INFO L290 TraceCheckUtils]: 11: Hoare triple {4569#(and (not (= (+ |main_~#distance~0.offset| (* main_~i~0 4)) 0)) (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} assume !!(~i~0 < ~nodecount~0); {4569#(and (not (= (+ |main_~#distance~0.offset| (* main_~i~0 4)) 0)) (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} is VALID [2022-04-08 03:35:19,051 INFO L290 TraceCheckUtils]: 12: Hoare triple {4569#(and (not (= (+ |main_~#distance~0.offset| (* main_~i~0 4)) 0)) (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} assume !(~i~0 == ~source~0);call write~int(~INFINITY~0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {4570#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} is VALID [2022-04-08 03:35:19,051 INFO L290 TraceCheckUtils]: 13: Hoare triple {4570#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {4570#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} is VALID [2022-04-08 03:35:19,052 INFO L290 TraceCheckUtils]: 14: Hoare triple {4570#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} assume !(~i~0 < ~nodecount~0); {4570#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} is VALID [2022-04-08 03:35:19,052 INFO L290 TraceCheckUtils]: 15: Hoare triple {4570#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} ~i~0 := 0; {4570#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} is VALID [2022-04-08 03:35:19,053 INFO L290 TraceCheckUtils]: 16: Hoare triple {4570#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {4570#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} is VALID [2022-04-08 03:35:19,053 INFO L290 TraceCheckUtils]: 17: Hoare triple {4570#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} assume !(~j~0 < ~edgecount~0); {4570#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} is VALID [2022-04-08 03:35:19,054 INFO L290 TraceCheckUtils]: 18: Hoare triple {4570#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {4570#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} is VALID [2022-04-08 03:35:19,054 INFO L290 TraceCheckUtils]: 19: Hoare triple {4570#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {4570#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} is VALID [2022-04-08 03:35:19,055 INFO L290 TraceCheckUtils]: 20: Hoare triple {4570#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} assume !(~j~0 < ~edgecount~0); {4570#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} is VALID [2022-04-08 03:35:19,055 INFO L290 TraceCheckUtils]: 21: Hoare triple {4570#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {4570#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} is VALID [2022-04-08 03:35:19,056 INFO L290 TraceCheckUtils]: 22: Hoare triple {4570#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} assume !(~i~0 < ~nodecount~0); {4570#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} is VALID [2022-04-08 03:35:19,056 INFO L290 TraceCheckUtils]: 23: Hoare triple {4570#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} ~i~0 := 0; {4570#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} is VALID [2022-04-08 03:35:19,057 INFO L290 TraceCheckUtils]: 24: Hoare triple {4570#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} assume !(~i~0 < ~edgecount~0); {4570#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} is VALID [2022-04-08 03:35:19,057 INFO L290 TraceCheckUtils]: 25: Hoare triple {4570#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} ~i~0 := 0; {4571#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4))) 0))} is VALID [2022-04-08 03:35:19,058 INFO L290 TraceCheckUtils]: 26: Hoare triple {4571#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4))) 0))} assume !!(~i~0 < ~nodecount~0);call #t~mem21 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {4572#(= |main_#t~mem21| 0)} is VALID [2022-04-08 03:35:19,058 INFO L272 TraceCheckUtils]: 27: Hoare triple {4572#(= |main_#t~mem21| 0)} call __VERIFIER_assert((if #t~mem21 >= 0 then 1 else 0)); {4573#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 03:35:19,059 INFO L290 TraceCheckUtils]: 28: Hoare triple {4573#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {4574#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 03:35:19,059 INFO L290 TraceCheckUtils]: 29: Hoare triple {4574#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {4563#false} is VALID [2022-04-08 03:35:19,059 INFO L290 TraceCheckUtils]: 30: Hoare triple {4563#false} assume !false; {4563#false} is VALID [2022-04-08 03:35:19,060 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-08 03:35:19,060 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 03:35:19,060 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [901180607] [2022-04-08 03:35:19,060 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [901180607] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 03:35:19,060 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1253841837] [2022-04-08 03:35:19,060 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 03:35:19,060 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 03:35:19,060 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 03:35:19,061 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 03:35:19,062 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-08 03:35:19,119 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 03:35:19,119 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 03:35:19,120 INFO L263 TraceCheckSpWp]: Trace formula consists of 76 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-08 03:35:19,132 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:19,134 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 03:35:19,176 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 11 [2022-04-08 03:35:19,247 INFO L356 Elim1Store]: treesize reduction 40, result has 23.1 percent of original size [2022-04-08 03:35:19,247 INFO L390 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 1 case distinctions, treesize of input 28 treesize of output 27 [2022-04-08 03:35:20,517 INFO L356 Elim1Store]: treesize reduction 10, result has 23.1 percent of original size [2022-04-08 03:35:20,517 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 20 treesize of output 10 [2022-04-08 03:35:20,625 INFO L272 TraceCheckUtils]: 0: Hoare triple {4562#true} call ULTIMATE.init(); {4562#true} is VALID [2022-04-08 03:35:20,626 INFO L290 TraceCheckUtils]: 1: Hoare triple {4562#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3);~INFINITY~0 := 899; {4562#true} is VALID [2022-04-08 03:35:20,626 INFO L290 TraceCheckUtils]: 2: Hoare triple {4562#true} assume true; {4562#true} is VALID [2022-04-08 03:35:20,626 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4562#true} {4562#true} #123#return; {4562#true} is VALID [2022-04-08 03:35:20,627 INFO L272 TraceCheckUtils]: 4: Hoare triple {4562#true} call #t~ret22 := main(); {4562#true} is VALID [2022-04-08 03:35:20,627 INFO L290 TraceCheckUtils]: 5: Hoare triple {4562#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~nodecount~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~edgecount~0 := #t~nondet5;havoc #t~nondet5; {4562#true} is VALID [2022-04-08 03:35:20,627 INFO L290 TraceCheckUtils]: 6: Hoare triple {4562#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {4562#true} is VALID [2022-04-08 03:35:20,627 INFO L290 TraceCheckUtils]: 7: Hoare triple {4562#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.allocOnStack(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.allocOnStack(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.allocOnStack(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.allocOnStack(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {4562#true} is VALID [2022-04-08 03:35:20,627 INFO L290 TraceCheckUtils]: 8: Hoare triple {4562#true} assume !!(~i~0 < ~nodecount~0); {4562#true} is VALID [2022-04-08 03:35:20,628 INFO L290 TraceCheckUtils]: 9: Hoare triple {4562#true} assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {4606#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4))))} is VALID [2022-04-08 03:35:20,629 INFO L290 TraceCheckUtils]: 10: Hoare triple {4606#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4))))} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {4610#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset| (* main_~i~0 4))))} is VALID [2022-04-08 03:35:20,630 INFO L290 TraceCheckUtils]: 11: Hoare triple {4610#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset| (* main_~i~0 4))))} assume !!(~i~0 < ~nodecount~0); {4614#(and (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset| (* main_~i~0 4)))) (< main_~i~0 main_~nodecount~0))} is VALID [2022-04-08 03:35:20,630 INFO L290 TraceCheckUtils]: 12: Hoare triple {4614#(and (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset| (* main_~i~0 4)))) (< main_~i~0 main_~nodecount~0))} assume !(~i~0 == ~source~0);call write~int(~INFINITY~0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {4614#(and (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset| (* main_~i~0 4)))) (< main_~i~0 main_~nodecount~0))} is VALID [2022-04-08 03:35:20,632 INFO L290 TraceCheckUtils]: 13: Hoare triple {4614#(and (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset| (* main_~i~0 4)))) (< main_~i~0 main_~nodecount~0))} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {4621#(exists ((v_main_~i~0_66 Int)) (and (<= main_~i~0 (+ v_main_~i~0_66 1)) (< v_main_~i~0_66 main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* v_main_~i~0_66 4) (- 4) |main_~#distance~0.offset|)))))} is VALID [2022-04-08 03:35:20,633 INFO L290 TraceCheckUtils]: 14: Hoare triple {4621#(exists ((v_main_~i~0_66 Int)) (and (<= main_~i~0 (+ v_main_~i~0_66 1)) (< v_main_~i~0_66 main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* v_main_~i~0_66 4) (- 4) |main_~#distance~0.offset|)))))} assume !(~i~0 < ~nodecount~0); {4625#(exists ((v_main_~i~0_66 Int)) (and (<= main_~nodecount~0 (+ v_main_~i~0_66 1)) (< v_main_~i~0_66 main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* v_main_~i~0_66 4) (- 4) |main_~#distance~0.offset|)))))} is VALID [2022-04-08 03:35:20,633 INFO L290 TraceCheckUtils]: 15: Hoare triple {4625#(exists ((v_main_~i~0_66 Int)) (and (<= main_~nodecount~0 (+ v_main_~i~0_66 1)) (< v_main_~i~0_66 main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* v_main_~i~0_66 4) (- 4) |main_~#distance~0.offset|)))))} ~i~0 := 0; {4629#(and (exists ((v_main_~i~0_66 Int)) (and (<= main_~nodecount~0 (+ v_main_~i~0_66 1)) (< v_main_~i~0_66 main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* v_main_~i~0_66 4) (- 4) |main_~#distance~0.offset|))))) (= main_~i~0 0))} is VALID [2022-04-08 03:35:20,634 INFO L290 TraceCheckUtils]: 16: Hoare triple {4629#(and (exists ((v_main_~i~0_66 Int)) (and (<= main_~nodecount~0 (+ v_main_~i~0_66 1)) (< v_main_~i~0_66 main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* v_main_~i~0_66 4) (- 4) |main_~#distance~0.offset|))))) (= main_~i~0 0))} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {4629#(and (exists ((v_main_~i~0_66 Int)) (and (<= main_~nodecount~0 (+ v_main_~i~0_66 1)) (< v_main_~i~0_66 main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* v_main_~i~0_66 4) (- 4) |main_~#distance~0.offset|))))) (= main_~i~0 0))} is VALID [2022-04-08 03:35:20,635 INFO L290 TraceCheckUtils]: 17: Hoare triple {4629#(and (exists ((v_main_~i~0_66 Int)) (and (<= main_~nodecount~0 (+ v_main_~i~0_66 1)) (< v_main_~i~0_66 main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* v_main_~i~0_66 4) (- 4) |main_~#distance~0.offset|))))) (= main_~i~0 0))} assume !(~j~0 < ~edgecount~0); {4629#(and (exists ((v_main_~i~0_66 Int)) (and (<= main_~nodecount~0 (+ v_main_~i~0_66 1)) (< v_main_~i~0_66 main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* v_main_~i~0_66 4) (- 4) |main_~#distance~0.offset|))))) (= main_~i~0 0))} is VALID [2022-04-08 03:35:20,636 INFO L290 TraceCheckUtils]: 18: Hoare triple {4629#(and (exists ((v_main_~i~0_66 Int)) (and (<= main_~nodecount~0 (+ v_main_~i~0_66 1)) (< v_main_~i~0_66 main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* v_main_~i~0_66 4) (- 4) |main_~#distance~0.offset|))))) (= main_~i~0 0))} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {4639#(and (exists ((v_main_~i~0_66 Int)) (and (<= main_~nodecount~0 (+ v_main_~i~0_66 1)) (< v_main_~i~0_66 main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* v_main_~i~0_66 4) (- 4) |main_~#distance~0.offset|))))) (= (+ (- 1) main_~i~0) 0))} is VALID [2022-04-08 03:35:20,637 INFO L290 TraceCheckUtils]: 19: Hoare triple {4639#(and (exists ((v_main_~i~0_66 Int)) (and (<= main_~nodecount~0 (+ v_main_~i~0_66 1)) (< v_main_~i~0_66 main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* v_main_~i~0_66 4) (- 4) |main_~#distance~0.offset|))))) (= (+ (- 1) main_~i~0) 0))} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {4643#(and (exists ((v_main_~i~0_66 Int)) (and (<= main_~nodecount~0 (+ v_main_~i~0_66 1)) (< v_main_~i~0_66 main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* v_main_~i~0_66 4) (- 4) |main_~#distance~0.offset|))))) (= (+ (- 1) main_~i~0) 0) (< main_~i~0 main_~nodecount~0))} is VALID [2022-04-08 03:35:20,638 INFO L290 TraceCheckUtils]: 20: Hoare triple {4643#(and (exists ((v_main_~i~0_66 Int)) (and (<= main_~nodecount~0 (+ v_main_~i~0_66 1)) (< v_main_~i~0_66 main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* v_main_~i~0_66 4) (- 4) |main_~#distance~0.offset|))))) (= (+ (- 1) main_~i~0) 0) (< main_~i~0 main_~nodecount~0))} assume !(~j~0 < ~edgecount~0); {4643#(and (exists ((v_main_~i~0_66 Int)) (and (<= main_~nodecount~0 (+ v_main_~i~0_66 1)) (< v_main_~i~0_66 main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* v_main_~i~0_66 4) (- 4) |main_~#distance~0.offset|))))) (= (+ (- 1) main_~i~0) 0) (< main_~i~0 main_~nodecount~0))} is VALID [2022-04-08 03:35:20,639 INFO L290 TraceCheckUtils]: 21: Hoare triple {4643#(and (exists ((v_main_~i~0_66 Int)) (and (<= main_~nodecount~0 (+ v_main_~i~0_66 1)) (< v_main_~i~0_66 main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* v_main_~i~0_66 4) (- 4) |main_~#distance~0.offset|))))) (= (+ (- 1) main_~i~0) 0) (< main_~i~0 main_~nodecount~0))} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {4650#(and (< 1 main_~nodecount~0) (exists ((v_main_~i~0_66 Int)) (and (<= main_~nodecount~0 (+ v_main_~i~0_66 1)) (< v_main_~i~0_66 main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* v_main_~i~0_66 4) (- 4) |main_~#distance~0.offset|))))) (<= main_~i~0 2))} is VALID [2022-04-08 03:35:20,642 INFO L290 TraceCheckUtils]: 22: Hoare triple {4650#(and (< 1 main_~nodecount~0) (exists ((v_main_~i~0_66 Int)) (and (<= main_~nodecount~0 (+ v_main_~i~0_66 1)) (< v_main_~i~0_66 main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* v_main_~i~0_66 4) (- 4) |main_~#distance~0.offset|))))) (<= main_~i~0 2))} assume !(~i~0 < ~nodecount~0); {4654#(exists ((v_main_~i~0_66 Int)) (and (< 0 v_main_~i~0_66) (< v_main_~i~0_66 2) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* v_main_~i~0_66 4) (- 4) |main_~#distance~0.offset|)))))} is VALID [2022-04-08 03:35:20,643 INFO L290 TraceCheckUtils]: 23: Hoare triple {4654#(exists ((v_main_~i~0_66 Int)) (and (< 0 v_main_~i~0_66) (< v_main_~i~0_66 2) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* v_main_~i~0_66 4) (- 4) |main_~#distance~0.offset|)))))} ~i~0 := 0; {4654#(exists ((v_main_~i~0_66 Int)) (and (< 0 v_main_~i~0_66) (< v_main_~i~0_66 2) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* v_main_~i~0_66 4) (- 4) |main_~#distance~0.offset|)))))} is VALID [2022-04-08 03:35:20,644 INFO L290 TraceCheckUtils]: 24: Hoare triple {4654#(exists ((v_main_~i~0_66 Int)) (and (< 0 v_main_~i~0_66) (< v_main_~i~0_66 2) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* v_main_~i~0_66 4) (- 4) |main_~#distance~0.offset|)))))} assume !(~i~0 < ~edgecount~0); {4654#(exists ((v_main_~i~0_66 Int)) (and (< 0 v_main_~i~0_66) (< v_main_~i~0_66 2) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* v_main_~i~0_66 4) (- 4) |main_~#distance~0.offset|)))))} is VALID [2022-04-08 03:35:20,644 INFO L290 TraceCheckUtils]: 25: Hoare triple {4654#(exists ((v_main_~i~0_66 Int)) (and (< 0 v_main_~i~0_66) (< v_main_~i~0_66 2) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* v_main_~i~0_66 4) (- 4) |main_~#distance~0.offset|)))))} ~i~0 := 0; {4664#(and (exists ((v_main_~i~0_66 Int)) (and (< 0 v_main_~i~0_66) (< v_main_~i~0_66 2) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* v_main_~i~0_66 4) (- 4) |main_~#distance~0.offset|))))) (= main_~i~0 0))} is VALID [2022-04-08 03:35:20,645 INFO L290 TraceCheckUtils]: 26: Hoare triple {4664#(and (exists ((v_main_~i~0_66 Int)) (and (< 0 v_main_~i~0_66) (< v_main_~i~0_66 2) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* v_main_~i~0_66 4) (- 4) |main_~#distance~0.offset|))))) (= main_~i~0 0))} assume !!(~i~0 < ~nodecount~0);call #t~mem21 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {4668#(<= 0 |main_#t~mem21|)} is VALID [2022-04-08 03:35:20,646 INFO L272 TraceCheckUtils]: 27: Hoare triple {4668#(<= 0 |main_#t~mem21|)} call __VERIFIER_assert((if #t~mem21 >= 0 then 1 else 0)); {4672#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 03:35:20,647 INFO L290 TraceCheckUtils]: 28: Hoare triple {4672#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4676#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 03:35:20,647 INFO L290 TraceCheckUtils]: 29: Hoare triple {4676#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4563#false} is VALID [2022-04-08 03:35:20,647 INFO L290 TraceCheckUtils]: 30: Hoare triple {4563#false} assume !false; {4563#false} is VALID [2022-04-08 03:35:20,647 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 3 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 03:35:20,647 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 03:35:21,338 INFO L290 TraceCheckUtils]: 30: Hoare triple {4563#false} assume !false; {4563#false} is VALID [2022-04-08 03:35:21,339 INFO L290 TraceCheckUtils]: 29: Hoare triple {4676#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4563#false} is VALID [2022-04-08 03:35:21,339 INFO L290 TraceCheckUtils]: 28: Hoare triple {4672#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4676#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 03:35:21,340 INFO L272 TraceCheckUtils]: 27: Hoare triple {4668#(<= 0 |main_#t~mem21|)} call __VERIFIER_assert((if #t~mem21 >= 0 then 1 else 0)); {4672#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 03:35:21,340 INFO L290 TraceCheckUtils]: 26: Hoare triple {4606#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4))))} assume !!(~i~0 < ~nodecount~0);call #t~mem21 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {4668#(<= 0 |main_#t~mem21|)} is VALID [2022-04-08 03:35:21,340 INFO L290 TraceCheckUtils]: 25: Hoare triple {4698#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} ~i~0 := 0; {4606#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4))))} is VALID [2022-04-08 03:35:21,341 INFO L290 TraceCheckUtils]: 24: Hoare triple {4698#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} assume !(~i~0 < ~edgecount~0); {4698#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} is VALID [2022-04-08 03:35:21,341 INFO L290 TraceCheckUtils]: 23: Hoare triple {4698#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} ~i~0 := 0; {4698#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} is VALID [2022-04-08 03:35:21,341 INFO L290 TraceCheckUtils]: 22: Hoare triple {4708#(or (< main_~i~0 main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} assume !(~i~0 < ~nodecount~0); {4698#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} is VALID [2022-04-08 03:35:21,342 INFO L290 TraceCheckUtils]: 21: Hoare triple {4712#(or (< (+ main_~i~0 1) main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {4708#(or (< main_~i~0 main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:21,342 INFO L290 TraceCheckUtils]: 20: Hoare triple {4712#(or (< (+ main_~i~0 1) main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} assume !(~j~0 < ~edgecount~0); {4712#(or (< (+ main_~i~0 1) main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:21,342 INFO L290 TraceCheckUtils]: 19: Hoare triple {4719#(or (< (+ main_~i~0 1) main_~nodecount~0) (not (< main_~i~0 main_~nodecount~0)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {4712#(or (< (+ main_~i~0 1) main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:21,343 INFO L290 TraceCheckUtils]: 18: Hoare triple {4723#(or (not (< (+ main_~i~0 1) main_~nodecount~0)) (< (+ main_~i~0 2) main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {4719#(or (< (+ main_~i~0 1) main_~nodecount~0) (not (< main_~i~0 main_~nodecount~0)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:21,343 INFO L290 TraceCheckUtils]: 17: Hoare triple {4723#(or (not (< (+ main_~i~0 1) main_~nodecount~0)) (< (+ main_~i~0 2) main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} assume !(~j~0 < ~edgecount~0); {4723#(or (not (< (+ main_~i~0 1) main_~nodecount~0)) (< (+ main_~i~0 2) main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:21,344 INFO L290 TraceCheckUtils]: 16: Hoare triple {4723#(or (not (< (+ main_~i~0 1) main_~nodecount~0)) (< (+ main_~i~0 2) main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {4723#(or (not (< (+ main_~i~0 1) main_~nodecount~0)) (< (+ main_~i~0 2) main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:21,344 INFO L290 TraceCheckUtils]: 15: Hoare triple {4733#(or (< 2 main_~nodecount~0) (not (< 1 main_~nodecount~0)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} ~i~0 := 0; {4723#(or (not (< (+ main_~i~0 1) main_~nodecount~0)) (< (+ main_~i~0 2) main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:21,346 INFO L290 TraceCheckUtils]: 14: Hoare triple {4737#(or (< 2 main_~nodecount~0) (not (< 1 main_~nodecount~0)) (< main_~i~0 main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} assume !(~i~0 < ~nodecount~0); {4733#(or (< 2 main_~nodecount~0) (not (< 1 main_~nodecount~0)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:21,346 INFO L290 TraceCheckUtils]: 13: Hoare triple {4741#(or (< 2 main_~nodecount~0) (< (+ main_~i~0 1) main_~nodecount~0) (not (< 1 main_~nodecount~0)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {4737#(or (< 2 main_~nodecount~0) (not (< 1 main_~nodecount~0)) (< main_~i~0 main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:21,347 INFO L290 TraceCheckUtils]: 12: Hoare triple {4741#(or (< 2 main_~nodecount~0) (< (+ main_~i~0 1) main_~nodecount~0) (not (< 1 main_~nodecount~0)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} assume !(~i~0 == ~source~0);call write~int(~INFINITY~0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {4741#(or (< 2 main_~nodecount~0) (< (+ main_~i~0 1) main_~nodecount~0) (not (< 1 main_~nodecount~0)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:21,348 INFO L290 TraceCheckUtils]: 11: Hoare triple {4748#(or (<= 2 main_~i~0) (<= main_~i~0 0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} assume !!(~i~0 < ~nodecount~0); {4741#(or (< 2 main_~nodecount~0) (< (+ main_~i~0 1) main_~nodecount~0) (not (< 1 main_~nodecount~0)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:21,348 INFO L290 TraceCheckUtils]: 10: Hoare triple {4752#(or (<= (+ main_~i~0 1) 0) (<= 1 main_~i~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {4748#(or (<= 2 main_~i~0) (<= main_~i~0 0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:21,349 INFO L290 TraceCheckUtils]: 9: Hoare triple {4562#true} assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {4752#(or (<= (+ main_~i~0 1) 0) (<= 1 main_~i~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:21,349 INFO L290 TraceCheckUtils]: 8: Hoare triple {4562#true} assume !!(~i~0 < ~nodecount~0); {4562#true} is VALID [2022-04-08 03:35:21,350 INFO L290 TraceCheckUtils]: 7: Hoare triple {4562#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.allocOnStack(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.allocOnStack(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.allocOnStack(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.allocOnStack(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {4562#true} is VALID [2022-04-08 03:35:21,350 INFO L290 TraceCheckUtils]: 6: Hoare triple {4562#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {4562#true} is VALID [2022-04-08 03:35:21,350 INFO L290 TraceCheckUtils]: 5: Hoare triple {4562#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~nodecount~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~edgecount~0 := #t~nondet5;havoc #t~nondet5; {4562#true} is VALID [2022-04-08 03:35:21,350 INFO L272 TraceCheckUtils]: 4: Hoare triple {4562#true} call #t~ret22 := main(); {4562#true} is VALID [2022-04-08 03:35:21,350 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4562#true} {4562#true} #123#return; {4562#true} is VALID [2022-04-08 03:35:21,350 INFO L290 TraceCheckUtils]: 2: Hoare triple {4562#true} assume true; {4562#true} is VALID [2022-04-08 03:35:21,350 INFO L290 TraceCheckUtils]: 1: Hoare triple {4562#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3);~INFINITY~0 := 899; {4562#true} is VALID [2022-04-08 03:35:21,350 INFO L272 TraceCheckUtils]: 0: Hoare triple {4562#true} call ULTIMATE.init(); {4562#true} is VALID [2022-04-08 03:35:21,351 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 3 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 03:35:21,351 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1253841837] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 03:35:21,351 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 03:35:21,351 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 16, 16] total 35 [2022-04-08 03:35:21,351 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 03:35:21,351 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [45836047] [2022-04-08 03:35:21,351 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [45836047] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 03:35:21,352 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 03:35:21,352 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 03:35:21,352 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1166796374] [2022-04-08 03:35:21,352 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 03:35:21,352 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.4) internal successors, (24), 9 states have internal predecessors, (24), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 31 [2022-04-08 03:35:21,352 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 03:35:21,353 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 2.4) internal successors, (24), 9 states have internal predecessors, (24), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:35:21,381 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 03:35:21,381 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 03:35:21,381 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:21,382 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 03:35:21,382 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=195, Invalid=995, Unknown=0, NotChecked=0, Total=1190 [2022-04-08 03:35:21,383 INFO L87 Difference]: Start difference. First operand 89 states and 114 transitions. Second operand has 11 states, 10 states have (on average 2.4) internal successors, (24), 9 states have internal predecessors, (24), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:35:22,715 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:22,716 INFO L93 Difference]: Finished difference Result 218 states and 287 transitions. [2022-04-08 03:35:22,716 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-08 03:35:22,716 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.4) internal successors, (24), 9 states have internal predecessors, (24), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 31 [2022-04-08 03:35:22,716 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 03:35:22,716 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.4) internal successors, (24), 9 states have internal predecessors, (24), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:35:22,718 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 120 transitions. [2022-04-08 03:35:22,718 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.4) internal successors, (24), 9 states have internal predecessors, (24), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:35:22,720 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 120 transitions. [2022-04-08 03:35:22,720 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 120 transitions. [2022-04-08 03:35:22,845 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 120 edges. 120 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 03:35:22,849 INFO L225 Difference]: With dead ends: 218 [2022-04-08 03:35:22,849 INFO L226 Difference]: Without dead ends: 216 [2022-04-08 03:35:22,850 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 83 GetRequests, 38 SyntacticMatches, 2 SemanticMatches, 43 ConstructedPredicates, 0 IntricatePredicates, 1 DeprecatedPredicates, 489 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=337, Invalid=1643, Unknown=0, NotChecked=0, Total=1980 [2022-04-08 03:35:22,851 INFO L913 BasicCegarLoop]: 28 mSDtfsCounter, 121 mSDsluCounter, 38 mSDsCounter, 0 mSdLazyCounter, 419 mSolverCounterSat, 48 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 122 SdHoareTripleChecker+Valid, 66 SdHoareTripleChecker+Invalid, 467 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 48 IncrementalHoareTripleChecker+Valid, 419 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-08 03:35:22,851 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [122 Valid, 66 Invalid, 467 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [48 Valid, 419 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-08 03:35:22,852 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 216 states. [2022-04-08 03:35:23,022 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 216 to 112. [2022-04-08 03:35:23,022 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 03:35:23,022 INFO L82 GeneralOperation]: Start isEquivalent. First operand 216 states. Second operand has 112 states, 104 states have (on average 1.3557692307692308) internal successors, (141), 105 states have internal predecessors, (141), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 03:35:23,023 INFO L74 IsIncluded]: Start isIncluded. First operand 216 states. Second operand has 112 states, 104 states have (on average 1.3557692307692308) internal successors, (141), 105 states have internal predecessors, (141), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 03:35:23,023 INFO L87 Difference]: Start difference. First operand 216 states. Second operand has 112 states, 104 states have (on average 1.3557692307692308) internal successors, (141), 105 states have internal predecessors, (141), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 03:35:23,029 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:23,029 INFO L93 Difference]: Finished difference Result 216 states and 285 transitions. [2022-04-08 03:35:23,029 INFO L276 IsEmpty]: Start isEmpty. Operand 216 states and 285 transitions. [2022-04-08 03:35:23,030 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:23,030 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:23,031 INFO L74 IsIncluded]: Start isIncluded. First operand has 112 states, 104 states have (on average 1.3557692307692308) internal successors, (141), 105 states have internal predecessors, (141), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Second operand 216 states. [2022-04-08 03:35:23,032 INFO L87 Difference]: Start difference. First operand has 112 states, 104 states have (on average 1.3557692307692308) internal successors, (141), 105 states have internal predecessors, (141), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Second operand 216 states. [2022-04-08 03:35:23,037 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:23,037 INFO L93 Difference]: Finished difference Result 216 states and 285 transitions. [2022-04-08 03:35:23,038 INFO L276 IsEmpty]: Start isEmpty. Operand 216 states and 285 transitions. [2022-04-08 03:35:23,038 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:23,038 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:23,038 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 03:35:23,038 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 03:35:23,038 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 112 states, 104 states have (on average 1.3557692307692308) internal successors, (141), 105 states have internal predecessors, (141), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 03:35:23,041 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 112 states to 112 states and 148 transitions. [2022-04-08 03:35:23,041 INFO L78 Accepts]: Start accepts. Automaton has 112 states and 148 transitions. Word has length 31 [2022-04-08 03:35:23,041 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 03:35:23,041 INFO L478 AbstractCegarLoop]: Abstraction has 112 states and 148 transitions. [2022-04-08 03:35:23,042 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 2.4) internal successors, (24), 9 states have internal predecessors, (24), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:35:23,042 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 112 states and 148 transitions. [2022-04-08 03:35:23,284 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 148 edges. 148 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 03:35:23,285 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 148 transitions. [2022-04-08 03:35:23,285 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-08 03:35:23,285 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 03:35:23,285 INFO L499 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] [2022-04-08 03:35:23,418 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Ended with exit code 0 [2022-04-08 03:35:23,491 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 03:35:23,491 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 03:35:23,492 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 03:35:23,492 INFO L85 PathProgramCache]: Analyzing trace with hash -12240024, now seen corresponding path program 1 times [2022-04-08 03:35:23,492 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:23,492 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [363022157] [2022-04-08 03:35:23,494 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 03:35:23,494 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 03:35:23,495 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 03:35:23,495 INFO L85 PathProgramCache]: Analyzing trace with hash -12240024, now seen corresponding path program 2 times [2022-04-08 03:35:23,495 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 03:35:23,495 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1089911729] [2022-04-08 03:35:23,495 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 03:35:23,495 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 03:35:23,527 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:23,599 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 03:35:23,600 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:23,603 INFO L290 TraceCheckUtils]: 0: Hoare triple {5911#(and (= |old(~INFINITY~0)| ~INFINITY~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3);~INFINITY~0 := 899; {5897#true} is VALID [2022-04-08 03:35:23,604 INFO L290 TraceCheckUtils]: 1: Hoare triple {5897#true} assume true; {5897#true} is VALID [2022-04-08 03:35:23,604 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {5897#true} {5897#true} #123#return; {5897#true} is VALID [2022-04-08 03:35:23,604 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 21 [2022-04-08 03:35:23,605 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:23,612 INFO L290 TraceCheckUtils]: 0: Hoare triple {5897#true} ~cond := #in~cond; {5897#true} is VALID [2022-04-08 03:35:23,612 INFO L290 TraceCheckUtils]: 1: Hoare triple {5897#true} assume !(0 == ~cond); {5897#true} is VALID [2022-04-08 03:35:23,612 INFO L290 TraceCheckUtils]: 2: Hoare triple {5897#true} assume true; {5897#true} is VALID [2022-04-08 03:35:23,613 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5897#true} {5905#(and (= main_~i~0 0) (<= main_~nodecount~0 1))} #121#return; {5905#(and (= main_~i~0 0) (<= main_~nodecount~0 1))} is VALID [2022-04-08 03:35:23,614 INFO L272 TraceCheckUtils]: 0: Hoare triple {5897#true} call ULTIMATE.init(); {5911#(and (= |old(~INFINITY~0)| ~INFINITY~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 03:35:23,614 INFO L290 TraceCheckUtils]: 1: Hoare triple {5911#(and (= |old(~INFINITY~0)| ~INFINITY~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3);~INFINITY~0 := 899; {5897#true} is VALID [2022-04-08 03:35:23,614 INFO L290 TraceCheckUtils]: 2: Hoare triple {5897#true} assume true; {5897#true} is VALID [2022-04-08 03:35:23,614 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5897#true} {5897#true} #123#return; {5897#true} is VALID [2022-04-08 03:35:23,614 INFO L272 TraceCheckUtils]: 4: Hoare triple {5897#true} call #t~ret22 := main(); {5897#true} is VALID [2022-04-08 03:35:23,614 INFO L290 TraceCheckUtils]: 5: Hoare triple {5897#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~nodecount~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~edgecount~0 := #t~nondet5;havoc #t~nondet5; {5897#true} is VALID [2022-04-08 03:35:23,615 INFO L290 TraceCheckUtils]: 6: Hoare triple {5897#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {5897#true} is VALID [2022-04-08 03:35:23,615 INFO L290 TraceCheckUtils]: 7: Hoare triple {5897#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.allocOnStack(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.allocOnStack(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.allocOnStack(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.allocOnStack(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {5902#(= main_~i~0 0)} is VALID [2022-04-08 03:35:23,615 INFO L290 TraceCheckUtils]: 8: Hoare triple {5902#(= main_~i~0 0)} assume !!(~i~0 < ~nodecount~0); {5902#(= main_~i~0 0)} is VALID [2022-04-08 03:35:23,615 INFO L290 TraceCheckUtils]: 9: Hoare triple {5902#(= main_~i~0 0)} assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {5902#(= main_~i~0 0)} is VALID [2022-04-08 03:35:23,616 INFO L290 TraceCheckUtils]: 10: Hoare triple {5902#(= main_~i~0 0)} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {5903#(<= main_~i~0 1)} is VALID [2022-04-08 03:35:23,616 INFO L290 TraceCheckUtils]: 11: Hoare triple {5903#(<= main_~i~0 1)} assume !(~i~0 < ~nodecount~0); {5904#(<= main_~nodecount~0 1)} is VALID [2022-04-08 03:35:23,617 INFO L290 TraceCheckUtils]: 12: Hoare triple {5904#(<= main_~nodecount~0 1)} ~i~0 := 0; {5904#(<= main_~nodecount~0 1)} is VALID [2022-04-08 03:35:23,617 INFO L290 TraceCheckUtils]: 13: Hoare triple {5904#(<= main_~nodecount~0 1)} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {5904#(<= main_~nodecount~0 1)} is VALID [2022-04-08 03:35:23,617 INFO L290 TraceCheckUtils]: 14: Hoare triple {5904#(<= main_~nodecount~0 1)} assume !(~j~0 < ~edgecount~0); {5904#(<= main_~nodecount~0 1)} is VALID [2022-04-08 03:35:23,617 INFO L290 TraceCheckUtils]: 15: Hoare triple {5904#(<= main_~nodecount~0 1)} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {5904#(<= main_~nodecount~0 1)} is VALID [2022-04-08 03:35:23,618 INFO L290 TraceCheckUtils]: 16: Hoare triple {5904#(<= main_~nodecount~0 1)} assume !(~i~0 < ~nodecount~0); {5904#(<= main_~nodecount~0 1)} is VALID [2022-04-08 03:35:23,618 INFO L290 TraceCheckUtils]: 17: Hoare triple {5904#(<= main_~nodecount~0 1)} ~i~0 := 0; {5904#(<= main_~nodecount~0 1)} is VALID [2022-04-08 03:35:23,618 INFO L290 TraceCheckUtils]: 18: Hoare triple {5904#(<= main_~nodecount~0 1)} assume !(~i~0 < ~edgecount~0); {5904#(<= main_~nodecount~0 1)} is VALID [2022-04-08 03:35:23,619 INFO L290 TraceCheckUtils]: 19: Hoare triple {5904#(<= main_~nodecount~0 1)} ~i~0 := 0; {5905#(and (= main_~i~0 0) (<= main_~nodecount~0 1))} is VALID [2022-04-08 03:35:23,619 INFO L290 TraceCheckUtils]: 20: Hoare triple {5905#(and (= main_~i~0 0) (<= main_~nodecount~0 1))} assume !!(~i~0 < ~nodecount~0);call #t~mem21 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {5905#(and (= main_~i~0 0) (<= main_~nodecount~0 1))} is VALID [2022-04-08 03:35:23,619 INFO L272 TraceCheckUtils]: 21: Hoare triple {5905#(and (= main_~i~0 0) (<= main_~nodecount~0 1))} call __VERIFIER_assert((if #t~mem21 >= 0 then 1 else 0)); {5897#true} is VALID [2022-04-08 03:35:23,619 INFO L290 TraceCheckUtils]: 22: Hoare triple {5897#true} ~cond := #in~cond; {5897#true} is VALID [2022-04-08 03:35:23,619 INFO L290 TraceCheckUtils]: 23: Hoare triple {5897#true} assume !(0 == ~cond); {5897#true} is VALID [2022-04-08 03:35:23,619 INFO L290 TraceCheckUtils]: 24: Hoare triple {5897#true} assume true; {5897#true} is VALID [2022-04-08 03:35:23,620 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {5897#true} {5905#(and (= main_~i~0 0) (<= main_~nodecount~0 1))} #121#return; {5905#(and (= main_~i~0 0) (<= main_~nodecount~0 1))} is VALID [2022-04-08 03:35:23,620 INFO L290 TraceCheckUtils]: 26: Hoare triple {5905#(and (= main_~i~0 0) (<= main_~nodecount~0 1))} havoc #t~mem21; {5905#(and (= main_~i~0 0) (<= main_~nodecount~0 1))} is VALID [2022-04-08 03:35:23,621 INFO L290 TraceCheckUtils]: 27: Hoare triple {5905#(and (= main_~i~0 0) (<= main_~nodecount~0 1))} #t~post20 := ~i~0;~i~0 := 1 + #t~post20;havoc #t~post20; {5910#(<= main_~nodecount~0 main_~i~0)} is VALID [2022-04-08 03:35:23,621 INFO L290 TraceCheckUtils]: 28: Hoare triple {5910#(<= main_~nodecount~0 main_~i~0)} assume !!(~i~0 < ~nodecount~0);call #t~mem21 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {5898#false} is VALID [2022-04-08 03:35:23,621 INFO L272 TraceCheckUtils]: 29: Hoare triple {5898#false} call __VERIFIER_assert((if #t~mem21 >= 0 then 1 else 0)); {5898#false} is VALID [2022-04-08 03:35:23,621 INFO L290 TraceCheckUtils]: 30: Hoare triple {5898#false} ~cond := #in~cond; {5898#false} is VALID [2022-04-08 03:35:23,621 INFO L290 TraceCheckUtils]: 31: Hoare triple {5898#false} assume 0 == ~cond; {5898#false} is VALID [2022-04-08 03:35:23,622 INFO L290 TraceCheckUtils]: 32: Hoare triple {5898#false} assume !false; {5898#false} is VALID [2022-04-08 03:35:23,622 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 3 proven. 2 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-08 03:35:23,622 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 03:35:23,622 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1089911729] [2022-04-08 03:35:23,622 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1089911729] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 03:35:23,622 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [637007728] [2022-04-08 03:35:23,622 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 03:35:23,622 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 03:35:23,623 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 03:35:23,623 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 03:35:23,635 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-08 03:35:23,771 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 03:35:23,771 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 03:35:23,772 INFO L263 TraceCheckSpWp]: Trace formula consists of 290 conjuncts, 6 conjunts are in the unsatisfiable core [2022-04-08 03:35:23,785 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:23,786 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 03:35:23,946 INFO L272 TraceCheckUtils]: 0: Hoare triple {5897#true} call ULTIMATE.init(); {5897#true} is VALID [2022-04-08 03:35:23,946 INFO L290 TraceCheckUtils]: 1: Hoare triple {5897#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3);~INFINITY~0 := 899; {5897#true} is VALID [2022-04-08 03:35:23,946 INFO L290 TraceCheckUtils]: 2: Hoare triple {5897#true} assume true; {5897#true} is VALID [2022-04-08 03:35:23,946 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5897#true} {5897#true} #123#return; {5897#true} is VALID [2022-04-08 03:35:23,946 INFO L272 TraceCheckUtils]: 4: Hoare triple {5897#true} call #t~ret22 := main(); {5897#true} is VALID [2022-04-08 03:35:23,946 INFO L290 TraceCheckUtils]: 5: Hoare triple {5897#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~nodecount~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~edgecount~0 := #t~nondet5;havoc #t~nondet5; {5897#true} is VALID [2022-04-08 03:35:23,946 INFO L290 TraceCheckUtils]: 6: Hoare triple {5897#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {5897#true} is VALID [2022-04-08 03:35:23,948 INFO L290 TraceCheckUtils]: 7: Hoare triple {5897#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.allocOnStack(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.allocOnStack(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.allocOnStack(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.allocOnStack(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {5936#(<= main_~i~0 0)} is VALID [2022-04-08 03:35:23,948 INFO L290 TraceCheckUtils]: 8: Hoare triple {5936#(<= main_~i~0 0)} assume !!(~i~0 < ~nodecount~0); {5936#(<= main_~i~0 0)} is VALID [2022-04-08 03:35:23,948 INFO L290 TraceCheckUtils]: 9: Hoare triple {5936#(<= main_~i~0 0)} assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {5936#(<= main_~i~0 0)} is VALID [2022-04-08 03:35:23,949 INFO L290 TraceCheckUtils]: 10: Hoare triple {5936#(<= main_~i~0 0)} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {5903#(<= main_~i~0 1)} is VALID [2022-04-08 03:35:23,949 INFO L290 TraceCheckUtils]: 11: Hoare triple {5903#(<= main_~i~0 1)} assume !(~i~0 < ~nodecount~0); {5904#(<= main_~nodecount~0 1)} is VALID [2022-04-08 03:35:23,950 INFO L290 TraceCheckUtils]: 12: Hoare triple {5904#(<= main_~nodecount~0 1)} ~i~0 := 0; {5904#(<= main_~nodecount~0 1)} is VALID [2022-04-08 03:35:23,950 INFO L290 TraceCheckUtils]: 13: Hoare triple {5904#(<= main_~nodecount~0 1)} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {5904#(<= main_~nodecount~0 1)} is VALID [2022-04-08 03:35:23,951 INFO L290 TraceCheckUtils]: 14: Hoare triple {5904#(<= main_~nodecount~0 1)} assume !(~j~0 < ~edgecount~0); {5904#(<= main_~nodecount~0 1)} is VALID [2022-04-08 03:35:23,951 INFO L290 TraceCheckUtils]: 15: Hoare triple {5904#(<= main_~nodecount~0 1)} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {5904#(<= main_~nodecount~0 1)} is VALID [2022-04-08 03:35:23,951 INFO L290 TraceCheckUtils]: 16: Hoare triple {5904#(<= main_~nodecount~0 1)} assume !(~i~0 < ~nodecount~0); {5904#(<= main_~nodecount~0 1)} is VALID [2022-04-08 03:35:23,951 INFO L290 TraceCheckUtils]: 17: Hoare triple {5904#(<= main_~nodecount~0 1)} ~i~0 := 0; {5904#(<= main_~nodecount~0 1)} is VALID [2022-04-08 03:35:23,952 INFO L290 TraceCheckUtils]: 18: Hoare triple {5904#(<= main_~nodecount~0 1)} assume !(~i~0 < ~edgecount~0); {5904#(<= main_~nodecount~0 1)} is VALID [2022-04-08 03:35:23,952 INFO L290 TraceCheckUtils]: 19: Hoare triple {5904#(<= main_~nodecount~0 1)} ~i~0 := 0; {5973#(and (<= 0 main_~i~0) (<= main_~nodecount~0 1))} is VALID [2022-04-08 03:35:23,952 INFO L290 TraceCheckUtils]: 20: Hoare triple {5973#(and (<= 0 main_~i~0) (<= main_~nodecount~0 1))} assume !!(~i~0 < ~nodecount~0);call #t~mem21 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {5973#(and (<= 0 main_~i~0) (<= main_~nodecount~0 1))} is VALID [2022-04-08 03:35:23,952 INFO L272 TraceCheckUtils]: 21: Hoare triple {5973#(and (<= 0 main_~i~0) (<= main_~nodecount~0 1))} call __VERIFIER_assert((if #t~mem21 >= 0 then 1 else 0)); {5897#true} is VALID [2022-04-08 03:35:23,953 INFO L290 TraceCheckUtils]: 22: Hoare triple {5897#true} ~cond := #in~cond; {5897#true} is VALID [2022-04-08 03:35:23,953 INFO L290 TraceCheckUtils]: 23: Hoare triple {5897#true} assume !(0 == ~cond); {5897#true} is VALID [2022-04-08 03:35:23,953 INFO L290 TraceCheckUtils]: 24: Hoare triple {5897#true} assume true; {5897#true} is VALID [2022-04-08 03:35:23,953 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {5897#true} {5973#(and (<= 0 main_~i~0) (<= main_~nodecount~0 1))} #121#return; {5973#(and (<= 0 main_~i~0) (<= main_~nodecount~0 1))} is VALID [2022-04-08 03:35:23,953 INFO L290 TraceCheckUtils]: 26: Hoare triple {5973#(and (<= 0 main_~i~0) (<= main_~nodecount~0 1))} havoc #t~mem21; {5973#(and (<= 0 main_~i~0) (<= main_~nodecount~0 1))} is VALID [2022-04-08 03:35:23,954 INFO L290 TraceCheckUtils]: 27: Hoare triple {5973#(and (<= 0 main_~i~0) (<= main_~nodecount~0 1))} #t~post20 := ~i~0;~i~0 := 1 + #t~post20;havoc #t~post20; {5998#(and (<= main_~nodecount~0 1) (<= 1 main_~i~0))} is VALID [2022-04-08 03:35:23,954 INFO L290 TraceCheckUtils]: 28: Hoare triple {5998#(and (<= main_~nodecount~0 1) (<= 1 main_~i~0))} assume !!(~i~0 < ~nodecount~0);call #t~mem21 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {5898#false} is VALID [2022-04-08 03:35:23,954 INFO L272 TraceCheckUtils]: 29: Hoare triple {5898#false} call __VERIFIER_assert((if #t~mem21 >= 0 then 1 else 0)); {5898#false} is VALID [2022-04-08 03:35:23,954 INFO L290 TraceCheckUtils]: 30: Hoare triple {5898#false} ~cond := #in~cond; {5898#false} is VALID [2022-04-08 03:35:23,955 INFO L290 TraceCheckUtils]: 31: Hoare triple {5898#false} assume 0 == ~cond; {5898#false} is VALID [2022-04-08 03:35:23,955 INFO L290 TraceCheckUtils]: 32: Hoare triple {5898#false} assume !false; {5898#false} is VALID [2022-04-08 03:35:23,955 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 4 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-08 03:35:23,955 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 03:35:24,102 INFO L290 TraceCheckUtils]: 32: Hoare triple {5898#false} assume !false; {5898#false} is VALID [2022-04-08 03:35:24,102 INFO L290 TraceCheckUtils]: 31: Hoare triple {5898#false} assume 0 == ~cond; {5898#false} is VALID [2022-04-08 03:35:24,102 INFO L290 TraceCheckUtils]: 30: Hoare triple {5898#false} ~cond := #in~cond; {5898#false} is VALID [2022-04-08 03:35:24,102 INFO L272 TraceCheckUtils]: 29: Hoare triple {5898#false} call __VERIFIER_assert((if #t~mem21 >= 0 then 1 else 0)); {5898#false} is VALID [2022-04-08 03:35:24,103 INFO L290 TraceCheckUtils]: 28: Hoare triple {5910#(<= main_~nodecount~0 main_~i~0)} assume !!(~i~0 < ~nodecount~0);call #t~mem21 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {5898#false} is VALID [2022-04-08 03:35:24,103 INFO L290 TraceCheckUtils]: 27: Hoare triple {6029#(<= main_~nodecount~0 (+ main_~i~0 1))} #t~post20 := ~i~0;~i~0 := 1 + #t~post20;havoc #t~post20; {5910#(<= main_~nodecount~0 main_~i~0)} is VALID [2022-04-08 03:35:24,104 INFO L290 TraceCheckUtils]: 26: Hoare triple {6029#(<= main_~nodecount~0 (+ main_~i~0 1))} havoc #t~mem21; {6029#(<= main_~nodecount~0 (+ main_~i~0 1))} is VALID [2022-04-08 03:35:24,104 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {5897#true} {6029#(<= main_~nodecount~0 (+ main_~i~0 1))} #121#return; {6029#(<= main_~nodecount~0 (+ main_~i~0 1))} is VALID [2022-04-08 03:35:24,104 INFO L290 TraceCheckUtils]: 24: Hoare triple {5897#true} assume true; {5897#true} is VALID [2022-04-08 03:35:24,105 INFO L290 TraceCheckUtils]: 23: Hoare triple {5897#true} assume !(0 == ~cond); {5897#true} is VALID [2022-04-08 03:35:24,105 INFO L290 TraceCheckUtils]: 22: Hoare triple {5897#true} ~cond := #in~cond; {5897#true} is VALID [2022-04-08 03:35:24,105 INFO L272 TraceCheckUtils]: 21: Hoare triple {6029#(<= main_~nodecount~0 (+ main_~i~0 1))} call __VERIFIER_assert((if #t~mem21 >= 0 then 1 else 0)); {5897#true} is VALID [2022-04-08 03:35:24,105 INFO L290 TraceCheckUtils]: 20: Hoare triple {6029#(<= main_~nodecount~0 (+ main_~i~0 1))} assume !!(~i~0 < ~nodecount~0);call #t~mem21 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {6029#(<= main_~nodecount~0 (+ main_~i~0 1))} is VALID [2022-04-08 03:35:24,106 INFO L290 TraceCheckUtils]: 19: Hoare triple {5904#(<= main_~nodecount~0 1)} ~i~0 := 0; {6029#(<= main_~nodecount~0 (+ main_~i~0 1))} is VALID [2022-04-08 03:35:24,106 INFO L290 TraceCheckUtils]: 18: Hoare triple {5904#(<= main_~nodecount~0 1)} assume !(~i~0 < ~edgecount~0); {5904#(<= main_~nodecount~0 1)} is VALID [2022-04-08 03:35:24,106 INFO L290 TraceCheckUtils]: 17: Hoare triple {5904#(<= main_~nodecount~0 1)} ~i~0 := 0; {5904#(<= main_~nodecount~0 1)} is VALID [2022-04-08 03:35:24,107 INFO L290 TraceCheckUtils]: 16: Hoare triple {5904#(<= main_~nodecount~0 1)} assume !(~i~0 < ~nodecount~0); {5904#(<= main_~nodecount~0 1)} is VALID [2022-04-08 03:35:24,107 INFO L290 TraceCheckUtils]: 15: Hoare triple {5904#(<= main_~nodecount~0 1)} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {5904#(<= main_~nodecount~0 1)} is VALID [2022-04-08 03:35:24,107 INFO L290 TraceCheckUtils]: 14: Hoare triple {5904#(<= main_~nodecount~0 1)} assume !(~j~0 < ~edgecount~0); {5904#(<= main_~nodecount~0 1)} is VALID [2022-04-08 03:35:24,108 INFO L290 TraceCheckUtils]: 13: Hoare triple {5904#(<= main_~nodecount~0 1)} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {5904#(<= main_~nodecount~0 1)} is VALID [2022-04-08 03:35:24,108 INFO L290 TraceCheckUtils]: 12: Hoare triple {5904#(<= main_~nodecount~0 1)} ~i~0 := 0; {5904#(<= main_~nodecount~0 1)} is VALID [2022-04-08 03:35:24,108 INFO L290 TraceCheckUtils]: 11: Hoare triple {5903#(<= main_~i~0 1)} assume !(~i~0 < ~nodecount~0); {5904#(<= main_~nodecount~0 1)} is VALID [2022-04-08 03:35:24,109 INFO L290 TraceCheckUtils]: 10: Hoare triple {5936#(<= main_~i~0 0)} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {5903#(<= main_~i~0 1)} is VALID [2022-04-08 03:35:24,109 INFO L290 TraceCheckUtils]: 9: Hoare triple {5936#(<= main_~i~0 0)} assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {5936#(<= main_~i~0 0)} is VALID [2022-04-08 03:35:24,110 INFO L290 TraceCheckUtils]: 8: Hoare triple {5936#(<= main_~i~0 0)} assume !!(~i~0 < ~nodecount~0); {5936#(<= main_~i~0 0)} is VALID [2022-04-08 03:35:24,112 INFO L290 TraceCheckUtils]: 7: Hoare triple {5897#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.allocOnStack(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.allocOnStack(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.allocOnStack(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.allocOnStack(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {5936#(<= main_~i~0 0)} is VALID [2022-04-08 03:35:24,112 INFO L290 TraceCheckUtils]: 6: Hoare triple {5897#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {5897#true} is VALID [2022-04-08 03:35:24,112 INFO L290 TraceCheckUtils]: 5: Hoare triple {5897#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~nodecount~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~edgecount~0 := #t~nondet5;havoc #t~nondet5; {5897#true} is VALID [2022-04-08 03:35:24,112 INFO L272 TraceCheckUtils]: 4: Hoare triple {5897#true} call #t~ret22 := main(); {5897#true} is VALID [2022-04-08 03:35:24,112 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5897#true} {5897#true} #123#return; {5897#true} is VALID [2022-04-08 03:35:24,113 INFO L290 TraceCheckUtils]: 2: Hoare triple {5897#true} assume true; {5897#true} is VALID [2022-04-08 03:35:24,113 INFO L290 TraceCheckUtils]: 1: Hoare triple {5897#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3);~INFINITY~0 := 899; {5897#true} is VALID [2022-04-08 03:35:24,113 INFO L272 TraceCheckUtils]: 0: Hoare triple {5897#true} call ULTIMATE.init(); {5897#true} is VALID [2022-04-08 03:35:24,113 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 4 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-08 03:35:24,113 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [637007728] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 03:35:24,113 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 03:35:24,113 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 7, 7] total 12 [2022-04-08 03:35:24,113 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 03:35:24,114 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [363022157] [2022-04-08 03:35:24,114 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [363022157] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 03:35:24,114 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 03:35:24,114 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 03:35:24,114 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1207866997] [2022-04-08 03:35:24,114 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 03:35:24,114 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 33 [2022-04-08 03:35:24,114 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 03:35:24,115 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-08 03:35:24,143 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 03:35:24,144 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 03:35:24,144 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:24,144 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 03:35:24,144 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=37, Invalid=95, Unknown=0, NotChecked=0, Total=132 [2022-04-08 03:35:24,144 INFO L87 Difference]: Start difference. First operand 112 states and 148 transitions. Second operand has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-08 03:35:25,083 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:25,083 INFO L93 Difference]: Finished difference Result 254 states and 333 transitions. [2022-04-08 03:35:25,083 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 03:35:25,083 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 33 [2022-04-08 03:35:25,083 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 03:35:25,084 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-08 03:35:25,086 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 136 transitions. [2022-04-08 03:35:25,086 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-08 03:35:25,088 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 136 transitions. [2022-04-08 03:35:25,088 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 136 transitions. [2022-04-08 03:35:25,201 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 136 edges. 136 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 03:35:25,206 INFO L225 Difference]: With dead ends: 254 [2022-04-08 03:35:25,206 INFO L226 Difference]: Without dead ends: 185 [2022-04-08 03:35:25,206 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 82 GetRequests, 65 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 61 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=82, Invalid=224, Unknown=0, NotChecked=0, Total=306 [2022-04-08 03:35:25,209 INFO L913 BasicCegarLoop]: 26 mSDtfsCounter, 165 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 170 mSolverCounterSat, 66 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 166 SdHoareTripleChecker+Valid, 43 SdHoareTripleChecker+Invalid, 236 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 66 IncrementalHoareTripleChecker+Valid, 170 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 03:35:25,209 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [166 Valid, 43 Invalid, 236 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [66 Valid, 170 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 03:35:25,209 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 185 states. [2022-04-08 03:35:25,469 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 185 to 131. [2022-04-08 03:35:25,469 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 03:35:25,470 INFO L82 GeneralOperation]: Start isEquivalent. First operand 185 states. Second operand has 131 states, 122 states have (on average 1.3442622950819672) internal successors, (164), 124 states have internal predecessors, (164), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 03:35:25,472 INFO L74 IsIncluded]: Start isIncluded. First operand 185 states. Second operand has 131 states, 122 states have (on average 1.3442622950819672) internal successors, (164), 124 states have internal predecessors, (164), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 03:35:25,472 INFO L87 Difference]: Start difference. First operand 185 states. Second operand has 131 states, 122 states have (on average 1.3442622950819672) internal successors, (164), 124 states have internal predecessors, (164), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 03:35:25,478 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:25,478 INFO L93 Difference]: Finished difference Result 185 states and 243 transitions. [2022-04-08 03:35:25,478 INFO L276 IsEmpty]: Start isEmpty. Operand 185 states and 243 transitions. [2022-04-08 03:35:25,479 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:25,479 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:25,480 INFO L74 IsIncluded]: Start isIncluded. First operand has 131 states, 122 states have (on average 1.3442622950819672) internal successors, (164), 124 states have internal predecessors, (164), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Second operand 185 states. [2022-04-08 03:35:25,480 INFO L87 Difference]: Start difference. First operand has 131 states, 122 states have (on average 1.3442622950819672) internal successors, (164), 124 states have internal predecessors, (164), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Second operand 185 states. [2022-04-08 03:35:25,486 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:25,486 INFO L93 Difference]: Finished difference Result 185 states and 243 transitions. [2022-04-08 03:35:25,486 INFO L276 IsEmpty]: Start isEmpty. Operand 185 states and 243 transitions. [2022-04-08 03:35:25,486 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:25,486 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:25,486 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 03:35:25,486 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 03:35:25,487 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 131 states, 122 states have (on average 1.3442622950819672) internal successors, (164), 124 states have internal predecessors, (164), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 03:35:25,489 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 131 states to 131 states and 172 transitions. [2022-04-08 03:35:25,490 INFO L78 Accepts]: Start accepts. Automaton has 131 states and 172 transitions. Word has length 33 [2022-04-08 03:35:25,490 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 03:35:25,490 INFO L478 AbstractCegarLoop]: Abstraction has 131 states and 172 transitions. [2022-04-08 03:35:25,490 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-08 03:35:25,490 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 131 states and 172 transitions. [2022-04-08 03:35:25,742 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 172 edges. 172 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 03:35:25,742 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 172 transitions. [2022-04-08 03:35:25,743 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-08 03:35:25,743 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 03:35:25,743 INFO L499 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] [2022-04-08 03:35:25,762 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-08 03:35:25,947 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 03:35:25,948 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 03:35:25,948 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 03:35:25,948 INFO L85 PathProgramCache]: Analyzing trace with hash -1882894858, now seen corresponding path program 3 times [2022-04-08 03:35:25,948 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:25,948 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [100086890] [2022-04-08 03:35:25,961 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 03:35:25,961 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 03:35:25,961 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 03:35:25,961 INFO L85 PathProgramCache]: Analyzing trace with hash -1882894858, now seen corresponding path program 4 times [2022-04-08 03:35:25,961 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 03:35:25,961 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [69607227] [2022-04-08 03:35:25,962 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 03:35:25,962 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 03:35:25,985 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:26,035 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 03:35:26,037 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:26,039 INFO L290 TraceCheckUtils]: 0: Hoare triple {7275#(and (= |old(~INFINITY~0)| ~INFINITY~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3);~INFINITY~0 := 899; {7265#true} is VALID [2022-04-08 03:35:26,039 INFO L290 TraceCheckUtils]: 1: Hoare triple {7265#true} assume true; {7265#true} is VALID [2022-04-08 03:35:26,039 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {7265#true} {7265#true} #123#return; {7265#true} is VALID [2022-04-08 03:35:26,040 INFO L272 TraceCheckUtils]: 0: Hoare triple {7265#true} call ULTIMATE.init(); {7275#(and (= |old(~INFINITY~0)| ~INFINITY~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 03:35:26,040 INFO L290 TraceCheckUtils]: 1: Hoare triple {7275#(and (= |old(~INFINITY~0)| ~INFINITY~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3);~INFINITY~0 := 899; {7265#true} is VALID [2022-04-08 03:35:26,040 INFO L290 TraceCheckUtils]: 2: Hoare triple {7265#true} assume true; {7265#true} is VALID [2022-04-08 03:35:26,040 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7265#true} {7265#true} #123#return; {7265#true} is VALID [2022-04-08 03:35:26,040 INFO L272 TraceCheckUtils]: 4: Hoare triple {7265#true} call #t~ret22 := main(); {7265#true} is VALID [2022-04-08 03:35:26,040 INFO L290 TraceCheckUtils]: 5: Hoare triple {7265#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~nodecount~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~edgecount~0 := #t~nondet5;havoc #t~nondet5; {7265#true} is VALID [2022-04-08 03:35:26,040 INFO L290 TraceCheckUtils]: 6: Hoare triple {7265#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {7265#true} is VALID [2022-04-08 03:35:26,041 INFO L290 TraceCheckUtils]: 7: Hoare triple {7265#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.allocOnStack(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.allocOnStack(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.allocOnStack(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.allocOnStack(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {7265#true} is VALID [2022-04-08 03:35:26,041 INFO L290 TraceCheckUtils]: 8: Hoare triple {7265#true} assume !!(~i~0 < ~nodecount~0); {7265#true} is VALID [2022-04-08 03:35:26,041 INFO L290 TraceCheckUtils]: 9: Hoare triple {7265#true} assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {7265#true} is VALID [2022-04-08 03:35:26,041 INFO L290 TraceCheckUtils]: 10: Hoare triple {7265#true} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {7265#true} is VALID [2022-04-08 03:35:26,041 INFO L290 TraceCheckUtils]: 11: Hoare triple {7265#true} assume !(~i~0 < ~nodecount~0); {7265#true} is VALID [2022-04-08 03:35:26,041 INFO L290 TraceCheckUtils]: 12: Hoare triple {7265#true} ~i~0 := 0; {7265#true} is VALID [2022-04-08 03:35:26,041 INFO L290 TraceCheckUtils]: 13: Hoare triple {7265#true} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {7270#(= main_~j~0 0)} is VALID [2022-04-08 03:35:26,042 INFO L290 TraceCheckUtils]: 14: Hoare triple {7270#(= main_~j~0 0)} assume !!(~j~0 < ~edgecount~0);call #t~mem9 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4);~x~0 := #t~mem9;havoc #t~mem9;call #t~mem10 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4);~y~0 := #t~mem10;havoc #t~mem10;call #t~mem13 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem11 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem12 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); {7270#(= main_~j~0 0)} is VALID [2022-04-08 03:35:26,042 INFO L290 TraceCheckUtils]: 15: Hoare triple {7270#(= main_~j~0 0)} assume #t~mem13 > #t~mem11 + #t~mem12;havoc #t~mem13;havoc #t~mem11;havoc #t~mem12;call write~int(-1, ~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); {7270#(= main_~j~0 0)} is VALID [2022-04-08 03:35:26,042 INFO L290 TraceCheckUtils]: 16: Hoare triple {7270#(= main_~j~0 0)} #t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {7271#(<= 1 main_~j~0)} is VALID [2022-04-08 03:35:26,043 INFO L290 TraceCheckUtils]: 17: Hoare triple {7271#(<= 1 main_~j~0)} assume !!(~j~0 < ~edgecount~0);call #t~mem9 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4);~x~0 := #t~mem9;havoc #t~mem9;call #t~mem10 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4);~y~0 := #t~mem10;havoc #t~mem10;call #t~mem13 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem11 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem12 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); {7272#(<= 2 main_~edgecount~0)} is VALID [2022-04-08 03:35:26,043 INFO L290 TraceCheckUtils]: 18: Hoare triple {7272#(<= 2 main_~edgecount~0)} assume #t~mem13 > #t~mem11 + #t~mem12;havoc #t~mem13;havoc #t~mem11;havoc #t~mem12;call write~int(-1, ~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); {7272#(<= 2 main_~edgecount~0)} is VALID [2022-04-08 03:35:26,044 INFO L290 TraceCheckUtils]: 19: Hoare triple {7272#(<= 2 main_~edgecount~0)} #t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {7272#(<= 2 main_~edgecount~0)} is VALID [2022-04-08 03:35:26,044 INFO L290 TraceCheckUtils]: 20: Hoare triple {7272#(<= 2 main_~edgecount~0)} assume !(~j~0 < ~edgecount~0); {7272#(<= 2 main_~edgecount~0)} is VALID [2022-04-08 03:35:26,044 INFO L290 TraceCheckUtils]: 21: Hoare triple {7272#(<= 2 main_~edgecount~0)} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {7272#(<= 2 main_~edgecount~0)} is VALID [2022-04-08 03:35:26,045 INFO L290 TraceCheckUtils]: 22: Hoare triple {7272#(<= 2 main_~edgecount~0)} assume !(~i~0 < ~nodecount~0); {7272#(<= 2 main_~edgecount~0)} is VALID [2022-04-08 03:35:26,045 INFO L290 TraceCheckUtils]: 23: Hoare triple {7272#(<= 2 main_~edgecount~0)} ~i~0 := 0; {7273#(and (<= 2 main_~edgecount~0) (= main_~i~0 0))} is VALID [2022-04-08 03:35:26,046 INFO L290 TraceCheckUtils]: 24: Hoare triple {7273#(and (<= 2 main_~edgecount~0) (= main_~i~0 0))} assume !!(~i~0 < ~edgecount~0);call #t~mem15 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~i~0, 4);~x~0 := #t~mem15;havoc #t~mem15;call #t~mem16 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~i~0, 4);~y~0 := #t~mem16;havoc #t~mem16;call #t~mem19 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem17 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem18 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~i~0, 4); {7273#(and (<= 2 main_~edgecount~0) (= main_~i~0 0))} is VALID [2022-04-08 03:35:26,046 INFO L290 TraceCheckUtils]: 25: Hoare triple {7273#(and (<= 2 main_~edgecount~0) (= main_~i~0 0))} assume !(#t~mem19 > #t~mem17 + #t~mem18);havoc #t~mem19;havoc #t~mem17;havoc #t~mem18; {7273#(and (<= 2 main_~edgecount~0) (= main_~i~0 0))} is VALID [2022-04-08 03:35:26,046 INFO L290 TraceCheckUtils]: 26: Hoare triple {7273#(and (<= 2 main_~edgecount~0) (= main_~i~0 0))} #t~post14 := ~i~0;~i~0 := 1 + #t~post14;havoc #t~post14; {7274#(<= (+ main_~i~0 1) main_~edgecount~0)} is VALID [2022-04-08 03:35:26,047 INFO L290 TraceCheckUtils]: 27: Hoare triple {7274#(<= (+ main_~i~0 1) main_~edgecount~0)} assume !(~i~0 < ~edgecount~0); {7266#false} is VALID [2022-04-08 03:35:26,047 INFO L290 TraceCheckUtils]: 28: Hoare triple {7266#false} ~i~0 := 0; {7266#false} is VALID [2022-04-08 03:35:26,047 INFO L290 TraceCheckUtils]: 29: Hoare triple {7266#false} assume !!(~i~0 < ~nodecount~0);call #t~mem21 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {7266#false} is VALID [2022-04-08 03:35:26,047 INFO L272 TraceCheckUtils]: 30: Hoare triple {7266#false} call __VERIFIER_assert((if #t~mem21 >= 0 then 1 else 0)); {7266#false} is VALID [2022-04-08 03:35:26,047 INFO L290 TraceCheckUtils]: 31: Hoare triple {7266#false} ~cond := #in~cond; {7266#false} is VALID [2022-04-08 03:35:26,047 INFO L290 TraceCheckUtils]: 32: Hoare triple {7266#false} assume 0 == ~cond; {7266#false} is VALID [2022-04-08 03:35:26,047 INFO L290 TraceCheckUtils]: 33: Hoare triple {7266#false} assume !false; {7266#false} is VALID [2022-04-08 03:35:26,048 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 1 proven. 6 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-08 03:35:26,048 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 03:35:26,048 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [69607227] [2022-04-08 03:35:26,048 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [69607227] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 03:35:26,048 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [244354235] [2022-04-08 03:35:26,048 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 03:35:26,048 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 03:35:26,048 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 03:35:26,049 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 03:35:26,080 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-08 03:35:26,157 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 03:35:26,158 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 03:35:26,158 INFO L263 TraceCheckSpWp]: Trace formula consists of 112 conjuncts, 6 conjunts are in the unsatisfiable core [2022-04-08 03:35:26,169 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:26,170 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 03:35:26,331 INFO L272 TraceCheckUtils]: 0: Hoare triple {7265#true} call ULTIMATE.init(); {7265#true} is VALID [2022-04-08 03:35:26,331 INFO L290 TraceCheckUtils]: 1: Hoare triple {7265#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3);~INFINITY~0 := 899; {7265#true} is VALID [2022-04-08 03:35:26,331 INFO L290 TraceCheckUtils]: 2: Hoare triple {7265#true} assume true; {7265#true} is VALID [2022-04-08 03:35:26,331 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7265#true} {7265#true} #123#return; {7265#true} is VALID [2022-04-08 03:35:26,331 INFO L272 TraceCheckUtils]: 4: Hoare triple {7265#true} call #t~ret22 := main(); {7265#true} is VALID [2022-04-08 03:35:26,332 INFO L290 TraceCheckUtils]: 5: Hoare triple {7265#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~nodecount~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~edgecount~0 := #t~nondet5;havoc #t~nondet5; {7265#true} is VALID [2022-04-08 03:35:26,332 INFO L290 TraceCheckUtils]: 6: Hoare triple {7265#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {7265#true} is VALID [2022-04-08 03:35:26,332 INFO L290 TraceCheckUtils]: 7: Hoare triple {7265#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.allocOnStack(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.allocOnStack(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.allocOnStack(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.allocOnStack(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {7265#true} is VALID [2022-04-08 03:35:26,332 INFO L290 TraceCheckUtils]: 8: Hoare triple {7265#true} assume !!(~i~0 < ~nodecount~0); {7265#true} is VALID [2022-04-08 03:35:26,332 INFO L290 TraceCheckUtils]: 9: Hoare triple {7265#true} assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {7265#true} is VALID [2022-04-08 03:35:26,332 INFO L290 TraceCheckUtils]: 10: Hoare triple {7265#true} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {7265#true} is VALID [2022-04-08 03:35:26,332 INFO L290 TraceCheckUtils]: 11: Hoare triple {7265#true} assume !(~i~0 < ~nodecount~0); {7265#true} is VALID [2022-04-08 03:35:26,332 INFO L290 TraceCheckUtils]: 12: Hoare triple {7265#true} ~i~0 := 0; {7265#true} is VALID [2022-04-08 03:35:26,332 INFO L290 TraceCheckUtils]: 13: Hoare triple {7265#true} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {7318#(<= 0 main_~j~0)} is VALID [2022-04-08 03:35:26,333 INFO L290 TraceCheckUtils]: 14: Hoare triple {7318#(<= 0 main_~j~0)} assume !!(~j~0 < ~edgecount~0);call #t~mem9 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4);~x~0 := #t~mem9;havoc #t~mem9;call #t~mem10 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4);~y~0 := #t~mem10;havoc #t~mem10;call #t~mem13 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem11 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem12 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); {7318#(<= 0 main_~j~0)} is VALID [2022-04-08 03:35:26,333 INFO L290 TraceCheckUtils]: 15: Hoare triple {7318#(<= 0 main_~j~0)} assume #t~mem13 > #t~mem11 + #t~mem12;havoc #t~mem13;havoc #t~mem11;havoc #t~mem12;call write~int(-1, ~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); {7318#(<= 0 main_~j~0)} is VALID [2022-04-08 03:35:26,333 INFO L290 TraceCheckUtils]: 16: Hoare triple {7318#(<= 0 main_~j~0)} #t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {7271#(<= 1 main_~j~0)} is VALID [2022-04-08 03:35:26,334 INFO L290 TraceCheckUtils]: 17: Hoare triple {7271#(<= 1 main_~j~0)} assume !!(~j~0 < ~edgecount~0);call #t~mem9 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4);~x~0 := #t~mem9;havoc #t~mem9;call #t~mem10 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4);~y~0 := #t~mem10;havoc #t~mem10;call #t~mem13 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem11 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem12 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); {7272#(<= 2 main_~edgecount~0)} is VALID [2022-04-08 03:35:26,334 INFO L290 TraceCheckUtils]: 18: Hoare triple {7272#(<= 2 main_~edgecount~0)} assume #t~mem13 > #t~mem11 + #t~mem12;havoc #t~mem13;havoc #t~mem11;havoc #t~mem12;call write~int(-1, ~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); {7272#(<= 2 main_~edgecount~0)} is VALID [2022-04-08 03:35:26,334 INFO L290 TraceCheckUtils]: 19: Hoare triple {7272#(<= 2 main_~edgecount~0)} #t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {7272#(<= 2 main_~edgecount~0)} is VALID [2022-04-08 03:35:26,335 INFO L290 TraceCheckUtils]: 20: Hoare triple {7272#(<= 2 main_~edgecount~0)} assume !(~j~0 < ~edgecount~0); {7272#(<= 2 main_~edgecount~0)} is VALID [2022-04-08 03:35:26,335 INFO L290 TraceCheckUtils]: 21: Hoare triple {7272#(<= 2 main_~edgecount~0)} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {7272#(<= 2 main_~edgecount~0)} is VALID [2022-04-08 03:35:26,335 INFO L290 TraceCheckUtils]: 22: Hoare triple {7272#(<= 2 main_~edgecount~0)} assume !(~i~0 < ~nodecount~0); {7272#(<= 2 main_~edgecount~0)} is VALID [2022-04-08 03:35:26,336 INFO L290 TraceCheckUtils]: 23: Hoare triple {7272#(<= 2 main_~edgecount~0)} ~i~0 := 0; {7349#(and (<= main_~i~0 0) (<= 2 main_~edgecount~0))} is VALID [2022-04-08 03:35:26,336 INFO L290 TraceCheckUtils]: 24: Hoare triple {7349#(and (<= main_~i~0 0) (<= 2 main_~edgecount~0))} assume !!(~i~0 < ~edgecount~0);call #t~mem15 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~i~0, 4);~x~0 := #t~mem15;havoc #t~mem15;call #t~mem16 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~i~0, 4);~y~0 := #t~mem16;havoc #t~mem16;call #t~mem19 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem17 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem18 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~i~0, 4); {7349#(and (<= main_~i~0 0) (<= 2 main_~edgecount~0))} is VALID [2022-04-08 03:35:26,336 INFO L290 TraceCheckUtils]: 25: Hoare triple {7349#(and (<= main_~i~0 0) (<= 2 main_~edgecount~0))} assume !(#t~mem19 > #t~mem17 + #t~mem18);havoc #t~mem19;havoc #t~mem17;havoc #t~mem18; {7349#(and (<= main_~i~0 0) (<= 2 main_~edgecount~0))} is VALID [2022-04-08 03:35:26,337 INFO L290 TraceCheckUtils]: 26: Hoare triple {7349#(and (<= main_~i~0 0) (<= 2 main_~edgecount~0))} #t~post14 := ~i~0;~i~0 := 1 + #t~post14;havoc #t~post14; {7359#(and (<= main_~i~0 1) (<= 2 main_~edgecount~0))} is VALID [2022-04-08 03:35:26,337 INFO L290 TraceCheckUtils]: 27: Hoare triple {7359#(and (<= main_~i~0 1) (<= 2 main_~edgecount~0))} assume !(~i~0 < ~edgecount~0); {7266#false} is VALID [2022-04-08 03:35:26,337 INFO L290 TraceCheckUtils]: 28: Hoare triple {7266#false} ~i~0 := 0; {7266#false} is VALID [2022-04-08 03:35:26,337 INFO L290 TraceCheckUtils]: 29: Hoare triple {7266#false} assume !!(~i~0 < ~nodecount~0);call #t~mem21 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {7266#false} is VALID [2022-04-08 03:35:26,337 INFO L272 TraceCheckUtils]: 30: Hoare triple {7266#false} call __VERIFIER_assert((if #t~mem21 >= 0 then 1 else 0)); {7266#false} is VALID [2022-04-08 03:35:26,338 INFO L290 TraceCheckUtils]: 31: Hoare triple {7266#false} ~cond := #in~cond; {7266#false} is VALID [2022-04-08 03:35:26,338 INFO L290 TraceCheckUtils]: 32: Hoare triple {7266#false} assume 0 == ~cond; {7266#false} is VALID [2022-04-08 03:35:26,338 INFO L290 TraceCheckUtils]: 33: Hoare triple {7266#false} assume !false; {7266#false} is VALID [2022-04-08 03:35:26,338 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 2 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-08 03:35:26,338 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 03:35:26,463 INFO L290 TraceCheckUtils]: 33: Hoare triple {7266#false} assume !false; {7266#false} is VALID [2022-04-08 03:35:26,463 INFO L290 TraceCheckUtils]: 32: Hoare triple {7266#false} assume 0 == ~cond; {7266#false} is VALID [2022-04-08 03:35:26,463 INFO L290 TraceCheckUtils]: 31: Hoare triple {7266#false} ~cond := #in~cond; {7266#false} is VALID [2022-04-08 03:35:26,463 INFO L272 TraceCheckUtils]: 30: Hoare triple {7266#false} call __VERIFIER_assert((if #t~mem21 >= 0 then 1 else 0)); {7266#false} is VALID [2022-04-08 03:35:26,463 INFO L290 TraceCheckUtils]: 29: Hoare triple {7266#false} assume !!(~i~0 < ~nodecount~0);call #t~mem21 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {7266#false} is VALID [2022-04-08 03:35:26,463 INFO L290 TraceCheckUtils]: 28: Hoare triple {7266#false} ~i~0 := 0; {7266#false} is VALID [2022-04-08 03:35:26,463 INFO L290 TraceCheckUtils]: 27: Hoare triple {7274#(<= (+ main_~i~0 1) main_~edgecount~0)} assume !(~i~0 < ~edgecount~0); {7266#false} is VALID [2022-04-08 03:35:26,464 INFO L290 TraceCheckUtils]: 26: Hoare triple {7402#(<= (+ main_~i~0 2) main_~edgecount~0)} #t~post14 := ~i~0;~i~0 := 1 + #t~post14;havoc #t~post14; {7274#(<= (+ main_~i~0 1) main_~edgecount~0)} is VALID [2022-04-08 03:35:26,464 INFO L290 TraceCheckUtils]: 25: Hoare triple {7402#(<= (+ main_~i~0 2) main_~edgecount~0)} assume !(#t~mem19 > #t~mem17 + #t~mem18);havoc #t~mem19;havoc #t~mem17;havoc #t~mem18; {7402#(<= (+ main_~i~0 2) main_~edgecount~0)} is VALID [2022-04-08 03:35:26,464 INFO L290 TraceCheckUtils]: 24: Hoare triple {7402#(<= (+ main_~i~0 2) main_~edgecount~0)} assume !!(~i~0 < ~edgecount~0);call #t~mem15 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~i~0, 4);~x~0 := #t~mem15;havoc #t~mem15;call #t~mem16 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~i~0, 4);~y~0 := #t~mem16;havoc #t~mem16;call #t~mem19 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem17 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem18 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~i~0, 4); {7402#(<= (+ main_~i~0 2) main_~edgecount~0)} is VALID [2022-04-08 03:35:26,477 INFO L290 TraceCheckUtils]: 23: Hoare triple {7272#(<= 2 main_~edgecount~0)} ~i~0 := 0; {7402#(<= (+ main_~i~0 2) main_~edgecount~0)} is VALID [2022-04-08 03:35:26,478 INFO L290 TraceCheckUtils]: 22: Hoare triple {7272#(<= 2 main_~edgecount~0)} assume !(~i~0 < ~nodecount~0); {7272#(<= 2 main_~edgecount~0)} is VALID [2022-04-08 03:35:26,483 INFO L290 TraceCheckUtils]: 21: Hoare triple {7272#(<= 2 main_~edgecount~0)} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {7272#(<= 2 main_~edgecount~0)} is VALID [2022-04-08 03:35:26,484 INFO L290 TraceCheckUtils]: 20: Hoare triple {7272#(<= 2 main_~edgecount~0)} assume !(~j~0 < ~edgecount~0); {7272#(<= 2 main_~edgecount~0)} is VALID [2022-04-08 03:35:26,484 INFO L290 TraceCheckUtils]: 19: Hoare triple {7272#(<= 2 main_~edgecount~0)} #t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {7272#(<= 2 main_~edgecount~0)} is VALID [2022-04-08 03:35:26,485 INFO L290 TraceCheckUtils]: 18: Hoare triple {7272#(<= 2 main_~edgecount~0)} assume #t~mem13 > #t~mem11 + #t~mem12;havoc #t~mem13;havoc #t~mem11;havoc #t~mem12;call write~int(-1, ~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); {7272#(<= 2 main_~edgecount~0)} is VALID [2022-04-08 03:35:26,486 INFO L290 TraceCheckUtils]: 17: Hoare triple {7271#(<= 1 main_~j~0)} assume !!(~j~0 < ~edgecount~0);call #t~mem9 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4);~x~0 := #t~mem9;havoc #t~mem9;call #t~mem10 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4);~y~0 := #t~mem10;havoc #t~mem10;call #t~mem13 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem11 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem12 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); {7272#(<= 2 main_~edgecount~0)} is VALID [2022-04-08 03:35:26,486 INFO L290 TraceCheckUtils]: 16: Hoare triple {7318#(<= 0 main_~j~0)} #t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {7271#(<= 1 main_~j~0)} is VALID [2022-04-08 03:35:26,487 INFO L290 TraceCheckUtils]: 15: Hoare triple {7318#(<= 0 main_~j~0)} assume #t~mem13 > #t~mem11 + #t~mem12;havoc #t~mem13;havoc #t~mem11;havoc #t~mem12;call write~int(-1, ~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); {7318#(<= 0 main_~j~0)} is VALID [2022-04-08 03:35:26,487 INFO L290 TraceCheckUtils]: 14: Hoare triple {7318#(<= 0 main_~j~0)} assume !!(~j~0 < ~edgecount~0);call #t~mem9 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4);~x~0 := #t~mem9;havoc #t~mem9;call #t~mem10 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4);~y~0 := #t~mem10;havoc #t~mem10;call #t~mem13 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem11 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem12 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); {7318#(<= 0 main_~j~0)} is VALID [2022-04-08 03:35:26,488 INFO L290 TraceCheckUtils]: 13: Hoare triple {7265#true} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {7318#(<= 0 main_~j~0)} is VALID [2022-04-08 03:35:26,488 INFO L290 TraceCheckUtils]: 12: Hoare triple {7265#true} ~i~0 := 0; {7265#true} is VALID [2022-04-08 03:35:26,488 INFO L290 TraceCheckUtils]: 11: Hoare triple {7265#true} assume !(~i~0 < ~nodecount~0); {7265#true} is VALID [2022-04-08 03:35:26,488 INFO L290 TraceCheckUtils]: 10: Hoare triple {7265#true} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {7265#true} is VALID [2022-04-08 03:35:26,488 INFO L290 TraceCheckUtils]: 9: Hoare triple {7265#true} assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {7265#true} is VALID [2022-04-08 03:35:26,488 INFO L290 TraceCheckUtils]: 8: Hoare triple {7265#true} assume !!(~i~0 < ~nodecount~0); {7265#true} is VALID [2022-04-08 03:35:26,488 INFO L290 TraceCheckUtils]: 7: Hoare triple {7265#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.allocOnStack(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.allocOnStack(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.allocOnStack(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.allocOnStack(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {7265#true} is VALID [2022-04-08 03:35:26,489 INFO L290 TraceCheckUtils]: 6: Hoare triple {7265#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {7265#true} is VALID [2022-04-08 03:35:26,489 INFO L290 TraceCheckUtils]: 5: Hoare triple {7265#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~nodecount~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~edgecount~0 := #t~nondet5;havoc #t~nondet5; {7265#true} is VALID [2022-04-08 03:35:26,489 INFO L272 TraceCheckUtils]: 4: Hoare triple {7265#true} call #t~ret22 := main(); {7265#true} is VALID [2022-04-08 03:35:26,489 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7265#true} {7265#true} #123#return; {7265#true} is VALID [2022-04-08 03:35:26,489 INFO L290 TraceCheckUtils]: 2: Hoare triple {7265#true} assume true; {7265#true} is VALID [2022-04-08 03:35:26,489 INFO L290 TraceCheckUtils]: 1: Hoare triple {7265#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3);~INFINITY~0 := 899; {7265#true} is VALID [2022-04-08 03:35:26,489 INFO L272 TraceCheckUtils]: 0: Hoare triple {7265#true} call ULTIMATE.init(); {7265#true} is VALID [2022-04-08 03:35:26,489 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 2 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-08 03:35:26,489 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [244354235] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 03:35:26,490 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 03:35:26,490 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 7, 7] total 12 [2022-04-08 03:35:26,490 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 03:35:26,490 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [100086890] [2022-04-08 03:35:26,490 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [100086890] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 03:35:26,490 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 03:35:26,490 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 03:35:26,490 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [948675690] [2022-04-08 03:35:26,490 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 03:35:26,491 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.75) internal successors, (30), 7 states have internal predecessors, (30), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 34 [2022-04-08 03:35:26,491 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 03:35:26,491 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.75) internal successors, (30), 7 states have internal predecessors, (30), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:35:26,527 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 03:35:26,527 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 03:35:26,527 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:26,528 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 03:35:26,528 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=97, Unknown=0, NotChecked=0, Total=132 [2022-04-08 03:35:26,528 INFO L87 Difference]: Start difference. First operand 131 states and 172 transitions. Second operand has 8 states, 8 states have (on average 3.75) internal successors, (30), 7 states have internal predecessors, (30), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:35:27,678 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:27,679 INFO L93 Difference]: Finished difference Result 240 states and 310 transitions. [2022-04-08 03:35:27,679 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-08 03:35:27,679 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.75) internal successors, (30), 7 states have internal predecessors, (30), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 34 [2022-04-08 03:35:27,679 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 03:35:27,679 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.75) internal successors, (30), 7 states have internal predecessors, (30), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:35:27,681 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 104 transitions. [2022-04-08 03:35:27,681 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.75) internal successors, (30), 7 states have internal predecessors, (30), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:35:27,682 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 104 transitions. [2022-04-08 03:35:27,682 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 104 transitions. [2022-04-08 03:35:27,775 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 104 edges. 104 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 03:35:27,780 INFO L225 Difference]: With dead ends: 240 [2022-04-08 03:35:27,780 INFO L226 Difference]: Without dead ends: 219 [2022-04-08 03:35:27,784 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 84 GetRequests, 64 SyntacticMatches, 2 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 59 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=98, Invalid=282, Unknown=0, NotChecked=0, Total=380 [2022-04-08 03:35:27,784 INFO L913 BasicCegarLoop]: 48 mSDtfsCounter, 120 mSDsluCounter, 22 mSDsCounter, 0 mSdLazyCounter, 232 mSolverCounterSat, 39 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 120 SdHoareTripleChecker+Valid, 70 SdHoareTripleChecker+Invalid, 271 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 39 IncrementalHoareTripleChecker+Valid, 232 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 03:35:27,785 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [120 Valid, 70 Invalid, 271 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [39 Valid, 232 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 03:35:27,786 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 219 states. [2022-04-08 03:35:28,207 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 219 to 174. [2022-04-08 03:35:28,208 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 03:35:28,208 INFO L82 GeneralOperation]: Start isEquivalent. First operand 219 states. Second operand has 174 states, 165 states have (on average 1.3393939393939394) internal successors, (221), 167 states have internal predecessors, (221), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 03:35:28,208 INFO L74 IsIncluded]: Start isIncluded. First operand 219 states. Second operand has 174 states, 165 states have (on average 1.3393939393939394) internal successors, (221), 167 states have internal predecessors, (221), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 03:35:28,209 INFO L87 Difference]: Start difference. First operand 219 states. Second operand has 174 states, 165 states have (on average 1.3393939393939394) internal successors, (221), 167 states have internal predecessors, (221), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 03:35:28,213 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:28,214 INFO L93 Difference]: Finished difference Result 219 states and 286 transitions. [2022-04-08 03:35:28,214 INFO L276 IsEmpty]: Start isEmpty. Operand 219 states and 286 transitions. [2022-04-08 03:35:28,214 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:28,214 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:28,215 INFO L74 IsIncluded]: Start isIncluded. First operand has 174 states, 165 states have (on average 1.3393939393939394) internal successors, (221), 167 states have internal predecessors, (221), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Second operand 219 states. [2022-04-08 03:35:28,215 INFO L87 Difference]: Start difference. First operand has 174 states, 165 states have (on average 1.3393939393939394) internal successors, (221), 167 states have internal predecessors, (221), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Second operand 219 states. [2022-04-08 03:35:28,220 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:28,220 INFO L93 Difference]: Finished difference Result 219 states and 286 transitions. [2022-04-08 03:35:28,220 INFO L276 IsEmpty]: Start isEmpty. Operand 219 states and 286 transitions. [2022-04-08 03:35:28,220 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:28,220 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:28,220 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 03:35:28,220 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 03:35:28,221 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 174 states, 165 states have (on average 1.3393939393939394) internal successors, (221), 167 states have internal predecessors, (221), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 03:35:28,224 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 174 states to 174 states and 229 transitions. [2022-04-08 03:35:28,224 INFO L78 Accepts]: Start accepts. Automaton has 174 states and 229 transitions. Word has length 34 [2022-04-08 03:35:28,224 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 03:35:28,224 INFO L478 AbstractCegarLoop]: Abstraction has 174 states and 229 transitions. [2022-04-08 03:35:28,225 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.75) internal successors, (30), 7 states have internal predecessors, (30), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:35:28,225 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 174 states and 229 transitions. [2022-04-08 03:35:28,580 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 229 edges. 229 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 03:35:28,581 INFO L276 IsEmpty]: Start isEmpty. Operand 174 states and 229 transitions. [2022-04-08 03:35:28,581 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-08 03:35:28,581 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 03:35:28,581 INFO L499 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] [2022-04-08 03:35:28,597 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-08 03:35:28,783 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 03:35:28,784 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 03:35:28,784 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 03:35:28,784 INFO L85 PathProgramCache]: Analyzing trace with hash -1856507910, now seen corresponding path program 5 times [2022-04-08 03:35:28,784 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:28,784 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1850515694] [2022-04-08 03:35:28,787 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 03:35:28,788 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 03:35:28,788 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 03:35:28,788 INFO L85 PathProgramCache]: Analyzing trace with hash -1856507910, now seen corresponding path program 6 times [2022-04-08 03:35:28,788 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 03:35:28,788 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [656396970] [2022-04-08 03:35:28,788 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 03:35:28,788 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 03:35:28,807 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:28,845 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 03:35:28,846 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:28,849 INFO L290 TraceCheckUtils]: 0: Hoare triple {8772#(and (= |old(~INFINITY~0)| ~INFINITY~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3);~INFINITY~0 := 899; {8765#true} is VALID [2022-04-08 03:35:28,849 INFO L290 TraceCheckUtils]: 1: Hoare triple {8765#true} assume true; {8765#true} is VALID [2022-04-08 03:35:28,849 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {8765#true} {8765#true} #123#return; {8765#true} is VALID [2022-04-08 03:35:28,850 INFO L272 TraceCheckUtils]: 0: Hoare triple {8765#true} call ULTIMATE.init(); {8772#(and (= |old(~INFINITY~0)| ~INFINITY~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 03:35:28,850 INFO L290 TraceCheckUtils]: 1: Hoare triple {8772#(and (= |old(~INFINITY~0)| ~INFINITY~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3);~INFINITY~0 := 899; {8765#true} is VALID [2022-04-08 03:35:28,850 INFO L290 TraceCheckUtils]: 2: Hoare triple {8765#true} assume true; {8765#true} is VALID [2022-04-08 03:35:28,850 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8765#true} {8765#true} #123#return; {8765#true} is VALID [2022-04-08 03:35:28,850 INFO L272 TraceCheckUtils]: 4: Hoare triple {8765#true} call #t~ret22 := main(); {8765#true} is VALID [2022-04-08 03:35:28,850 INFO L290 TraceCheckUtils]: 5: Hoare triple {8765#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~nodecount~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~edgecount~0 := #t~nondet5;havoc #t~nondet5; {8765#true} is VALID [2022-04-08 03:35:28,850 INFO L290 TraceCheckUtils]: 6: Hoare triple {8765#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {8765#true} is VALID [2022-04-08 03:35:28,852 INFO L290 TraceCheckUtils]: 7: Hoare triple {8765#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.allocOnStack(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.allocOnStack(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.allocOnStack(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.allocOnStack(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {8770#(and (= main_~source~0 0) (= main_~i~0 0))} is VALID [2022-04-08 03:35:28,853 INFO L290 TraceCheckUtils]: 8: Hoare triple {8770#(and (= main_~source~0 0) (= main_~i~0 0))} assume !!(~i~0 < ~nodecount~0); {8770#(and (= main_~source~0 0) (= main_~i~0 0))} is VALID [2022-04-08 03:35:28,853 INFO L290 TraceCheckUtils]: 9: Hoare triple {8770#(and (= 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); {8770#(and (= main_~source~0 0) (= main_~i~0 0))} is VALID [2022-04-08 03:35:28,854 INFO L290 TraceCheckUtils]: 10: Hoare triple {8770#(and (= main_~source~0 0) (= main_~i~0 0))} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {8771#(and (= main_~source~0 0) (not (= main_~i~0 0)))} is VALID [2022-04-08 03:35:28,854 INFO L290 TraceCheckUtils]: 11: Hoare triple {8771#(and (= main_~source~0 0) (not (= main_~i~0 0)))} assume !!(~i~0 < ~nodecount~0); {8771#(and (= main_~source~0 0) (not (= main_~i~0 0)))} is VALID [2022-04-08 03:35:28,854 INFO L290 TraceCheckUtils]: 12: Hoare triple {8771#(and (= main_~source~0 0) (not (= main_~i~0 0)))} assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {8766#false} is VALID [2022-04-08 03:35:28,854 INFO L290 TraceCheckUtils]: 13: Hoare triple {8766#false} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {8766#false} is VALID [2022-04-08 03:35:28,855 INFO L290 TraceCheckUtils]: 14: Hoare triple {8766#false} assume !!(~i~0 < ~nodecount~0); {8766#false} is VALID [2022-04-08 03:35:28,855 INFO L290 TraceCheckUtils]: 15: Hoare triple {8766#false} assume !(~i~0 == ~source~0);call write~int(~INFINITY~0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {8766#false} is VALID [2022-04-08 03:35:28,855 INFO L290 TraceCheckUtils]: 16: Hoare triple {8766#false} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {8766#false} is VALID [2022-04-08 03:35:28,855 INFO L290 TraceCheckUtils]: 17: Hoare triple {8766#false} assume !(~i~0 < ~nodecount~0); {8766#false} is VALID [2022-04-08 03:35:28,855 INFO L290 TraceCheckUtils]: 18: Hoare triple {8766#false} ~i~0 := 0; {8766#false} is VALID [2022-04-08 03:35:28,855 INFO L290 TraceCheckUtils]: 19: Hoare triple {8766#false} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {8766#false} is VALID [2022-04-08 03:35:28,855 INFO L290 TraceCheckUtils]: 20: Hoare triple {8766#false} assume !(~j~0 < ~edgecount~0); {8766#false} is VALID [2022-04-08 03:35:28,855 INFO L290 TraceCheckUtils]: 21: Hoare triple {8766#false} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {8766#false} is VALID [2022-04-08 03:35:28,855 INFO L290 TraceCheckUtils]: 22: Hoare triple {8766#false} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {8766#false} is VALID [2022-04-08 03:35:28,855 INFO L290 TraceCheckUtils]: 23: Hoare triple {8766#false} assume !(~j~0 < ~edgecount~0); {8766#false} is VALID [2022-04-08 03:35:28,855 INFO L290 TraceCheckUtils]: 24: Hoare triple {8766#false} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {8766#false} is VALID [2022-04-08 03:35:28,855 INFO L290 TraceCheckUtils]: 25: Hoare triple {8766#false} assume !(~i~0 < ~nodecount~0); {8766#false} is VALID [2022-04-08 03:35:28,856 INFO L290 TraceCheckUtils]: 26: Hoare triple {8766#false} ~i~0 := 0; {8766#false} is VALID [2022-04-08 03:35:28,856 INFO L290 TraceCheckUtils]: 27: Hoare triple {8766#false} assume !(~i~0 < ~edgecount~0); {8766#false} is VALID [2022-04-08 03:35:28,856 INFO L290 TraceCheckUtils]: 28: Hoare triple {8766#false} ~i~0 := 0; {8766#false} is VALID [2022-04-08 03:35:28,856 INFO L290 TraceCheckUtils]: 29: Hoare triple {8766#false} assume !!(~i~0 < ~nodecount~0);call #t~mem21 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {8766#false} is VALID [2022-04-08 03:35:28,856 INFO L272 TraceCheckUtils]: 30: Hoare triple {8766#false} call __VERIFIER_assert((if #t~mem21 >= 0 then 1 else 0)); {8766#false} is VALID [2022-04-08 03:35:28,856 INFO L290 TraceCheckUtils]: 31: Hoare triple {8766#false} ~cond := #in~cond; {8766#false} is VALID [2022-04-08 03:35:28,856 INFO L290 TraceCheckUtils]: 32: Hoare triple {8766#false} assume 0 == ~cond; {8766#false} is VALID [2022-04-08 03:35:28,856 INFO L290 TraceCheckUtils]: 33: Hoare triple {8766#false} assume !false; {8766#false} is VALID [2022-04-08 03:35:28,856 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 8 proven. 2 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-04-08 03:35:28,856 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 03:35:28,856 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [656396970] [2022-04-08 03:35:28,857 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [656396970] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 03:35:28,857 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [158342246] [2022-04-08 03:35:28,857 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 03:35:28,857 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 03:35:28,857 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 03:35:28,859 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 03:35:28,884 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-08 03:35:28,953 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 2 check-sat command(s) [2022-04-08 03:35:28,953 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 03:35:28,954 INFO L263 TraceCheckSpWp]: Trace formula consists of 269 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-08 03:35:28,967 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:28,967 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 03:35:29,088 INFO L272 TraceCheckUtils]: 0: Hoare triple {8765#true} call ULTIMATE.init(); {8765#true} is VALID [2022-04-08 03:35:29,088 INFO L290 TraceCheckUtils]: 1: Hoare triple {8765#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3);~INFINITY~0 := 899; {8765#true} is VALID [2022-04-08 03:35:29,088 INFO L290 TraceCheckUtils]: 2: Hoare triple {8765#true} assume true; {8765#true} is VALID [2022-04-08 03:35:29,088 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8765#true} {8765#true} #123#return; {8765#true} is VALID [2022-04-08 03:35:29,088 INFO L272 TraceCheckUtils]: 4: Hoare triple {8765#true} call #t~ret22 := main(); {8765#true} is VALID [2022-04-08 03:35:29,089 INFO L290 TraceCheckUtils]: 5: Hoare triple {8765#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~nodecount~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~edgecount~0 := #t~nondet5;havoc #t~nondet5; {8765#true} is VALID [2022-04-08 03:35:29,089 INFO L290 TraceCheckUtils]: 6: Hoare triple {8765#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {8765#true} is VALID [2022-04-08 03:35:29,091 INFO L290 TraceCheckUtils]: 7: Hoare triple {8765#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.allocOnStack(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.allocOnStack(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.allocOnStack(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.allocOnStack(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {8797#(and (<= main_~source~0 0) (<= 0 main_~i~0))} is VALID [2022-04-08 03:35:29,091 INFO L290 TraceCheckUtils]: 8: Hoare triple {8797#(and (<= main_~source~0 0) (<= 0 main_~i~0))} assume !!(~i~0 < ~nodecount~0); {8797#(and (<= main_~source~0 0) (<= 0 main_~i~0))} is VALID [2022-04-08 03:35:29,092 INFO L290 TraceCheckUtils]: 9: Hoare triple {8797#(and (<= main_~source~0 0) (<= 0 main_~i~0))} assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {8797#(and (<= main_~source~0 0) (<= 0 main_~i~0))} is VALID [2022-04-08 03:35:29,092 INFO L290 TraceCheckUtils]: 10: Hoare triple {8797#(and (<= main_~source~0 0) (<= 0 main_~i~0))} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {8807#(and (<= main_~source~0 0) (<= 1 main_~i~0))} is VALID [2022-04-08 03:35:29,093 INFO L290 TraceCheckUtils]: 11: Hoare triple {8807#(and (<= main_~source~0 0) (<= 1 main_~i~0))} assume !!(~i~0 < ~nodecount~0); {8807#(and (<= main_~source~0 0) (<= 1 main_~i~0))} is VALID [2022-04-08 03:35:29,093 INFO L290 TraceCheckUtils]: 12: Hoare triple {8807#(and (<= main_~source~0 0) (<= 1 main_~i~0))} assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {8766#false} is VALID [2022-04-08 03:35:29,093 INFO L290 TraceCheckUtils]: 13: Hoare triple {8766#false} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {8766#false} is VALID [2022-04-08 03:35:29,093 INFO L290 TraceCheckUtils]: 14: Hoare triple {8766#false} assume !!(~i~0 < ~nodecount~0); {8766#false} is VALID [2022-04-08 03:35:29,093 INFO L290 TraceCheckUtils]: 15: Hoare triple {8766#false} assume !(~i~0 == ~source~0);call write~int(~INFINITY~0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {8766#false} is VALID [2022-04-08 03:35:29,093 INFO L290 TraceCheckUtils]: 16: Hoare triple {8766#false} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {8766#false} is VALID [2022-04-08 03:35:29,093 INFO L290 TraceCheckUtils]: 17: Hoare triple {8766#false} assume !(~i~0 < ~nodecount~0); {8766#false} is VALID [2022-04-08 03:35:29,094 INFO L290 TraceCheckUtils]: 18: Hoare triple {8766#false} ~i~0 := 0; {8766#false} is VALID [2022-04-08 03:35:29,094 INFO L290 TraceCheckUtils]: 19: Hoare triple {8766#false} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {8766#false} is VALID [2022-04-08 03:35:29,094 INFO L290 TraceCheckUtils]: 20: Hoare triple {8766#false} assume !(~j~0 < ~edgecount~0); {8766#false} is VALID [2022-04-08 03:35:29,094 INFO L290 TraceCheckUtils]: 21: Hoare triple {8766#false} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {8766#false} is VALID [2022-04-08 03:35:29,094 INFO L290 TraceCheckUtils]: 22: Hoare triple {8766#false} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {8766#false} is VALID [2022-04-08 03:35:29,094 INFO L290 TraceCheckUtils]: 23: Hoare triple {8766#false} assume !(~j~0 < ~edgecount~0); {8766#false} is VALID [2022-04-08 03:35:29,094 INFO L290 TraceCheckUtils]: 24: Hoare triple {8766#false} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {8766#false} is VALID [2022-04-08 03:35:29,094 INFO L290 TraceCheckUtils]: 25: Hoare triple {8766#false} assume !(~i~0 < ~nodecount~0); {8766#false} is VALID [2022-04-08 03:35:29,094 INFO L290 TraceCheckUtils]: 26: Hoare triple {8766#false} ~i~0 := 0; {8766#false} is VALID [2022-04-08 03:35:29,094 INFO L290 TraceCheckUtils]: 27: Hoare triple {8766#false} assume !(~i~0 < ~edgecount~0); {8766#false} is VALID [2022-04-08 03:35:29,094 INFO L290 TraceCheckUtils]: 28: Hoare triple {8766#false} ~i~0 := 0; {8766#false} is VALID [2022-04-08 03:35:29,094 INFO L290 TraceCheckUtils]: 29: Hoare triple {8766#false} assume !!(~i~0 < ~nodecount~0);call #t~mem21 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {8766#false} is VALID [2022-04-08 03:35:29,095 INFO L272 TraceCheckUtils]: 30: Hoare triple {8766#false} call __VERIFIER_assert((if #t~mem21 >= 0 then 1 else 0)); {8766#false} is VALID [2022-04-08 03:35:29,095 INFO L290 TraceCheckUtils]: 31: Hoare triple {8766#false} ~cond := #in~cond; {8766#false} is VALID [2022-04-08 03:35:29,095 INFO L290 TraceCheckUtils]: 32: Hoare triple {8766#false} assume 0 == ~cond; {8766#false} is VALID [2022-04-08 03:35:29,095 INFO L290 TraceCheckUtils]: 33: Hoare triple {8766#false} assume !false; {8766#false} is VALID [2022-04-08 03:35:29,095 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-04-08 03:35:29,095 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 03:35:29,095 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [158342246] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 03:35:29,095 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-08 03:35:29,095 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [5] total 7 [2022-04-08 03:35:29,096 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 03:35:29,096 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1850515694] [2022-04-08 03:35:29,096 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1850515694] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 03:35:29,096 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 03:35:29,096 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-08 03:35:29,096 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2021302349] [2022-04-08 03:35:29,096 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 03:35:29,097 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 6.5) internal successors, (26), 4 states have internal predecessors, (26), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 34 [2022-04-08 03:35:29,097 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 03:35:29,097 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 6.5) internal successors, (26), 4 states have internal predecessors, (26), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:35:29,118 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 03:35:29,118 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-08 03:35:29,118 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:29,118 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-08 03:35:29,118 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-04-08 03:35:29,119 INFO L87 Difference]: Start difference. First operand 174 states and 229 transitions. Second operand has 4 states, 4 states have (on average 6.5) internal successors, (26), 4 states have internal predecessors, (26), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:35:29,678 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:29,678 INFO L93 Difference]: Finished difference Result 292 states and 382 transitions. [2022-04-08 03:35:29,678 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-08 03:35:29,678 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 6.5) internal successors, (26), 4 states have internal predecessors, (26), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 34 [2022-04-08 03:35:29,679 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 03:35:29,679 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 6.5) internal successors, (26), 4 states have internal predecessors, (26), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:35:29,680 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 88 transitions. [2022-04-08 03:35:29,680 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 6.5) internal successors, (26), 4 states have internal predecessors, (26), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:35:29,681 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 88 transitions. [2022-04-08 03:35:29,681 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 88 transitions. [2022-04-08 03:35:29,755 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 03:35:29,759 INFO L225 Difference]: With dead ends: 292 [2022-04-08 03:35:29,759 INFO L226 Difference]: Without dead ends: 154 [2022-04-08 03:35:29,760 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 40 GetRequests, 35 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-04-08 03:35:29,761 INFO L913 BasicCegarLoop]: 35 mSDtfsCounter, 25 mSDsluCounter, 35 mSDsCounter, 0 mSdLazyCounter, 34 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 27 SdHoareTripleChecker+Valid, 70 SdHoareTripleChecker+Invalid, 41 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 34 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 03:35:29,761 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [27 Valid, 70 Invalid, 41 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 34 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 03:35:29,762 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 154 states. [2022-04-08 03:35:30,203 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 154 to 139. [2022-04-08 03:35:30,204 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 03:35:30,204 INFO L82 GeneralOperation]: Start isEquivalent. First operand 154 states. Second operand has 139 states, 130 states have (on average 1.2846153846153847) internal successors, (167), 132 states have internal predecessors, (167), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 03:35:30,204 INFO L74 IsIncluded]: Start isIncluded. First operand 154 states. Second operand has 139 states, 130 states have (on average 1.2846153846153847) internal successors, (167), 132 states have internal predecessors, (167), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 03:35:30,205 INFO L87 Difference]: Start difference. First operand 154 states. Second operand has 139 states, 130 states have (on average 1.2846153846153847) internal successors, (167), 132 states have internal predecessors, (167), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 03:35:30,208 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:30,208 INFO L93 Difference]: Finished difference Result 154 states and 193 transitions. [2022-04-08 03:35:30,208 INFO L276 IsEmpty]: Start isEmpty. Operand 154 states and 193 transitions. [2022-04-08 03:35:30,208 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:30,208 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:30,209 INFO L74 IsIncluded]: Start isIncluded. First operand has 139 states, 130 states have (on average 1.2846153846153847) internal successors, (167), 132 states have internal predecessors, (167), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Second operand 154 states. [2022-04-08 03:35:30,209 INFO L87 Difference]: Start difference. First operand has 139 states, 130 states have (on average 1.2846153846153847) internal successors, (167), 132 states have internal predecessors, (167), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Second operand 154 states. [2022-04-08 03:35:30,212 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:30,212 INFO L93 Difference]: Finished difference Result 154 states and 193 transitions. [2022-04-08 03:35:30,212 INFO L276 IsEmpty]: Start isEmpty. Operand 154 states and 193 transitions. [2022-04-08 03:35:30,212 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:30,212 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:30,212 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 03:35:30,212 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 03:35:30,212 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 139 states, 130 states have (on average 1.2846153846153847) internal successors, (167), 132 states have internal predecessors, (167), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 03:35:30,215 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 139 states to 139 states and 175 transitions. [2022-04-08 03:35:30,215 INFO L78 Accepts]: Start accepts. Automaton has 139 states and 175 transitions. Word has length 34 [2022-04-08 03:35:30,215 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 03:35:30,215 INFO L478 AbstractCegarLoop]: Abstraction has 139 states and 175 transitions. [2022-04-08 03:35:30,215 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 6.5) internal successors, (26), 4 states have internal predecessors, (26), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:35:30,215 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 139 states and 175 transitions. [2022-04-08 03:35:30,482 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 175 edges. 175 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 03:35:30,482 INFO L276 IsEmpty]: Start isEmpty. Operand 139 states and 175 transitions. [2022-04-08 03:35:30,482 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-08 03:35:30,483 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 03:35:30,483 INFO L499 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] [2022-04-08 03:35:30,502 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-08 03:35:30,691 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-08 03:35:30,691 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 03:35:30,692 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 03:35:30,692 INFO L85 PathProgramCache]: Analyzing trace with hash -1637653192, now seen corresponding path program 7 times [2022-04-08 03:35:30,692 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:30,692 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [347934187] [2022-04-08 03:35:30,697 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 03:35:30,697 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 03:35:30,697 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 03:35:30,697 INFO L85 PathProgramCache]: Analyzing trace with hash -1637653192, now seen corresponding path program 8 times [2022-04-08 03:35:30,697 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 03:35:30,697 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1281927857] [2022-04-08 03:35:30,698 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 03:35:30,698 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 03:35:30,716 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:30,783 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 03:35:30,784 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:30,786 INFO L290 TraceCheckUtils]: 0: Hoare triple {10058#(and (= |old(~INFINITY~0)| ~INFINITY~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3);~INFINITY~0 := 899; {10046#true} is VALID [2022-04-08 03:35:30,786 INFO L290 TraceCheckUtils]: 1: Hoare triple {10046#true} assume true; {10046#true} is VALID [2022-04-08 03:35:30,787 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {10046#true} {10046#true} #123#return; {10046#true} is VALID [2022-04-08 03:35:30,787 INFO L272 TraceCheckUtils]: 0: Hoare triple {10046#true} call ULTIMATE.init(); {10058#(and (= |old(~INFINITY~0)| ~INFINITY~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 03:35:30,787 INFO L290 TraceCheckUtils]: 1: Hoare triple {10058#(and (= |old(~INFINITY~0)| ~INFINITY~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3);~INFINITY~0 := 899; {10046#true} is VALID [2022-04-08 03:35:30,787 INFO L290 TraceCheckUtils]: 2: Hoare triple {10046#true} assume true; {10046#true} is VALID [2022-04-08 03:35:30,787 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10046#true} {10046#true} #123#return; {10046#true} is VALID [2022-04-08 03:35:30,787 INFO L272 TraceCheckUtils]: 4: Hoare triple {10046#true} call #t~ret22 := main(); {10046#true} is VALID [2022-04-08 03:35:30,788 INFO L290 TraceCheckUtils]: 5: Hoare triple {10046#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~nodecount~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~edgecount~0 := #t~nondet5;havoc #t~nondet5; {10046#true} is VALID [2022-04-08 03:35:30,788 INFO L290 TraceCheckUtils]: 6: Hoare triple {10046#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {10046#true} is VALID [2022-04-08 03:35:30,788 INFO L290 TraceCheckUtils]: 7: Hoare triple {10046#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.allocOnStack(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.allocOnStack(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.allocOnStack(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.allocOnStack(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {10051#(= main_~i~0 0)} is VALID [2022-04-08 03:35:30,788 INFO L290 TraceCheckUtils]: 8: Hoare triple {10051#(= main_~i~0 0)} assume !!(~i~0 < ~nodecount~0); {10051#(= main_~i~0 0)} is VALID [2022-04-08 03:35:30,789 INFO L290 TraceCheckUtils]: 9: Hoare triple {10051#(= main_~i~0 0)} assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {10051#(= main_~i~0 0)} is VALID [2022-04-08 03:35:30,789 INFO L290 TraceCheckUtils]: 10: Hoare triple {10051#(= main_~i~0 0)} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {10052#(<= 1 main_~i~0)} is VALID [2022-04-08 03:35:30,789 INFO L290 TraceCheckUtils]: 11: Hoare triple {10052#(<= 1 main_~i~0)} assume !!(~i~0 < ~nodecount~0); {10052#(<= 1 main_~i~0)} is VALID [2022-04-08 03:35:30,790 INFO L290 TraceCheckUtils]: 12: Hoare triple {10052#(<= 1 main_~i~0)} assume !(~i~0 == ~source~0);call write~int(~INFINITY~0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {10052#(<= 1 main_~i~0)} is VALID [2022-04-08 03:35:30,790 INFO L290 TraceCheckUtils]: 13: Hoare triple {10052#(<= 1 main_~i~0)} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {10053#(<= 2 main_~i~0)} is VALID [2022-04-08 03:35:30,790 INFO L290 TraceCheckUtils]: 14: Hoare triple {10053#(<= 2 main_~i~0)} assume !!(~i~0 < ~nodecount~0); {10054#(<= 3 main_~nodecount~0)} is VALID [2022-04-08 03:35:30,791 INFO L290 TraceCheckUtils]: 15: Hoare triple {10054#(<= 3 main_~nodecount~0)} assume !(~i~0 == ~source~0);call write~int(~INFINITY~0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {10054#(<= 3 main_~nodecount~0)} is VALID [2022-04-08 03:35:30,791 INFO L290 TraceCheckUtils]: 16: Hoare triple {10054#(<= 3 main_~nodecount~0)} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {10054#(<= 3 main_~nodecount~0)} is VALID [2022-04-08 03:35:30,791 INFO L290 TraceCheckUtils]: 17: Hoare triple {10054#(<= 3 main_~nodecount~0)} assume !(~i~0 < ~nodecount~0); {10054#(<= 3 main_~nodecount~0)} is VALID [2022-04-08 03:35:30,792 INFO L290 TraceCheckUtils]: 18: Hoare triple {10054#(<= 3 main_~nodecount~0)} ~i~0 := 0; {10055#(and (<= 3 main_~nodecount~0) (= main_~i~0 0))} is VALID [2022-04-08 03:35:30,792 INFO L290 TraceCheckUtils]: 19: Hoare triple {10055#(and (<= 3 main_~nodecount~0) (= main_~i~0 0))} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {10055#(and (<= 3 main_~nodecount~0) (= main_~i~0 0))} is VALID [2022-04-08 03:35:30,792 INFO L290 TraceCheckUtils]: 20: Hoare triple {10055#(and (<= 3 main_~nodecount~0) (= main_~i~0 0))} assume !(~j~0 < ~edgecount~0); {10055#(and (<= 3 main_~nodecount~0) (= main_~i~0 0))} is VALID [2022-04-08 03:35:30,793 INFO L290 TraceCheckUtils]: 21: Hoare triple {10055#(and (<= 3 main_~nodecount~0) (= main_~i~0 0))} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {10056#(<= (+ main_~i~0 2) main_~nodecount~0)} is VALID [2022-04-08 03:35:30,793 INFO L290 TraceCheckUtils]: 22: Hoare triple {10056#(<= (+ main_~i~0 2) main_~nodecount~0)} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {10056#(<= (+ main_~i~0 2) main_~nodecount~0)} is VALID [2022-04-08 03:35:30,793 INFO L290 TraceCheckUtils]: 23: Hoare triple {10056#(<= (+ main_~i~0 2) main_~nodecount~0)} assume !(~j~0 < ~edgecount~0); {10056#(<= (+ main_~i~0 2) main_~nodecount~0)} is VALID [2022-04-08 03:35:30,794 INFO L290 TraceCheckUtils]: 24: Hoare triple {10056#(<= (+ main_~i~0 2) main_~nodecount~0)} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {10057#(<= (+ main_~i~0 1) main_~nodecount~0)} is VALID [2022-04-08 03:35:30,794 INFO L290 TraceCheckUtils]: 25: Hoare triple {10057#(<= (+ main_~i~0 1) main_~nodecount~0)} assume !(~i~0 < ~nodecount~0); {10047#false} is VALID [2022-04-08 03:35:30,794 INFO L290 TraceCheckUtils]: 26: Hoare triple {10047#false} ~i~0 := 0; {10047#false} is VALID [2022-04-08 03:35:30,794 INFO L290 TraceCheckUtils]: 27: Hoare triple {10047#false} assume !(~i~0 < ~edgecount~0); {10047#false} is VALID [2022-04-08 03:35:30,795 INFO L290 TraceCheckUtils]: 28: Hoare triple {10047#false} ~i~0 := 0; {10047#false} is VALID [2022-04-08 03:35:30,795 INFO L290 TraceCheckUtils]: 29: Hoare triple {10047#false} assume !!(~i~0 < ~nodecount~0);call #t~mem21 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {10047#false} is VALID [2022-04-08 03:35:30,795 INFO L272 TraceCheckUtils]: 30: Hoare triple {10047#false} call __VERIFIER_assert((if #t~mem21 >= 0 then 1 else 0)); {10047#false} is VALID [2022-04-08 03:35:30,795 INFO L290 TraceCheckUtils]: 31: Hoare triple {10047#false} ~cond := #in~cond; {10047#false} is VALID [2022-04-08 03:35:30,795 INFO L290 TraceCheckUtils]: 32: Hoare triple {10047#false} assume 0 == ~cond; {10047#false} is VALID [2022-04-08 03:35:30,795 INFO L290 TraceCheckUtils]: 33: Hoare triple {10047#false} assume !false; {10047#false} is VALID [2022-04-08 03:35:30,795 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 1 proven. 16 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 03:35:30,795 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 03:35:30,795 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1281927857] [2022-04-08 03:35:30,796 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1281927857] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 03:35:30,796 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [210270621] [2022-04-08 03:35:30,796 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 03:35:30,796 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 03:35:30,796 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 03:35:30,799 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 03:35:30,825 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-08 03:35:30,918 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 03:35:30,918 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 03:35:30,919 INFO L263 TraceCheckSpWp]: Trace formula consists of 297 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-08 03:35:30,928 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:30,929 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 03:35:31,111 INFO L272 TraceCheckUtils]: 0: Hoare triple {10046#true} call ULTIMATE.init(); {10046#true} is VALID [2022-04-08 03:35:31,111 INFO L290 TraceCheckUtils]: 1: Hoare triple {10046#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3);~INFINITY~0 := 899; {10046#true} is VALID [2022-04-08 03:35:31,111 INFO L290 TraceCheckUtils]: 2: Hoare triple {10046#true} assume true; {10046#true} is VALID [2022-04-08 03:35:31,111 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10046#true} {10046#true} #123#return; {10046#true} is VALID [2022-04-08 03:35:31,111 INFO L272 TraceCheckUtils]: 4: Hoare triple {10046#true} call #t~ret22 := main(); {10046#true} is VALID [2022-04-08 03:35:31,111 INFO L290 TraceCheckUtils]: 5: Hoare triple {10046#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~nodecount~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~edgecount~0 := #t~nondet5;havoc #t~nondet5; {10046#true} is VALID [2022-04-08 03:35:31,111 INFO L290 TraceCheckUtils]: 6: Hoare triple {10046#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {10046#true} is VALID [2022-04-08 03:35:31,113 INFO L290 TraceCheckUtils]: 7: Hoare triple {10046#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.allocOnStack(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.allocOnStack(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.allocOnStack(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.allocOnStack(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {10083#(<= 0 main_~i~0)} is VALID [2022-04-08 03:35:31,113 INFO L290 TraceCheckUtils]: 8: Hoare triple {10083#(<= 0 main_~i~0)} assume !!(~i~0 < ~nodecount~0); {10083#(<= 0 main_~i~0)} is VALID [2022-04-08 03:35:31,113 INFO L290 TraceCheckUtils]: 9: Hoare triple {10083#(<= 0 main_~i~0)} assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {10083#(<= 0 main_~i~0)} is VALID [2022-04-08 03:35:31,114 INFO L290 TraceCheckUtils]: 10: Hoare triple {10083#(<= 0 main_~i~0)} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {10052#(<= 1 main_~i~0)} is VALID [2022-04-08 03:35:31,114 INFO L290 TraceCheckUtils]: 11: Hoare triple {10052#(<= 1 main_~i~0)} assume !!(~i~0 < ~nodecount~0); {10052#(<= 1 main_~i~0)} is VALID [2022-04-08 03:35:31,114 INFO L290 TraceCheckUtils]: 12: Hoare triple {10052#(<= 1 main_~i~0)} assume !(~i~0 == ~source~0);call write~int(~INFINITY~0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {10052#(<= 1 main_~i~0)} is VALID [2022-04-08 03:35:31,115 INFO L290 TraceCheckUtils]: 13: Hoare triple {10052#(<= 1 main_~i~0)} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {10053#(<= 2 main_~i~0)} is VALID [2022-04-08 03:35:31,115 INFO L290 TraceCheckUtils]: 14: Hoare triple {10053#(<= 2 main_~i~0)} assume !!(~i~0 < ~nodecount~0); {10054#(<= 3 main_~nodecount~0)} is VALID [2022-04-08 03:35:31,115 INFO L290 TraceCheckUtils]: 15: Hoare triple {10054#(<= 3 main_~nodecount~0)} assume !(~i~0 == ~source~0);call write~int(~INFINITY~0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {10054#(<= 3 main_~nodecount~0)} is VALID [2022-04-08 03:35:31,116 INFO L290 TraceCheckUtils]: 16: Hoare triple {10054#(<= 3 main_~nodecount~0)} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {10054#(<= 3 main_~nodecount~0)} is VALID [2022-04-08 03:35:31,116 INFO L290 TraceCheckUtils]: 17: Hoare triple {10054#(<= 3 main_~nodecount~0)} assume !(~i~0 < ~nodecount~0); {10054#(<= 3 main_~nodecount~0)} is VALID [2022-04-08 03:35:31,116 INFO L290 TraceCheckUtils]: 18: Hoare triple {10054#(<= 3 main_~nodecount~0)} ~i~0 := 0; {10117#(and (<= 3 main_~nodecount~0) (<= main_~i~0 0))} is VALID [2022-04-08 03:35:31,117 INFO L290 TraceCheckUtils]: 19: Hoare triple {10117#(and (<= 3 main_~nodecount~0) (<= main_~i~0 0))} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {10117#(and (<= 3 main_~nodecount~0) (<= main_~i~0 0))} is VALID [2022-04-08 03:35:31,117 INFO L290 TraceCheckUtils]: 20: Hoare triple {10117#(and (<= 3 main_~nodecount~0) (<= main_~i~0 0))} assume !(~j~0 < ~edgecount~0); {10117#(and (<= 3 main_~nodecount~0) (<= main_~i~0 0))} is VALID [2022-04-08 03:35:31,117 INFO L290 TraceCheckUtils]: 21: Hoare triple {10117#(and (<= 3 main_~nodecount~0) (<= main_~i~0 0))} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {10127#(and (<= 3 main_~nodecount~0) (<= main_~i~0 1))} is VALID [2022-04-08 03:35:31,118 INFO L290 TraceCheckUtils]: 22: Hoare triple {10127#(and (<= 3 main_~nodecount~0) (<= main_~i~0 1))} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {10127#(and (<= 3 main_~nodecount~0) (<= main_~i~0 1))} is VALID [2022-04-08 03:35:31,118 INFO L290 TraceCheckUtils]: 23: Hoare triple {10127#(and (<= 3 main_~nodecount~0) (<= main_~i~0 1))} assume !(~j~0 < ~edgecount~0); {10127#(and (<= 3 main_~nodecount~0) (<= main_~i~0 1))} is VALID [2022-04-08 03:35:31,119 INFO L290 TraceCheckUtils]: 24: Hoare triple {10127#(and (<= 3 main_~nodecount~0) (<= main_~i~0 1))} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {10137#(and (<= 3 main_~nodecount~0) (<= main_~i~0 2))} is VALID [2022-04-08 03:35:31,119 INFO L290 TraceCheckUtils]: 25: Hoare triple {10137#(and (<= 3 main_~nodecount~0) (<= main_~i~0 2))} assume !(~i~0 < ~nodecount~0); {10047#false} is VALID [2022-04-08 03:35:31,119 INFO L290 TraceCheckUtils]: 26: Hoare triple {10047#false} ~i~0 := 0; {10047#false} is VALID [2022-04-08 03:35:31,119 INFO L290 TraceCheckUtils]: 27: Hoare triple {10047#false} assume !(~i~0 < ~edgecount~0); {10047#false} is VALID [2022-04-08 03:35:31,119 INFO L290 TraceCheckUtils]: 28: Hoare triple {10047#false} ~i~0 := 0; {10047#false} is VALID [2022-04-08 03:35:31,119 INFO L290 TraceCheckUtils]: 29: Hoare triple {10047#false} assume !!(~i~0 < ~nodecount~0);call #t~mem21 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {10047#false} is VALID [2022-04-08 03:35:31,119 INFO L272 TraceCheckUtils]: 30: Hoare triple {10047#false} call __VERIFIER_assert((if #t~mem21 >= 0 then 1 else 0)); {10047#false} is VALID [2022-04-08 03:35:31,119 INFO L290 TraceCheckUtils]: 31: Hoare triple {10047#false} ~cond := #in~cond; {10047#false} is VALID [2022-04-08 03:35:31,119 INFO L290 TraceCheckUtils]: 32: Hoare triple {10047#false} assume 0 == ~cond; {10047#false} is VALID [2022-04-08 03:35:31,119 INFO L290 TraceCheckUtils]: 33: Hoare triple {10047#false} assume !false; {10047#false} is VALID [2022-04-08 03:35:31,120 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 5 proven. 12 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 03:35:31,120 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 03:35:31,263 INFO L290 TraceCheckUtils]: 33: Hoare triple {10047#false} assume !false; {10047#false} is VALID [2022-04-08 03:35:31,263 INFO L290 TraceCheckUtils]: 32: Hoare triple {10047#false} assume 0 == ~cond; {10047#false} is VALID [2022-04-08 03:35:31,263 INFO L290 TraceCheckUtils]: 31: Hoare triple {10047#false} ~cond := #in~cond; {10047#false} is VALID [2022-04-08 03:35:31,263 INFO L272 TraceCheckUtils]: 30: Hoare triple {10047#false} call __VERIFIER_assert((if #t~mem21 >= 0 then 1 else 0)); {10047#false} is VALID [2022-04-08 03:35:31,263 INFO L290 TraceCheckUtils]: 29: Hoare triple {10047#false} assume !!(~i~0 < ~nodecount~0);call #t~mem21 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {10047#false} is VALID [2022-04-08 03:35:31,263 INFO L290 TraceCheckUtils]: 28: Hoare triple {10047#false} ~i~0 := 0; {10047#false} is VALID [2022-04-08 03:35:31,263 INFO L290 TraceCheckUtils]: 27: Hoare triple {10047#false} assume !(~i~0 < ~edgecount~0); {10047#false} is VALID [2022-04-08 03:35:31,263 INFO L290 TraceCheckUtils]: 26: Hoare triple {10047#false} ~i~0 := 0; {10047#false} is VALID [2022-04-08 03:35:31,264 INFO L290 TraceCheckUtils]: 25: Hoare triple {10057#(<= (+ main_~i~0 1) main_~nodecount~0)} assume !(~i~0 < ~nodecount~0); {10047#false} is VALID [2022-04-08 03:35:31,264 INFO L290 TraceCheckUtils]: 24: Hoare triple {10056#(<= (+ main_~i~0 2) main_~nodecount~0)} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {10057#(<= (+ main_~i~0 1) main_~nodecount~0)} is VALID [2022-04-08 03:35:31,264 INFO L290 TraceCheckUtils]: 23: Hoare triple {10056#(<= (+ main_~i~0 2) main_~nodecount~0)} assume !(~j~0 < ~edgecount~0); {10056#(<= (+ main_~i~0 2) main_~nodecount~0)} is VALID [2022-04-08 03:35:31,265 INFO L290 TraceCheckUtils]: 22: Hoare triple {10056#(<= (+ main_~i~0 2) main_~nodecount~0)} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {10056#(<= (+ main_~i~0 2) main_~nodecount~0)} is VALID [2022-04-08 03:35:31,265 INFO L290 TraceCheckUtils]: 21: Hoare triple {10201#(<= (+ main_~i~0 3) main_~nodecount~0)} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {10056#(<= (+ main_~i~0 2) main_~nodecount~0)} is VALID [2022-04-08 03:35:31,265 INFO L290 TraceCheckUtils]: 20: Hoare triple {10201#(<= (+ main_~i~0 3) main_~nodecount~0)} assume !(~j~0 < ~edgecount~0); {10201#(<= (+ main_~i~0 3) main_~nodecount~0)} is VALID [2022-04-08 03:35:31,266 INFO L290 TraceCheckUtils]: 19: Hoare triple {10201#(<= (+ main_~i~0 3) main_~nodecount~0)} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {10201#(<= (+ main_~i~0 3) main_~nodecount~0)} is VALID [2022-04-08 03:35:31,267 INFO L290 TraceCheckUtils]: 18: Hoare triple {10054#(<= 3 main_~nodecount~0)} ~i~0 := 0; {10201#(<= (+ main_~i~0 3) main_~nodecount~0)} is VALID [2022-04-08 03:35:31,268 INFO L290 TraceCheckUtils]: 17: Hoare triple {10054#(<= 3 main_~nodecount~0)} assume !(~i~0 < ~nodecount~0); {10054#(<= 3 main_~nodecount~0)} is VALID [2022-04-08 03:35:31,269 INFO L290 TraceCheckUtils]: 16: Hoare triple {10054#(<= 3 main_~nodecount~0)} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {10054#(<= 3 main_~nodecount~0)} is VALID [2022-04-08 03:35:31,269 INFO L290 TraceCheckUtils]: 15: Hoare triple {10054#(<= 3 main_~nodecount~0)} assume !(~i~0 == ~source~0);call write~int(~INFINITY~0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {10054#(<= 3 main_~nodecount~0)} is VALID [2022-04-08 03:35:31,270 INFO L290 TraceCheckUtils]: 14: Hoare triple {10053#(<= 2 main_~i~0)} assume !!(~i~0 < ~nodecount~0); {10054#(<= 3 main_~nodecount~0)} is VALID [2022-04-08 03:35:31,270 INFO L290 TraceCheckUtils]: 13: Hoare triple {10052#(<= 1 main_~i~0)} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {10053#(<= 2 main_~i~0)} is VALID [2022-04-08 03:35:31,271 INFO L290 TraceCheckUtils]: 12: Hoare triple {10052#(<= 1 main_~i~0)} assume !(~i~0 == ~source~0);call write~int(~INFINITY~0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {10052#(<= 1 main_~i~0)} is VALID [2022-04-08 03:35:31,271 INFO L290 TraceCheckUtils]: 11: Hoare triple {10052#(<= 1 main_~i~0)} assume !!(~i~0 < ~nodecount~0); {10052#(<= 1 main_~i~0)} is VALID [2022-04-08 03:35:31,271 INFO L290 TraceCheckUtils]: 10: Hoare triple {10083#(<= 0 main_~i~0)} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {10052#(<= 1 main_~i~0)} is VALID [2022-04-08 03:35:31,272 INFO L290 TraceCheckUtils]: 9: Hoare triple {10083#(<= 0 main_~i~0)} assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {10083#(<= 0 main_~i~0)} is VALID [2022-04-08 03:35:31,272 INFO L290 TraceCheckUtils]: 8: Hoare triple {10083#(<= 0 main_~i~0)} assume !!(~i~0 < ~nodecount~0); {10083#(<= 0 main_~i~0)} is VALID [2022-04-08 03:35:31,274 INFO L290 TraceCheckUtils]: 7: Hoare triple {10046#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.allocOnStack(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.allocOnStack(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.allocOnStack(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.allocOnStack(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {10083#(<= 0 main_~i~0)} is VALID [2022-04-08 03:35:31,274 INFO L290 TraceCheckUtils]: 6: Hoare triple {10046#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {10046#true} is VALID [2022-04-08 03:35:31,274 INFO L290 TraceCheckUtils]: 5: Hoare triple {10046#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~nodecount~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~edgecount~0 := #t~nondet5;havoc #t~nondet5; {10046#true} is VALID [2022-04-08 03:35:31,274 INFO L272 TraceCheckUtils]: 4: Hoare triple {10046#true} call #t~ret22 := main(); {10046#true} is VALID [2022-04-08 03:35:31,274 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10046#true} {10046#true} #123#return; {10046#true} is VALID [2022-04-08 03:35:31,274 INFO L290 TraceCheckUtils]: 2: Hoare triple {10046#true} assume true; {10046#true} is VALID [2022-04-08 03:35:31,274 INFO L290 TraceCheckUtils]: 1: Hoare triple {10046#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3);~INFINITY~0 := 899; {10046#true} is VALID [2022-04-08 03:35:31,274 INFO L272 TraceCheckUtils]: 0: Hoare triple {10046#true} call ULTIMATE.init(); {10046#true} is VALID [2022-04-08 03:35:31,274 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 5 proven. 12 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 03:35:31,274 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [210270621] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 03:35:31,274 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 03:35:31,274 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9, 9] total 15 [2022-04-08 03:35:31,275 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 03:35:31,275 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [347934187] [2022-04-08 03:35:31,275 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [347934187] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 03:35:31,275 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 03:35:31,275 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 03:35:31,275 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [976451163] [2022-04-08 03:35:31,275 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 03:35:31,275 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 34 [2022-04-08 03:35:31,275 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 03:35:31,275 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:35:31,298 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 03:35:31,298 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 03:35:31,298 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:31,299 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 03:35:31,299 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=55, Invalid=155, Unknown=0, NotChecked=0, Total=210 [2022-04-08 03:35:31,299 INFO L87 Difference]: Start difference. First operand 139 states and 175 transitions. Second operand has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:35:33,357 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:33,357 INFO L93 Difference]: Finished difference Result 296 states and 374 transitions. [2022-04-08 03:35:33,357 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-08 03:35:33,357 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 34 [2022-04-08 03:35:33,357 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 03:35:33,358 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:35:33,359 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 151 transitions. [2022-04-08 03:35:33,359 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:35:33,361 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 151 transitions. [2022-04-08 03:35:33,361 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 151 transitions. [2022-04-08 03:35:33,515 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 151 edges. 151 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 03:35:33,520 INFO L225 Difference]: With dead ends: 296 [2022-04-08 03:35:33,520 INFO L226 Difference]: Without dead ends: 275 [2022-04-08 03:35:33,521 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 87 GetRequests, 63 SyntacticMatches, 2 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 115 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=132, Invalid=420, Unknown=0, NotChecked=0, Total=552 [2022-04-08 03:35:33,521 INFO L913 BasicCegarLoop]: 65 mSDtfsCounter, 168 mSDsluCounter, 32 mSDsCounter, 0 mSdLazyCounter, 482 mSolverCounterSat, 76 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 168 SdHoareTripleChecker+Valid, 97 SdHoareTripleChecker+Invalid, 558 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 76 IncrementalHoareTripleChecker+Valid, 482 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-08 03:35:33,522 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [168 Valid, 97 Invalid, 558 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [76 Valid, 482 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-08 03:35:33,522 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 275 states. [2022-04-08 03:35:34,039 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 275 to 154. [2022-04-08 03:35:34,039 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 03:35:34,040 INFO L82 GeneralOperation]: Start isEquivalent. First operand 275 states. Second operand has 154 states, 145 states have (on average 1.289655172413793) internal successors, (187), 147 states have internal predecessors, (187), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 03:35:34,040 INFO L74 IsIncluded]: Start isIncluded. First operand 275 states. Second operand has 154 states, 145 states have (on average 1.289655172413793) internal successors, (187), 147 states have internal predecessors, (187), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 03:35:34,040 INFO L87 Difference]: Start difference. First operand 275 states. Second operand has 154 states, 145 states have (on average 1.289655172413793) internal successors, (187), 147 states have internal predecessors, (187), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 03:35:34,046 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:34,046 INFO L93 Difference]: Finished difference Result 275 states and 349 transitions. [2022-04-08 03:35:34,046 INFO L276 IsEmpty]: Start isEmpty. Operand 275 states and 349 transitions. [2022-04-08 03:35:34,047 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:34,047 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:34,055 INFO L74 IsIncluded]: Start isIncluded. First operand has 154 states, 145 states have (on average 1.289655172413793) internal successors, (187), 147 states have internal predecessors, (187), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Second operand 275 states. [2022-04-08 03:35:34,056 INFO L87 Difference]: Start difference. First operand has 154 states, 145 states have (on average 1.289655172413793) internal successors, (187), 147 states have internal predecessors, (187), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Second operand 275 states. [2022-04-08 03:35:34,062 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:34,062 INFO L93 Difference]: Finished difference Result 275 states and 349 transitions. [2022-04-08 03:35:34,062 INFO L276 IsEmpty]: Start isEmpty. Operand 275 states and 349 transitions. [2022-04-08 03:35:34,063 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:34,063 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:34,063 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 03:35:34,063 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 03:35:34,063 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 154 states, 145 states have (on average 1.289655172413793) internal successors, (187), 147 states have internal predecessors, (187), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 03:35:34,066 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 154 states to 154 states and 195 transitions. [2022-04-08 03:35:34,066 INFO L78 Accepts]: Start accepts. Automaton has 154 states and 195 transitions. Word has length 34 [2022-04-08 03:35:34,066 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 03:35:34,066 INFO L478 AbstractCegarLoop]: Abstraction has 154 states and 195 transitions. [2022-04-08 03:35:34,066 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:35:34,067 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 154 states and 195 transitions. [2022-04-08 03:35:34,374 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 195 edges. 195 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 03:35:34,374 INFO L276 IsEmpty]: Start isEmpty. Operand 154 states and 195 transitions. [2022-04-08 03:35:34,374 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-08 03:35:34,374 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 03:35:34,374 INFO L499 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] [2022-04-08 03:35:34,391 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Ended with exit code 0 [2022-04-08 03:35:34,575 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable11,10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 03:35:34,576 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 03:35:34,576 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 03:35:34,576 INFO L85 PathProgramCache]: Analyzing trace with hash -1470221714, now seen corresponding path program 5 times [2022-04-08 03:35:34,576 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:34,576 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1491105271] [2022-04-08 03:35:34,578 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 03:35:34,578 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 03:35:34,578 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 03:35:34,578 INFO L85 PathProgramCache]: Analyzing trace with hash -1470221714, now seen corresponding path program 6 times [2022-04-08 03:35:34,578 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 03:35:34,578 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1977899398] [2022-04-08 03:35:34,578 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 03:35:34,578 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 03:35:34,651 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:35,185 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 03:35:35,187 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:35,189 INFO L290 TraceCheckUtils]: 0: Hoare triple {11754#(and (= |old(~INFINITY~0)| ~INFINITY~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3);~INFINITY~0 := 899; {11735#true} is VALID [2022-04-08 03:35:35,189 INFO L290 TraceCheckUtils]: 1: Hoare triple {11735#true} assume true; {11735#true} is VALID [2022-04-08 03:35:35,190 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {11735#true} {11735#true} #123#return; {11735#true} is VALID [2022-04-08 03:35:35,190 INFO L272 TraceCheckUtils]: 0: Hoare triple {11735#true} call ULTIMATE.init(); {11754#(and (= |old(~INFINITY~0)| ~INFINITY~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 03:35:35,190 INFO L290 TraceCheckUtils]: 1: Hoare triple {11754#(and (= |old(~INFINITY~0)| ~INFINITY~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3);~INFINITY~0 := 899; {11735#true} is VALID [2022-04-08 03:35:35,190 INFO L290 TraceCheckUtils]: 2: Hoare triple {11735#true} assume true; {11735#true} is VALID [2022-04-08 03:35:35,190 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11735#true} {11735#true} #123#return; {11735#true} is VALID [2022-04-08 03:35:35,191 INFO L272 TraceCheckUtils]: 4: Hoare triple {11735#true} call #t~ret22 := main(); {11735#true} is VALID [2022-04-08 03:35:35,191 INFO L290 TraceCheckUtils]: 5: Hoare triple {11735#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~nodecount~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~edgecount~0 := #t~nondet5;havoc #t~nondet5; {11735#true} is VALID [2022-04-08 03:35:35,191 INFO L290 TraceCheckUtils]: 6: Hoare triple {11735#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {11735#true} is VALID [2022-04-08 03:35:35,194 INFO L290 TraceCheckUtils]: 7: Hoare triple {11735#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.allocOnStack(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.allocOnStack(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.allocOnStack(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.allocOnStack(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {11740#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#Dest~0.base|) (+ 4 |main_~#Dest~0.offset|)) 3) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= |main_~#Dest~0.offset| 0) (= main_~i~0 0) (not (= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 0)))} is VALID [2022-04-08 03:35:35,195 INFO L290 TraceCheckUtils]: 8: Hoare triple {11740#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#Dest~0.base|) (+ 4 |main_~#Dest~0.offset|)) 3) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= |main_~#Dest~0.offset| 0) (= main_~i~0 0) (not (= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 0)))} assume !!(~i~0 < ~nodecount~0); {11740#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#Dest~0.base|) (+ 4 |main_~#Dest~0.offset|)) 3) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= |main_~#Dest~0.offset| 0) (= main_~i~0 0) (not (= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 0)))} is VALID [2022-04-08 03:35:35,196 INFO L290 TraceCheckUtils]: 9: Hoare triple {11740#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#Dest~0.base|) (+ 4 |main_~#Dest~0.offset|)) 3) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= |main_~#Dest~0.offset| 0) (= main_~i~0 0) (not (= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 0)))} assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {11741#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#Dest~0.base|) (+ 4 |main_~#Dest~0.offset|)) 3) (not (= (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4))) (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|))) (= |main_~#Dest~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4))) 0) (= main_~i~0 0))} is VALID [2022-04-08 03:35:35,196 INFO L290 TraceCheckUtils]: 10: Hoare triple {11741#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#Dest~0.base|) (+ 4 |main_~#Dest~0.offset|)) 3) (not (= (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4))) (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|))) (= |main_~#Dest~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4))) 0) (= main_~i~0 0))} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {11742#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#Dest~0.base|) (+ 4 |main_~#Dest~0.offset|)) 3) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (= |main_~#Dest~0.offset| 0) (not (= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) (select (select |#memory_int| |main_~#distance~0.base|) 0))))} is VALID [2022-04-08 03:35:35,197 INFO L290 TraceCheckUtils]: 11: Hoare triple {11742#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#Dest~0.base|) (+ 4 |main_~#Dest~0.offset|)) 3) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (= |main_~#Dest~0.offset| 0) (not (= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) (select (select |#memory_int| |main_~#distance~0.base|) 0))))} assume !(~i~0 < ~nodecount~0); {11742#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#Dest~0.base|) (+ 4 |main_~#Dest~0.offset|)) 3) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (= |main_~#Dest~0.offset| 0) (not (= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) (select (select |#memory_int| |main_~#distance~0.base|) 0))))} is VALID [2022-04-08 03:35:35,197 INFO L290 TraceCheckUtils]: 12: Hoare triple {11742#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#Dest~0.base|) (+ 4 |main_~#Dest~0.offset|)) 3) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (= |main_~#Dest~0.offset| 0) (not (= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) (select (select |#memory_int| |main_~#distance~0.base|) 0))))} ~i~0 := 0; {11742#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#Dest~0.base|) (+ 4 |main_~#Dest~0.offset|)) 3) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (= |main_~#Dest~0.offset| 0) (not (= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) (select (select |#memory_int| |main_~#distance~0.base|) 0))))} is VALID [2022-04-08 03:35:35,198 INFO L290 TraceCheckUtils]: 13: Hoare triple {11742#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#Dest~0.base|) (+ 4 |main_~#Dest~0.offset|)) 3) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (= |main_~#Dest~0.offset| 0) (not (= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) (select (select |#memory_int| |main_~#distance~0.base|) 0))))} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {11743#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#Dest~0.base|) (+ 4 |main_~#Dest~0.offset|)) 3) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (not (= (select (select |#memory_int| |main_~#Dest~0.base|) (+ (* main_~j~0 4) |main_~#Dest~0.offset|)) (select (select |#memory_int| |main_~#distance~0.base|) 0))) (= main_~j~0 0) (= |main_~#Dest~0.offset| 0))} is VALID [2022-04-08 03:35:35,199 INFO L290 TraceCheckUtils]: 14: Hoare triple {11743#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#Dest~0.base|) (+ 4 |main_~#Dest~0.offset|)) 3) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (not (= (select (select |#memory_int| |main_~#Dest~0.base|) (+ (* main_~j~0 4) |main_~#Dest~0.offset|)) (select (select |#memory_int| |main_~#distance~0.base|) 0))) (= main_~j~0 0) (= |main_~#Dest~0.offset| 0))} assume !!(~j~0 < ~edgecount~0);call #t~mem9 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4);~x~0 := #t~mem9;havoc #t~mem9;call #t~mem10 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4);~y~0 := #t~mem10;havoc #t~mem10;call #t~mem13 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem11 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem12 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); {11744#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#Dest~0.base|) (+ 4 |main_~#Dest~0.offset|)) 3) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= main_~j~0 0) (not (= (+ (* main_~x~0 4) |main_~#distance~0.offset|) 0)))} is VALID [2022-04-08 03:35:35,200 INFO L290 TraceCheckUtils]: 15: Hoare triple {11744#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#Dest~0.base|) (+ 4 |main_~#Dest~0.offset|)) 3) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= main_~j~0 0) (not (= (+ (* main_~x~0 4) |main_~#distance~0.offset|) 0)))} assume #t~mem13 > #t~mem11 + #t~mem12;havoc #t~mem13;havoc #t~mem11;havoc #t~mem12;call write~int(-1, ~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); {11745#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#Dest~0.base|) (+ 4 |main_~#Dest~0.offset|)) 3) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= main_~j~0 0))} is VALID [2022-04-08 03:35:35,201 INFO L290 TraceCheckUtils]: 16: Hoare triple {11745#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#Dest~0.base|) (+ 4 |main_~#Dest~0.offset|)) 3) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= main_~j~0 0))} #t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {11746#(and (= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ (* main_~j~0 4) |main_~#Dest~0.offset|))) (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= (* main_~j~0 4) 4))} is VALID [2022-04-08 03:35:35,201 INFO L290 TraceCheckUtils]: 17: Hoare triple {11746#(and (= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ (* main_~j~0 4) |main_~#Dest~0.offset|))) (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= (* main_~j~0 4) 4))} assume !!(~j~0 < ~edgecount~0);call #t~mem9 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4);~x~0 := #t~mem9;havoc #t~mem9;call #t~mem10 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4);~y~0 := #t~mem10;havoc #t~mem10;call #t~mem13 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem11 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem12 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); {11747#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (not (= (+ (* main_~x~0 4) |main_~#distance~0.offset|) 0)))} is VALID [2022-04-08 03:35:35,202 INFO L290 TraceCheckUtils]: 18: Hoare triple {11747#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (not (= (+ (* main_~x~0 4) |main_~#distance~0.offset|) 0)))} assume #t~mem13 > #t~mem11 + #t~mem12;havoc #t~mem13;havoc #t~mem11;havoc #t~mem12;call write~int(-1, ~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); {11748#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)))} is VALID [2022-04-08 03:35:35,203 INFO L290 TraceCheckUtils]: 19: Hoare triple {11748#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)))} #t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {11748#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)))} is VALID [2022-04-08 03:35:35,203 INFO L290 TraceCheckUtils]: 20: Hoare triple {11748#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)))} assume !(~j~0 < ~edgecount~0); {11748#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)))} is VALID [2022-04-08 03:35:35,204 INFO L290 TraceCheckUtils]: 21: Hoare triple {11748#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)))} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {11748#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)))} is VALID [2022-04-08 03:35:35,204 INFO L290 TraceCheckUtils]: 22: Hoare triple {11748#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)))} assume !(~i~0 < ~nodecount~0); {11748#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)))} is VALID [2022-04-08 03:35:35,204 INFO L290 TraceCheckUtils]: 23: Hoare triple {11748#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)))} ~i~0 := 0; {11748#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)))} is VALID [2022-04-08 03:35:35,205 INFO L290 TraceCheckUtils]: 24: Hoare triple {11748#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)))} assume !!(~i~0 < ~edgecount~0);call #t~mem15 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~i~0, 4);~x~0 := #t~mem15;havoc #t~mem15;call #t~mem16 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~i~0, 4);~y~0 := #t~mem16;havoc #t~mem16;call #t~mem19 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem17 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem18 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~i~0, 4); {11748#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)))} is VALID [2022-04-08 03:35:35,206 INFO L290 TraceCheckUtils]: 25: Hoare triple {11748#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)))} assume !(#t~mem19 > #t~mem17 + #t~mem18);havoc #t~mem19;havoc #t~mem17;havoc #t~mem18; {11748#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)))} is VALID [2022-04-08 03:35:35,206 INFO L290 TraceCheckUtils]: 26: Hoare triple {11748#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)))} #t~post14 := ~i~0;~i~0 := 1 + #t~post14;havoc #t~post14; {11748#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)))} is VALID [2022-04-08 03:35:35,207 INFO L290 TraceCheckUtils]: 27: Hoare triple {11748#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)))} assume !!(~i~0 < ~edgecount~0);call #t~mem15 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~i~0, 4);~x~0 := #t~mem15;havoc #t~mem15;call #t~mem16 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~i~0, 4);~y~0 := #t~mem16;havoc #t~mem16;call #t~mem19 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem17 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem18 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~i~0, 4); {11749#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} is VALID [2022-04-08 03:35:35,207 INFO L290 TraceCheckUtils]: 28: Hoare triple {11749#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} assume !(#t~mem19 > #t~mem17 + #t~mem18);havoc #t~mem19;havoc #t~mem17;havoc #t~mem18; {11749#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} is VALID [2022-04-08 03:35:35,208 INFO L290 TraceCheckUtils]: 29: Hoare triple {11749#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} #t~post14 := ~i~0;~i~0 := 1 + #t~post14;havoc #t~post14; {11749#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} is VALID [2022-04-08 03:35:35,208 INFO L290 TraceCheckUtils]: 30: Hoare triple {11749#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} assume !(~i~0 < ~edgecount~0); {11749#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} is VALID [2022-04-08 03:35:35,209 INFO L290 TraceCheckUtils]: 31: Hoare triple {11749#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} ~i~0 := 0; {11750#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4))) 0) (= main_~i~0 0))} is VALID [2022-04-08 03:35:35,209 INFO L290 TraceCheckUtils]: 32: Hoare triple {11750#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4))) 0) (= main_~i~0 0))} assume !!(~i~0 < ~nodecount~0);call #t~mem21 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {11751#(= |main_#t~mem21| 0)} is VALID [2022-04-08 03:35:35,210 INFO L272 TraceCheckUtils]: 33: Hoare triple {11751#(= |main_#t~mem21| 0)} call __VERIFIER_assert((if #t~mem21 >= 0 then 1 else 0)); {11752#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 03:35:35,210 INFO L290 TraceCheckUtils]: 34: Hoare triple {11752#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {11753#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 03:35:35,210 INFO L290 TraceCheckUtils]: 35: Hoare triple {11753#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {11736#false} is VALID [2022-04-08 03:35:35,210 INFO L290 TraceCheckUtils]: 36: Hoare triple {11736#false} assume !false; {11736#false} is VALID [2022-04-08 03:35:35,211 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 11 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-08 03:35:35,211 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 03:35:35,211 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1977899398] [2022-04-08 03:35:35,211 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1977899398] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 03:35:35,211 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [227440434] [2022-04-08 03:35:35,211 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 03:35:35,212 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 03:35:35,212 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 03:35:35,216 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 03:35:35,248 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-08 03:35:35,343 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-08 03:35:35,343 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 03:35:35,344 INFO L263 TraceCheckSpWp]: Trace formula consists of 339 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-08 03:35:35,358 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:35,359 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 03:35:35,452 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 54 treesize of output 50 [2022-04-08 03:35:35,613 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-08 03:35:35,614 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-08 03:35:35,615 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-08 03:35:35,618 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 42 [2022-04-08 03:35:35,959 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-08 03:35:35,960 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-08 03:35:35,961 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-08 03:35:35,961 INFO L173 IndexEqualityManager]: detected equality via solver [2022-04-08 03:35:35,962 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-08 03:35:35,971 INFO L356 Elim1Store]: treesize reduction 25, result has 21.9 percent of original size [2022-04-08 03:35:35,972 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 5 select indices, 5 select index equivalence classes, 4 disjoint index pairs (out of 10 index pairs), introduced 4 new quantified variables, introduced 1 case distinctions, treesize of input 59 treesize of output 63 [2022-04-08 03:35:36,384 INFO L356 Elim1Store]: treesize reduction 25, result has 21.9 percent of original size [2022-04-08 03:35:36,384 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 4 select indices, 4 select index equivalence classes, 4 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 1 case distinctions, treesize of input 51 treesize of output 55 [2022-04-08 03:35:37,515 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 4 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 16 [2022-04-08 03:35:37,672 INFO L272 TraceCheckUtils]: 0: Hoare triple {11735#true} call ULTIMATE.init(); {11735#true} is VALID [2022-04-08 03:35:37,672 INFO L290 TraceCheckUtils]: 1: Hoare triple {11735#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3);~INFINITY~0 := 899; {11735#true} is VALID [2022-04-08 03:35:37,672 INFO L290 TraceCheckUtils]: 2: Hoare triple {11735#true} assume true; {11735#true} is VALID [2022-04-08 03:35:37,672 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11735#true} {11735#true} #123#return; {11735#true} is VALID [2022-04-08 03:35:37,673 INFO L272 TraceCheckUtils]: 4: Hoare triple {11735#true} call #t~ret22 := main(); {11735#true} is VALID [2022-04-08 03:35:37,673 INFO L290 TraceCheckUtils]: 5: Hoare triple {11735#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~nodecount~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~edgecount~0 := #t~nondet5;havoc #t~nondet5; {11735#true} is VALID [2022-04-08 03:35:37,673 INFO L290 TraceCheckUtils]: 6: Hoare triple {11735#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {11735#true} is VALID [2022-04-08 03:35:37,676 INFO L290 TraceCheckUtils]: 7: Hoare triple {11735#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.allocOnStack(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.allocOnStack(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.allocOnStack(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.allocOnStack(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {11779#(and (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ 4 |main_~#Dest~0.offset|))) (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#Dest~0.base|) (+ 8 |main_~#Dest~0.offset|)) 4) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= |main_~#Dest~0.offset| 0) (= main_~i~0 0) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)))} is VALID [2022-04-08 03:35:37,676 INFO L290 TraceCheckUtils]: 8: Hoare triple {11779#(and (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ 4 |main_~#Dest~0.offset|))) (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#Dest~0.base|) (+ 8 |main_~#Dest~0.offset|)) 4) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= |main_~#Dest~0.offset| 0) (= main_~i~0 0) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)))} assume !!(~i~0 < ~nodecount~0); {11779#(and (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ 4 |main_~#Dest~0.offset|))) (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#Dest~0.base|) (+ 8 |main_~#Dest~0.offset|)) 4) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= |main_~#Dest~0.offset| 0) (= main_~i~0 0) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)))} is VALID [2022-04-08 03:35:37,677 INFO L290 TraceCheckUtils]: 9: Hoare triple {11779#(and (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ 4 |main_~#Dest~0.offset|))) (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#Dest~0.base|) (+ 8 |main_~#Dest~0.offset|)) 4) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= |main_~#Dest~0.offset| 0) (= main_~i~0 0) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)))} assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {11786#(and (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ 4 |main_~#Dest~0.offset|))) (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#Dest~0.base|) (+ 8 |main_~#Dest~0.offset|)) 4) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= |main_~#Dest~0.offset| 0) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:37,678 INFO L290 TraceCheckUtils]: 10: Hoare triple {11786#(and (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ 4 |main_~#Dest~0.offset|))) (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#Dest~0.base|) (+ 8 |main_~#Dest~0.offset|)) 4) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= |main_~#Dest~0.offset| 0) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {11786#(and (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ 4 |main_~#Dest~0.offset|))) (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#Dest~0.base|) (+ 8 |main_~#Dest~0.offset|)) 4) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= |main_~#Dest~0.offset| 0) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:37,679 INFO L290 TraceCheckUtils]: 11: Hoare triple {11786#(and (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ 4 |main_~#Dest~0.offset|))) (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#Dest~0.base|) (+ 8 |main_~#Dest~0.offset|)) 4) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= |main_~#Dest~0.offset| 0) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} assume !(~i~0 < ~nodecount~0); {11786#(and (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ 4 |main_~#Dest~0.offset|))) (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#Dest~0.base|) (+ 8 |main_~#Dest~0.offset|)) 4) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= |main_~#Dest~0.offset| 0) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:37,679 INFO L290 TraceCheckUtils]: 12: Hoare triple {11786#(and (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ 4 |main_~#Dest~0.offset|))) (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#Dest~0.base|) (+ 8 |main_~#Dest~0.offset|)) 4) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= |main_~#Dest~0.offset| 0) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} ~i~0 := 0; {11786#(and (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ 4 |main_~#Dest~0.offset|))) (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#Dest~0.base|) (+ 8 |main_~#Dest~0.offset|)) 4) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= |main_~#Dest~0.offset| 0) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:37,680 INFO L290 TraceCheckUtils]: 13: Hoare triple {11786#(and (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ 4 |main_~#Dest~0.offset|))) (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#Dest~0.base|) (+ 8 |main_~#Dest~0.offset|)) 4) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= |main_~#Dest~0.offset| 0) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {11799#(and (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ 4 |main_~#Dest~0.offset|))) (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#Dest~0.base|) (+ 8 |main_~#Dest~0.offset|)) 4) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= main_~j~0 0) (= |main_~#Dest~0.offset| 0) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:37,681 INFO L290 TraceCheckUtils]: 14: Hoare triple {11799#(and (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ 4 |main_~#Dest~0.offset|))) (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#Dest~0.base|) (+ 8 |main_~#Dest~0.offset|)) 4) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= main_~j~0 0) (= |main_~#Dest~0.offset| 0) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} assume !!(~j~0 < ~edgecount~0);call #t~mem9 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4);~x~0 := #t~mem9;havoc #t~mem9;call #t~mem10 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4);~y~0 := #t~mem10;havoc #t~mem10;call #t~mem13 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem11 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem12 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); {11803#(and (<= (select (select |#memory_int| |main_~#Dest~0.base|) (+ (* main_~j~0 4) |main_~#Dest~0.offset|)) main_~x~0) (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ 4 |main_~#Dest~0.offset|))) (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#Dest~0.base|) (+ 8 |main_~#Dest~0.offset|)) 4) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= main_~j~0 0) (= |main_~#Dest~0.offset| 0) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:37,682 INFO L290 TraceCheckUtils]: 15: Hoare triple {11803#(and (<= (select (select |#memory_int| |main_~#Dest~0.base|) (+ (* main_~j~0 4) |main_~#Dest~0.offset|)) main_~x~0) (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ 4 |main_~#Dest~0.offset|))) (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#Dest~0.base|) (+ 8 |main_~#Dest~0.offset|)) 4) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= main_~j~0 0) (= |main_~#Dest~0.offset| 0) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} assume #t~mem13 > #t~mem11 + #t~mem12;havoc #t~mem13;havoc #t~mem11;havoc #t~mem12;call write~int(-1, ~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); {11799#(and (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ 4 |main_~#Dest~0.offset|))) (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#Dest~0.base|) (+ 8 |main_~#Dest~0.offset|)) 4) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= main_~j~0 0) (= |main_~#Dest~0.offset| 0) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:37,683 INFO L290 TraceCheckUtils]: 16: Hoare triple {11799#(and (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ 4 |main_~#Dest~0.offset|))) (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#Dest~0.base|) (+ 8 |main_~#Dest~0.offset|)) 4) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= main_~j~0 0) (= |main_~#Dest~0.offset| 0) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} #t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {11810#(and (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ 4 |main_~#Dest~0.offset|))) (= |main_~#distance~0.offset| 0) (= (+ (- 1) main_~j~0) 0) (= (select (select |#memory_int| |main_~#Dest~0.base|) (+ 8 |main_~#Dest~0.offset|)) 4) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= |main_~#Dest~0.offset| 0) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:37,684 INFO L290 TraceCheckUtils]: 17: Hoare triple {11810#(and (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) (+ 4 |main_~#Dest~0.offset|))) (= |main_~#distance~0.offset| 0) (= (+ (- 1) main_~j~0) 0) (= (select (select |#memory_int| |main_~#Dest~0.base|) (+ 8 |main_~#Dest~0.offset|)) 4) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= |main_~#Dest~0.offset| 0) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} assume !!(~j~0 < ~edgecount~0);call #t~mem9 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4);~x~0 := #t~mem9;havoc #t~mem9;call #t~mem10 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4);~y~0 := #t~mem10;havoc #t~mem10;call #t~mem13 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem11 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem12 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); {11814#(and (= |main_~#distance~0.offset| 0) (exists ((|main_~#Dest~0.base| Int)) (and (<= (select (select |#memory_int| |main_~#Dest~0.base|) 4) main_~x~0) (= (select (select |#memory_int| |main_~#Dest~0.base|) 8) 4) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)) (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) 4)))) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:37,686 INFO L290 TraceCheckUtils]: 18: Hoare triple {11814#(and (= |main_~#distance~0.offset| 0) (exists ((|main_~#Dest~0.base| Int)) (and (<= (select (select |#memory_int| |main_~#Dest~0.base|) 4) main_~x~0) (= (select (select |#memory_int| |main_~#Dest~0.base|) 8) 4) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)) (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) 4)))) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} assume #t~mem13 > #t~mem11 + #t~mem12;havoc #t~mem13;havoc #t~mem11;havoc #t~mem12;call write~int(-1, ~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); {11818#(and (exists ((|main_~#Dest~0.base| Int)) (and (= (select (select |#memory_int| |main_~#Dest~0.base|) 8) 4) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)) (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) 4)))) (= |main_~#distance~0.offset| 0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:37,687 INFO L290 TraceCheckUtils]: 19: Hoare triple {11818#(and (exists ((|main_~#Dest~0.base| Int)) (and (= (select (select |#memory_int| |main_~#Dest~0.base|) 8) 4) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)) (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) 4)))) (= |main_~#distance~0.offset| 0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} #t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {11818#(and (exists ((|main_~#Dest~0.base| Int)) (and (= (select (select |#memory_int| |main_~#Dest~0.base|) 8) 4) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)) (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) 4)))) (= |main_~#distance~0.offset| 0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:37,688 INFO L290 TraceCheckUtils]: 20: Hoare triple {11818#(and (exists ((|main_~#Dest~0.base| Int)) (and (= (select (select |#memory_int| |main_~#Dest~0.base|) 8) 4) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)) (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) 4)))) (= |main_~#distance~0.offset| 0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} assume !(~j~0 < ~edgecount~0); {11818#(and (exists ((|main_~#Dest~0.base| Int)) (and (= (select (select |#memory_int| |main_~#Dest~0.base|) 8) 4) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)) (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) 4)))) (= |main_~#distance~0.offset| 0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:37,688 INFO L290 TraceCheckUtils]: 21: Hoare triple {11818#(and (exists ((|main_~#Dest~0.base| Int)) (and (= (select (select |#memory_int| |main_~#Dest~0.base|) 8) 4) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)) (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) 4)))) (= |main_~#distance~0.offset| 0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {11818#(and (exists ((|main_~#Dest~0.base| Int)) (and (= (select (select |#memory_int| |main_~#Dest~0.base|) 8) 4) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)) (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) 4)))) (= |main_~#distance~0.offset| 0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:37,689 INFO L290 TraceCheckUtils]: 22: Hoare triple {11818#(and (exists ((|main_~#Dest~0.base| Int)) (and (= (select (select |#memory_int| |main_~#Dest~0.base|) 8) 4) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)) (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) 4)))) (= |main_~#distance~0.offset| 0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} assume !(~i~0 < ~nodecount~0); {11818#(and (exists ((|main_~#Dest~0.base| Int)) (and (= (select (select |#memory_int| |main_~#Dest~0.base|) 8) 4) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)) (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) 4)))) (= |main_~#distance~0.offset| 0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:37,690 INFO L290 TraceCheckUtils]: 23: Hoare triple {11818#(and (exists ((|main_~#Dest~0.base| Int)) (and (= (select (select |#memory_int| |main_~#Dest~0.base|) 8) 4) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)) (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) 4)))) (= |main_~#distance~0.offset| 0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} ~i~0 := 0; {11818#(and (exists ((|main_~#Dest~0.base| Int)) (and (= (select (select |#memory_int| |main_~#Dest~0.base|) 8) 4) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)) (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) 4)))) (= |main_~#distance~0.offset| 0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:37,691 INFO L290 TraceCheckUtils]: 24: Hoare triple {11818#(and (exists ((|main_~#Dest~0.base| Int)) (and (= (select (select |#memory_int| |main_~#Dest~0.base|) 8) 4) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)) (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) 4)))) (= |main_~#distance~0.offset| 0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} assume !!(~i~0 < ~edgecount~0);call #t~mem15 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~i~0, 4);~x~0 := #t~mem15;havoc #t~mem15;call #t~mem16 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~i~0, 4);~y~0 := #t~mem16;havoc #t~mem16;call #t~mem19 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem17 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem18 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~i~0, 4); {11818#(and (exists ((|main_~#Dest~0.base| Int)) (and (= (select (select |#memory_int| |main_~#Dest~0.base|) 8) 4) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)) (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) 4)))) (= |main_~#distance~0.offset| 0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:37,692 INFO L290 TraceCheckUtils]: 25: Hoare triple {11818#(and (exists ((|main_~#Dest~0.base| Int)) (and (= (select (select |#memory_int| |main_~#Dest~0.base|) 8) 4) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)) (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) 4)))) (= |main_~#distance~0.offset| 0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} assume !(#t~mem19 > #t~mem17 + #t~mem18);havoc #t~mem19;havoc #t~mem17;havoc #t~mem18; {11818#(and (exists ((|main_~#Dest~0.base| Int)) (and (= (select (select |#memory_int| |main_~#Dest~0.base|) 8) 4) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)) (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) 4)))) (= |main_~#distance~0.offset| 0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:37,693 INFO L290 TraceCheckUtils]: 26: Hoare triple {11818#(and (exists ((|main_~#Dest~0.base| Int)) (and (= (select (select |#memory_int| |main_~#Dest~0.base|) 8) 4) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)) (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) 4)))) (= |main_~#distance~0.offset| 0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} #t~post14 := ~i~0;~i~0 := 1 + #t~post14;havoc #t~post14; {11818#(and (exists ((|main_~#Dest~0.base| Int)) (and (= (select (select |#memory_int| |main_~#Dest~0.base|) 8) 4) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)) (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) 4)))) (= |main_~#distance~0.offset| 0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:37,694 INFO L290 TraceCheckUtils]: 27: Hoare triple {11818#(and (exists ((|main_~#Dest~0.base| Int)) (and (= (select (select |#memory_int| |main_~#Dest~0.base|) 8) 4) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)) (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) 4)))) (= |main_~#distance~0.offset| 0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} assume !!(~i~0 < ~edgecount~0);call #t~mem15 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~i~0, 4);~x~0 := #t~mem15;havoc #t~mem15;call #t~mem16 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~i~0, 4);~y~0 := #t~mem16;havoc #t~mem16;call #t~mem19 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem17 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem18 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~i~0, 4); {11818#(and (exists ((|main_~#Dest~0.base| Int)) (and (= (select (select |#memory_int| |main_~#Dest~0.base|) 8) 4) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)) (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) 4)))) (= |main_~#distance~0.offset| 0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:37,695 INFO L290 TraceCheckUtils]: 28: Hoare triple {11818#(and (exists ((|main_~#Dest~0.base| Int)) (and (= (select (select |#memory_int| |main_~#Dest~0.base|) 8) 4) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)) (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) 4)))) (= |main_~#distance~0.offset| 0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} assume !(#t~mem19 > #t~mem17 + #t~mem18);havoc #t~mem19;havoc #t~mem17;havoc #t~mem18; {11818#(and (exists ((|main_~#Dest~0.base| Int)) (and (= (select (select |#memory_int| |main_~#Dest~0.base|) 8) 4) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)) (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) 4)))) (= |main_~#distance~0.offset| 0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:37,696 INFO L290 TraceCheckUtils]: 29: Hoare triple {11818#(and (exists ((|main_~#Dest~0.base| Int)) (and (= (select (select |#memory_int| |main_~#Dest~0.base|) 8) 4) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)) (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) 4)))) (= |main_~#distance~0.offset| 0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} #t~post14 := ~i~0;~i~0 := 1 + #t~post14;havoc #t~post14; {11818#(and (exists ((|main_~#Dest~0.base| Int)) (and (= (select (select |#memory_int| |main_~#Dest~0.base|) 8) 4) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)) (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) 4)))) (= |main_~#distance~0.offset| 0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:37,697 INFO L290 TraceCheckUtils]: 30: Hoare triple {11818#(and (exists ((|main_~#Dest~0.base| Int)) (and (= (select (select |#memory_int| |main_~#Dest~0.base|) 8) 4) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)) (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) 4)))) (= |main_~#distance~0.offset| 0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} assume !(~i~0 < ~edgecount~0); {11818#(and (exists ((|main_~#Dest~0.base| Int)) (and (= (select (select |#memory_int| |main_~#Dest~0.base|) 8) 4) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)) (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) 4)))) (= |main_~#distance~0.offset| 0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:37,698 INFO L290 TraceCheckUtils]: 31: Hoare triple {11818#(and (exists ((|main_~#Dest~0.base| Int)) (and (= (select (select |#memory_int| |main_~#Dest~0.base|) 8) 4) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)) (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) 4)))) (= |main_~#distance~0.offset| 0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} ~i~0 := 0; {11858#(and (exists ((|main_~#Dest~0.base| Int)) (and (= (select (select |#memory_int| |main_~#Dest~0.base|) 8) 4) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)) (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) 4)))) (= |main_~#distance~0.offset| 0) (= main_~i~0 0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:37,698 INFO L290 TraceCheckUtils]: 32: Hoare triple {11858#(and (exists ((|main_~#Dest~0.base| Int)) (and (= (select (select |#memory_int| |main_~#Dest~0.base|) 8) 4) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (<= 1 (select (select |#memory_int| |main_~#Dest~0.base|) 0)) (<= 3 (select (select |#memory_int| |main_~#Dest~0.base|) 4)))) (= |main_~#distance~0.offset| 0) (= main_~i~0 0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} assume !!(~i~0 < ~nodecount~0);call #t~mem21 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {11862#(<= 0 |main_#t~mem21|)} is VALID [2022-04-08 03:35:37,699 INFO L272 TraceCheckUtils]: 33: Hoare triple {11862#(<= 0 |main_#t~mem21|)} call __VERIFIER_assert((if #t~mem21 >= 0 then 1 else 0)); {11866#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 03:35:37,699 INFO L290 TraceCheckUtils]: 34: Hoare triple {11866#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11870#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 03:35:37,700 INFO L290 TraceCheckUtils]: 35: Hoare triple {11870#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11736#false} is VALID [2022-04-08 03:35:37,700 INFO L290 TraceCheckUtils]: 36: Hoare triple {11736#false} assume !false; {11736#false} is VALID [2022-04-08 03:35:37,700 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-08 03:35:37,700 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 03:35:40,010 WARN L833 $PredicateComparison]: unable to prove that (forall ((v_main_~x~0_18 Int)) (or (forall ((v_ArrVal_434 Int)) (<= 0 (select (store (select |c_#memory_int| |c_main_~#distance~0.base|) (+ (* v_main_~x~0_18 4) |c_main_~#distance~0.offset|) v_ArrVal_434) |c_main_~#distance~0.offset|))) (not (<= (select (select |c_#memory_int| |c_main_~#Dest~0.base|) (+ (* c_main_~j~0 4) |c_main_~#Dest~0.offset|)) v_main_~x~0_18)))) is different from false [2022-04-08 03:35:40,497 WARN L833 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_434 Int) (v_main_~x~0_18 Int)) (or (<= 0 (select (store (select |c_#memory_int| |c_main_~#distance~0.base|) (+ (* v_main_~x~0_18 4) |c_main_~#distance~0.offset|) v_ArrVal_434) |c_main_~#distance~0.offset|)) (not (<= (select (select |c_#memory_int| |c_main_~#Dest~0.base|) (+ (* c_main_~j~0 4) 4 |c_main_~#Dest~0.offset|)) v_main_~x~0_18)))) is different from false [2022-04-08 03:35:41,431 WARN L833 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_434 Int) (v_ArrVal_431 Int) (v_main_~x~0_18 Int)) (let ((.cse0 (store (select |c_#memory_int| |c_main_~#distance~0.base|) (+ (* 4 c_main_~x~0) |c_main_~#distance~0.offset|) v_ArrVal_431))) (or (<= 0 (select (store .cse0 (+ (* v_main_~x~0_18 4) |c_main_~#distance~0.offset|) v_ArrVal_434) |c_main_~#distance~0.offset|)) (not (<= (select (select (store |c_#memory_int| |c_main_~#distance~0.base| .cse0) |c_main_~#Dest~0.base|) (+ (* c_main_~j~0 4) 4 |c_main_~#Dest~0.offset|)) v_main_~x~0_18))))) is different from false [2022-04-08 03:35:43,782 WARN L833 $PredicateComparison]: unable to prove that (forall ((v_main_~x~0_19 Int)) (or (not (<= (select (select |c_#memory_int| |c_main_~#Dest~0.base|) (+ (* c_main_~j~0 4) |c_main_~#Dest~0.offset|)) v_main_~x~0_19)) (forall ((v_ArrVal_434 Int) (v_ArrVal_431 Int) (v_main_~x~0_18 Int)) (let ((.cse0 (store (select |c_#memory_int| |c_main_~#distance~0.base|) (+ |c_main_~#distance~0.offset| (* v_main_~x~0_19 4)) v_ArrVal_431))) (or (<= 0 (select (store .cse0 (+ (* v_main_~x~0_18 4) |c_main_~#distance~0.offset|) v_ArrVal_434) |c_main_~#distance~0.offset|)) (not (<= (select (select (store |c_#memory_int| |c_main_~#distance~0.base| .cse0) |c_main_~#Dest~0.base|) (+ (* c_main_~j~0 4) 4 |c_main_~#Dest~0.offset|)) v_main_~x~0_18))))))) is different from false [2022-04-08 03:35:46,072 WARN L833 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_434 Int) (v_ArrVal_431 Int) (v_main_~x~0_19 Int) (v_main_~x~0_18 Int)) (let ((.cse0 (store (select |c_#memory_int| |c_main_~#distance~0.base|) (+ |c_main_~#distance~0.offset| (* v_main_~x~0_19 4)) v_ArrVal_431))) (or (<= 0 (select (store .cse0 (+ (* v_main_~x~0_18 4) |c_main_~#distance~0.offset|) v_ArrVal_434) |c_main_~#distance~0.offset|)) (not (<= (select (select (store |c_#memory_int| |c_main_~#distance~0.base| .cse0) |c_main_~#Dest~0.base|) (+ 4 |c_main_~#Dest~0.offset|)) v_main_~x~0_18)) (not (<= (select (select |c_#memory_int| |c_main_~#Dest~0.base|) |c_main_~#Dest~0.offset|) v_main_~x~0_19))))) is different from false [2022-04-08 03:35:49,426 WARN L833 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_434 Int) (v_ArrVal_431 Int) (v_main_~x~0_19 Int) (v_ArrVal_429 Int) (v_main_~x~0_18 Int)) (let ((.cse0 (store (select |c_#memory_int| |c_main_~#distance~0.base|) (+ (* c_main_~i~0 4) |c_main_~#distance~0.offset|) v_ArrVal_429))) (let ((.cse1 (store .cse0 (+ |c_main_~#distance~0.offset| (* v_main_~x~0_19 4)) v_ArrVal_431))) (or (not (<= 0 v_ArrVal_429)) (not (<= (select (select (store |c_#memory_int| |c_main_~#distance~0.base| .cse0) |c_main_~#Dest~0.base|) |c_main_~#Dest~0.offset|) v_main_~x~0_19)) (not (<= (select (select (store |c_#memory_int| |c_main_~#distance~0.base| .cse1) |c_main_~#Dest~0.base|) (+ 4 |c_main_~#Dest~0.offset|)) v_main_~x~0_18)) (<= 0 (select (store .cse1 (+ (* v_main_~x~0_18 4) |c_main_~#distance~0.offset|) v_ArrVal_434) |c_main_~#distance~0.offset|)))))) is different from false [2022-04-08 03:35:50,737 INFO L290 TraceCheckUtils]: 36: Hoare triple {11736#false} assume !false; {11736#false} is VALID [2022-04-08 03:35:50,738 INFO L290 TraceCheckUtils]: 35: Hoare triple {11870#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11736#false} is VALID [2022-04-08 03:35:50,738 INFO L290 TraceCheckUtils]: 34: Hoare triple {11866#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11870#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 03:35:50,739 INFO L272 TraceCheckUtils]: 33: Hoare triple {11862#(<= 0 |main_#t~mem21|)} call __VERIFIER_assert((if #t~mem21 >= 0 then 1 else 0)); {11866#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 03:35:50,739 INFO L290 TraceCheckUtils]: 32: Hoare triple {11889#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4))))} assume !!(~i~0 < ~nodecount~0);call #t~mem21 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {11862#(<= 0 |main_#t~mem21|)} is VALID [2022-04-08 03:35:50,739 INFO L290 TraceCheckUtils]: 31: Hoare triple {11893#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} ~i~0 := 0; {11889#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4))))} is VALID [2022-04-08 03:35:50,740 INFO L290 TraceCheckUtils]: 30: Hoare triple {11893#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} assume !(~i~0 < ~edgecount~0); {11893#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} is VALID [2022-04-08 03:35:50,740 INFO L290 TraceCheckUtils]: 29: Hoare triple {11893#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} #t~post14 := ~i~0;~i~0 := 1 + #t~post14;havoc #t~post14; {11893#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} is VALID [2022-04-08 03:35:50,740 INFO L290 TraceCheckUtils]: 28: Hoare triple {11893#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} assume !(#t~mem19 > #t~mem17 + #t~mem18);havoc #t~mem19;havoc #t~mem17;havoc #t~mem18; {11893#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} is VALID [2022-04-08 03:35:50,741 INFO L290 TraceCheckUtils]: 27: Hoare triple {11893#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} assume !!(~i~0 < ~edgecount~0);call #t~mem15 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~i~0, 4);~x~0 := #t~mem15;havoc #t~mem15;call #t~mem16 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~i~0, 4);~y~0 := #t~mem16;havoc #t~mem16;call #t~mem19 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem17 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem18 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~i~0, 4); {11893#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} is VALID [2022-04-08 03:35:50,741 INFO L290 TraceCheckUtils]: 26: Hoare triple {11893#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} #t~post14 := ~i~0;~i~0 := 1 + #t~post14;havoc #t~post14; {11893#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} is VALID [2022-04-08 03:35:50,741 INFO L290 TraceCheckUtils]: 25: Hoare triple {11893#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} assume !(#t~mem19 > #t~mem17 + #t~mem18);havoc #t~mem19;havoc #t~mem17;havoc #t~mem18; {11893#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} is VALID [2022-04-08 03:35:50,741 INFO L290 TraceCheckUtils]: 24: Hoare triple {11893#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} assume !!(~i~0 < ~edgecount~0);call #t~mem15 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~i~0, 4);~x~0 := #t~mem15;havoc #t~mem15;call #t~mem16 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~i~0, 4);~y~0 := #t~mem16;havoc #t~mem16;call #t~mem19 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem17 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem18 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~i~0, 4); {11893#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} is VALID [2022-04-08 03:35:50,742 INFO L290 TraceCheckUtils]: 23: Hoare triple {11893#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} ~i~0 := 0; {11893#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} is VALID [2022-04-08 03:35:50,742 INFO L290 TraceCheckUtils]: 22: Hoare triple {11893#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} assume !(~i~0 < ~nodecount~0); {11893#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} is VALID [2022-04-08 03:35:50,742 INFO L290 TraceCheckUtils]: 21: Hoare triple {11893#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {11893#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} is VALID [2022-04-08 03:35:50,742 INFO L290 TraceCheckUtils]: 20: Hoare triple {11893#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} assume !(~j~0 < ~edgecount~0); {11893#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} is VALID [2022-04-08 03:35:50,743 INFO L290 TraceCheckUtils]: 19: Hoare triple {11893#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} #t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {11893#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} is VALID [2022-04-08 03:35:50,743 INFO L290 TraceCheckUtils]: 18: Hoare triple {11933#(forall ((v_ArrVal_434 Int)) (<= 0 (select (store (select |#memory_int| |main_~#distance~0.base|) (+ (* main_~x~0 4) |main_~#distance~0.offset|) v_ArrVal_434) |main_~#distance~0.offset|)))} assume #t~mem13 > #t~mem11 + #t~mem12;havoc #t~mem13;havoc #t~mem11;havoc #t~mem12;call write~int(-1, ~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); {11893#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} is VALID [2022-04-08 03:35:50,745 INFO L290 TraceCheckUtils]: 17: Hoare triple {11937#(forall ((v_main_~x~0_18 Int)) (or (forall ((v_ArrVal_434 Int)) (<= 0 (select (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* v_main_~x~0_18 4)) v_ArrVal_434) |main_~#distance~0.offset|))) (not (<= (select (select |#memory_int| |main_~#Dest~0.base|) (+ (* main_~j~0 4) |main_~#Dest~0.offset|)) v_main_~x~0_18))))} assume !!(~j~0 < ~edgecount~0);call #t~mem9 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4);~x~0 := #t~mem9;havoc #t~mem9;call #t~mem10 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4);~y~0 := #t~mem10;havoc #t~mem10;call #t~mem13 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem11 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem12 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); {11933#(forall ((v_ArrVal_434 Int)) (<= 0 (select (store (select |#memory_int| |main_~#distance~0.base|) (+ (* main_~x~0 4) |main_~#distance~0.offset|) v_ArrVal_434) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:50,746 INFO L290 TraceCheckUtils]: 16: Hoare triple {11941#(forall ((v_ArrVal_434 Int) (v_main_~x~0_18 Int)) (or (<= 0 (select (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* v_main_~x~0_18 4)) v_ArrVal_434) |main_~#distance~0.offset|)) (not (<= (select (select |#memory_int| |main_~#Dest~0.base|) (+ (* main_~j~0 4) 4 |main_~#Dest~0.offset|)) v_main_~x~0_18))))} #t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {11937#(forall ((v_main_~x~0_18 Int)) (or (forall ((v_ArrVal_434 Int)) (<= 0 (select (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* v_main_~x~0_18 4)) v_ArrVal_434) |main_~#distance~0.offset|))) (not (<= (select (select |#memory_int| |main_~#Dest~0.base|) (+ (* main_~j~0 4) |main_~#Dest~0.offset|)) v_main_~x~0_18))))} is VALID [2022-04-08 03:35:50,747 INFO L290 TraceCheckUtils]: 15: Hoare triple {11945#(forall ((v_ArrVal_434 Int) (v_ArrVal_431 Int) (v_main_~x~0_18 Int)) (or (not (<= (select (select (store |#memory_int| |main_~#distance~0.base| (store (select |#memory_int| |main_~#distance~0.base|) (+ (* main_~x~0 4) |main_~#distance~0.offset|) v_ArrVal_431)) |main_~#Dest~0.base|) (+ (* main_~j~0 4) 4 |main_~#Dest~0.offset|)) v_main_~x~0_18)) (<= 0 (select (store (store (select |#memory_int| |main_~#distance~0.base|) (+ (* main_~x~0 4) |main_~#distance~0.offset|) v_ArrVal_431) (+ |main_~#distance~0.offset| (* v_main_~x~0_18 4)) v_ArrVal_434) |main_~#distance~0.offset|))))} assume #t~mem13 > #t~mem11 + #t~mem12;havoc #t~mem13;havoc #t~mem11;havoc #t~mem12;call write~int(-1, ~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); {11941#(forall ((v_ArrVal_434 Int) (v_main_~x~0_18 Int)) (or (<= 0 (select (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* v_main_~x~0_18 4)) v_ArrVal_434) |main_~#distance~0.offset|)) (not (<= (select (select |#memory_int| |main_~#Dest~0.base|) (+ (* main_~j~0 4) 4 |main_~#Dest~0.offset|)) v_main_~x~0_18))))} is VALID [2022-04-08 03:35:50,765 INFO L290 TraceCheckUtils]: 14: Hoare triple {11949#(forall ((v_main_~x~0_19 Int)) (or (not (<= (select (select |#memory_int| |main_~#Dest~0.base|) (+ (* main_~j~0 4) |main_~#Dest~0.offset|)) v_main_~x~0_19)) (forall ((v_ArrVal_434 Int) (v_ArrVal_431 Int) (v_main_~x~0_18 Int)) (or (<= 0 (select (store (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* v_main_~x~0_19 4)) v_ArrVal_431) (+ |main_~#distance~0.offset| (* v_main_~x~0_18 4)) v_ArrVal_434) |main_~#distance~0.offset|)) (not (<= (select (select (store |#memory_int| |main_~#distance~0.base| (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* v_main_~x~0_19 4)) v_ArrVal_431)) |main_~#Dest~0.base|) (+ (* main_~j~0 4) 4 |main_~#Dest~0.offset|)) v_main_~x~0_18))))))} assume !!(~j~0 < ~edgecount~0);call #t~mem9 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4);~x~0 := #t~mem9;havoc #t~mem9;call #t~mem10 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4);~y~0 := #t~mem10;havoc #t~mem10;call #t~mem13 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem11 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem12 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); {11945#(forall ((v_ArrVal_434 Int) (v_ArrVal_431 Int) (v_main_~x~0_18 Int)) (or (not (<= (select (select (store |#memory_int| |main_~#distance~0.base| (store (select |#memory_int| |main_~#distance~0.base|) (+ (* main_~x~0 4) |main_~#distance~0.offset|) v_ArrVal_431)) |main_~#Dest~0.base|) (+ (* main_~j~0 4) 4 |main_~#Dest~0.offset|)) v_main_~x~0_18)) (<= 0 (select (store (store (select |#memory_int| |main_~#distance~0.base|) (+ (* main_~x~0 4) |main_~#distance~0.offset|) v_ArrVal_431) (+ |main_~#distance~0.offset| (* v_main_~x~0_18 4)) v_ArrVal_434) |main_~#distance~0.offset|))))} is VALID [2022-04-08 03:35:50,766 INFO L290 TraceCheckUtils]: 13: Hoare triple {11953#(forall ((v_ArrVal_434 Int) (v_ArrVal_431 Int) (v_main_~x~0_19 Int) (v_main_~x~0_18 Int)) (or (<= 0 (select (store (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* v_main_~x~0_19 4)) v_ArrVal_431) (+ |main_~#distance~0.offset| (* v_main_~x~0_18 4)) v_ArrVal_434) |main_~#distance~0.offset|)) (not (<= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) v_main_~x~0_19)) (not (<= (select (select (store |#memory_int| |main_~#distance~0.base| (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* v_main_~x~0_19 4)) v_ArrVal_431)) |main_~#Dest~0.base|) (+ 4 |main_~#Dest~0.offset|)) v_main_~x~0_18))))} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {11949#(forall ((v_main_~x~0_19 Int)) (or (not (<= (select (select |#memory_int| |main_~#Dest~0.base|) (+ (* main_~j~0 4) |main_~#Dest~0.offset|)) v_main_~x~0_19)) (forall ((v_ArrVal_434 Int) (v_ArrVal_431 Int) (v_main_~x~0_18 Int)) (or (<= 0 (select (store (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* v_main_~x~0_19 4)) v_ArrVal_431) (+ |main_~#distance~0.offset| (* v_main_~x~0_18 4)) v_ArrVal_434) |main_~#distance~0.offset|)) (not (<= (select (select (store |#memory_int| |main_~#distance~0.base| (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* v_main_~x~0_19 4)) v_ArrVal_431)) |main_~#Dest~0.base|) (+ (* main_~j~0 4) 4 |main_~#Dest~0.offset|)) v_main_~x~0_18))))))} is VALID [2022-04-08 03:35:50,767 INFO L290 TraceCheckUtils]: 12: Hoare triple {11953#(forall ((v_ArrVal_434 Int) (v_ArrVal_431 Int) (v_main_~x~0_19 Int) (v_main_~x~0_18 Int)) (or (<= 0 (select (store (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* v_main_~x~0_19 4)) v_ArrVal_431) (+ |main_~#distance~0.offset| (* v_main_~x~0_18 4)) v_ArrVal_434) |main_~#distance~0.offset|)) (not (<= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) v_main_~x~0_19)) (not (<= (select (select (store |#memory_int| |main_~#distance~0.base| (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* v_main_~x~0_19 4)) v_ArrVal_431)) |main_~#Dest~0.base|) (+ 4 |main_~#Dest~0.offset|)) v_main_~x~0_18))))} ~i~0 := 0; {11953#(forall ((v_ArrVal_434 Int) (v_ArrVal_431 Int) (v_main_~x~0_19 Int) (v_main_~x~0_18 Int)) (or (<= 0 (select (store (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* v_main_~x~0_19 4)) v_ArrVal_431) (+ |main_~#distance~0.offset| (* v_main_~x~0_18 4)) v_ArrVal_434) |main_~#distance~0.offset|)) (not (<= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) v_main_~x~0_19)) (not (<= (select (select (store |#memory_int| |main_~#distance~0.base| (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* v_main_~x~0_19 4)) v_ArrVal_431)) |main_~#Dest~0.base|) (+ 4 |main_~#Dest~0.offset|)) v_main_~x~0_18))))} is VALID [2022-04-08 03:35:50,768 INFO L290 TraceCheckUtils]: 11: Hoare triple {11953#(forall ((v_ArrVal_434 Int) (v_ArrVal_431 Int) (v_main_~x~0_19 Int) (v_main_~x~0_18 Int)) (or (<= 0 (select (store (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* v_main_~x~0_19 4)) v_ArrVal_431) (+ |main_~#distance~0.offset| (* v_main_~x~0_18 4)) v_ArrVal_434) |main_~#distance~0.offset|)) (not (<= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) v_main_~x~0_19)) (not (<= (select (select (store |#memory_int| |main_~#distance~0.base| (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* v_main_~x~0_19 4)) v_ArrVal_431)) |main_~#Dest~0.base|) (+ 4 |main_~#Dest~0.offset|)) v_main_~x~0_18))))} assume !(~i~0 < ~nodecount~0); {11953#(forall ((v_ArrVal_434 Int) (v_ArrVal_431 Int) (v_main_~x~0_19 Int) (v_main_~x~0_18 Int)) (or (<= 0 (select (store (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* v_main_~x~0_19 4)) v_ArrVal_431) (+ |main_~#distance~0.offset| (* v_main_~x~0_18 4)) v_ArrVal_434) |main_~#distance~0.offset|)) (not (<= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) v_main_~x~0_19)) (not (<= (select (select (store |#memory_int| |main_~#distance~0.base| (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* v_main_~x~0_19 4)) v_ArrVal_431)) |main_~#Dest~0.base|) (+ 4 |main_~#Dest~0.offset|)) v_main_~x~0_18))))} is VALID [2022-04-08 03:35:50,769 INFO L290 TraceCheckUtils]: 10: Hoare triple {11953#(forall ((v_ArrVal_434 Int) (v_ArrVal_431 Int) (v_main_~x~0_19 Int) (v_main_~x~0_18 Int)) (or (<= 0 (select (store (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* v_main_~x~0_19 4)) v_ArrVal_431) (+ |main_~#distance~0.offset| (* v_main_~x~0_18 4)) v_ArrVal_434) |main_~#distance~0.offset|)) (not (<= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) v_main_~x~0_19)) (not (<= (select (select (store |#memory_int| |main_~#distance~0.base| (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* v_main_~x~0_19 4)) v_ArrVal_431)) |main_~#Dest~0.base|) (+ 4 |main_~#Dest~0.offset|)) v_main_~x~0_18))))} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {11953#(forall ((v_ArrVal_434 Int) (v_ArrVal_431 Int) (v_main_~x~0_19 Int) (v_main_~x~0_18 Int)) (or (<= 0 (select (store (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* v_main_~x~0_19 4)) v_ArrVal_431) (+ |main_~#distance~0.offset| (* v_main_~x~0_18 4)) v_ArrVal_434) |main_~#distance~0.offset|)) (not (<= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) v_main_~x~0_19)) (not (<= (select (select (store |#memory_int| |main_~#distance~0.base| (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* v_main_~x~0_19 4)) v_ArrVal_431)) |main_~#Dest~0.base|) (+ 4 |main_~#Dest~0.offset|)) v_main_~x~0_18))))} is VALID [2022-04-08 03:35:50,771 INFO L290 TraceCheckUtils]: 9: Hoare triple {11966#(forall ((v_ArrVal_434 Int) (v_ArrVal_431 Int) (v_main_~x~0_19 Int) (v_ArrVal_429 Int) (v_main_~x~0_18 Int)) (or (not (<= (select (select (store |#memory_int| |main_~#distance~0.base| (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4)) v_ArrVal_429)) |main_~#Dest~0.base|) |main_~#Dest~0.offset|) v_main_~x~0_19)) (<= 0 (select (store (store (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4)) v_ArrVal_429) (+ |main_~#distance~0.offset| (* v_main_~x~0_19 4)) v_ArrVal_431) (+ |main_~#distance~0.offset| (* v_main_~x~0_18 4)) v_ArrVal_434) |main_~#distance~0.offset|)) (not (<= 0 v_ArrVal_429)) (not (<= (select (select (store |#memory_int| |main_~#distance~0.base| (store (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4)) v_ArrVal_429) (+ |main_~#distance~0.offset| (* v_main_~x~0_19 4)) v_ArrVal_431)) |main_~#Dest~0.base|) (+ 4 |main_~#Dest~0.offset|)) v_main_~x~0_18))))} assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {11953#(forall ((v_ArrVal_434 Int) (v_ArrVal_431 Int) (v_main_~x~0_19 Int) (v_main_~x~0_18 Int)) (or (<= 0 (select (store (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* v_main_~x~0_19 4)) v_ArrVal_431) (+ |main_~#distance~0.offset| (* v_main_~x~0_18 4)) v_ArrVal_434) |main_~#distance~0.offset|)) (not (<= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) v_main_~x~0_19)) (not (<= (select (select (store |#memory_int| |main_~#distance~0.base| (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* v_main_~x~0_19 4)) v_ArrVal_431)) |main_~#Dest~0.base|) (+ 4 |main_~#Dest~0.offset|)) v_main_~x~0_18))))} is VALID [2022-04-08 03:35:50,773 INFO L290 TraceCheckUtils]: 8: Hoare triple {11966#(forall ((v_ArrVal_434 Int) (v_ArrVal_431 Int) (v_main_~x~0_19 Int) (v_ArrVal_429 Int) (v_main_~x~0_18 Int)) (or (not (<= (select (select (store |#memory_int| |main_~#distance~0.base| (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4)) v_ArrVal_429)) |main_~#Dest~0.base|) |main_~#Dest~0.offset|) v_main_~x~0_19)) (<= 0 (select (store (store (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4)) v_ArrVal_429) (+ |main_~#distance~0.offset| (* v_main_~x~0_19 4)) v_ArrVal_431) (+ |main_~#distance~0.offset| (* v_main_~x~0_18 4)) v_ArrVal_434) |main_~#distance~0.offset|)) (not (<= 0 v_ArrVal_429)) (not (<= (select (select (store |#memory_int| |main_~#distance~0.base| (store (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4)) v_ArrVal_429) (+ |main_~#distance~0.offset| (* v_main_~x~0_19 4)) v_ArrVal_431)) |main_~#Dest~0.base|) (+ 4 |main_~#Dest~0.offset|)) v_main_~x~0_18))))} assume !!(~i~0 < ~nodecount~0); {11966#(forall ((v_ArrVal_434 Int) (v_ArrVal_431 Int) (v_main_~x~0_19 Int) (v_ArrVal_429 Int) (v_main_~x~0_18 Int)) (or (not (<= (select (select (store |#memory_int| |main_~#distance~0.base| (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4)) v_ArrVal_429)) |main_~#Dest~0.base|) |main_~#Dest~0.offset|) v_main_~x~0_19)) (<= 0 (select (store (store (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4)) v_ArrVal_429) (+ |main_~#distance~0.offset| (* v_main_~x~0_19 4)) v_ArrVal_431) (+ |main_~#distance~0.offset| (* v_main_~x~0_18 4)) v_ArrVal_434) |main_~#distance~0.offset|)) (not (<= 0 v_ArrVal_429)) (not (<= (select (select (store |#memory_int| |main_~#distance~0.base| (store (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4)) v_ArrVal_429) (+ |main_~#distance~0.offset| (* v_main_~x~0_19 4)) v_ArrVal_431)) |main_~#Dest~0.base|) (+ 4 |main_~#Dest~0.offset|)) v_main_~x~0_18))))} is VALID [2022-04-08 03:35:50,779 INFO L290 TraceCheckUtils]: 7: Hoare triple {11735#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.allocOnStack(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.allocOnStack(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.allocOnStack(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.allocOnStack(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {11966#(forall ((v_ArrVal_434 Int) (v_ArrVal_431 Int) (v_main_~x~0_19 Int) (v_ArrVal_429 Int) (v_main_~x~0_18 Int)) (or (not (<= (select (select (store |#memory_int| |main_~#distance~0.base| (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4)) v_ArrVal_429)) |main_~#Dest~0.base|) |main_~#Dest~0.offset|) v_main_~x~0_19)) (<= 0 (select (store (store (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4)) v_ArrVal_429) (+ |main_~#distance~0.offset| (* v_main_~x~0_19 4)) v_ArrVal_431) (+ |main_~#distance~0.offset| (* v_main_~x~0_18 4)) v_ArrVal_434) |main_~#distance~0.offset|)) (not (<= 0 v_ArrVal_429)) (not (<= (select (select (store |#memory_int| |main_~#distance~0.base| (store (store (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4)) v_ArrVal_429) (+ |main_~#distance~0.offset| (* v_main_~x~0_19 4)) v_ArrVal_431)) |main_~#Dest~0.base|) (+ 4 |main_~#Dest~0.offset|)) v_main_~x~0_18))))} is VALID [2022-04-08 03:35:50,779 INFO L290 TraceCheckUtils]: 6: Hoare triple {11735#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {11735#true} is VALID [2022-04-08 03:35:50,779 INFO L290 TraceCheckUtils]: 5: Hoare triple {11735#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~nodecount~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~edgecount~0 := #t~nondet5;havoc #t~nondet5; {11735#true} is VALID [2022-04-08 03:35:50,779 INFO L272 TraceCheckUtils]: 4: Hoare triple {11735#true} call #t~ret22 := main(); {11735#true} is VALID [2022-04-08 03:35:50,779 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11735#true} {11735#true} #123#return; {11735#true} is VALID [2022-04-08 03:35:50,779 INFO L290 TraceCheckUtils]: 2: Hoare triple {11735#true} assume true; {11735#true} is VALID [2022-04-08 03:35:50,779 INFO L290 TraceCheckUtils]: 1: Hoare triple {11735#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3);~INFINITY~0 := 899; {11735#true} is VALID [2022-04-08 03:35:50,779 INFO L272 TraceCheckUtils]: 0: Hoare triple {11735#true} call ULTIMATE.init(); {11735#true} is VALID [2022-04-08 03:35:50,780 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 5 trivial. 7 not checked. [2022-04-08 03:35:50,780 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [227440434] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 03:35:50,780 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 03:35:50,780 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 13, 14] total 37 [2022-04-08 03:35:50,780 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 03:35:50,781 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1491105271] [2022-04-08 03:35:50,781 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1491105271] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 03:35:50,781 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 03:35:50,781 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-08 03:35:50,781 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1487981169] [2022-04-08 03:35:50,781 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 03:35:50,781 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 16 states have (on average 2.0625) internal successors, (33), 15 states have internal predecessors, (33), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 37 [2022-04-08 03:35:50,781 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 03:35:50,782 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 17 states, 16 states have (on average 2.0625) internal successors, (33), 15 states have internal predecessors, (33), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:35:50,822 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 03:35:50,822 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-08 03:35:50,822 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:50,823 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-08 03:35:50,823 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=132, Invalid=816, Unknown=6, NotChecked=378, Total=1332 [2022-04-08 03:35:50,823 INFO L87 Difference]: Start difference. First operand 154 states and 195 transitions. Second operand has 17 states, 16 states have (on average 2.0625) internal successors, (33), 15 states have internal predecessors, (33), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:35:52,873 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:52,873 INFO L93 Difference]: Finished difference Result 187 states and 232 transitions. [2022-04-08 03:35:52,873 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-08 03:35:52,873 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 16 states have (on average 2.0625) internal successors, (33), 15 states have internal predecessors, (33), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 37 [2022-04-08 03:35:52,873 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 03:35:52,874 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 16 states have (on average 2.0625) internal successors, (33), 15 states have internal predecessors, (33), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:35:52,875 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 89 transitions. [2022-04-08 03:35:52,875 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 16 states have (on average 2.0625) internal successors, (33), 15 states have internal predecessors, (33), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:35:52,876 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 89 transitions. [2022-04-08 03:35:52,876 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 89 transitions. [2022-04-08 03:35:52,978 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 03:35:52,981 INFO L225 Difference]: With dead ends: 187 [2022-04-08 03:35:52,981 INFO L226 Difference]: Without dead ends: 164 [2022-04-08 03:35:52,982 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 104 GetRequests, 55 SyntacticMatches, 2 SemanticMatches, 47 ConstructedPredicates, 6 IntricatePredicates, 0 DeprecatedPredicates, 407 ImplicationChecksByTransitivity, 10.1s TimeCoverageRelationStatistics Valid=271, Invalid=1553, Unknown=6, NotChecked=522, Total=2352 [2022-04-08 03:35:52,983 INFO L913 BasicCegarLoop]: 34 mSDtfsCounter, 88 mSDsluCounter, 41 mSDsCounter, 0 mSdLazyCounter, 479 mSolverCounterSat, 59 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 89 SdHoareTripleChecker+Valid, 75 SdHoareTripleChecker+Invalid, 538 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 59 IncrementalHoareTripleChecker+Valid, 479 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-08 03:35:52,984 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [89 Valid, 75 Invalid, 538 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [59 Valid, 479 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-08 03:35:52,984 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 164 states. [2022-04-08 03:35:53,544 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 164 to 157. [2022-04-08 03:35:53,545 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 03:35:53,545 INFO L82 GeneralOperation]: Start isEquivalent. First operand 164 states. Second operand has 157 states, 148 states have (on average 1.2905405405405406) internal successors, (191), 150 states have internal predecessors, (191), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 03:35:53,545 INFO L74 IsIncluded]: Start isIncluded. First operand 164 states. Second operand has 157 states, 148 states have (on average 1.2905405405405406) internal successors, (191), 150 states have internal predecessors, (191), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 03:35:53,545 INFO L87 Difference]: Start difference. First operand 164 states. Second operand has 157 states, 148 states have (on average 1.2905405405405406) internal successors, (191), 150 states have internal predecessors, (191), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 03:35:53,549 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:53,549 INFO L93 Difference]: Finished difference Result 164 states and 207 transitions. [2022-04-08 03:35:53,549 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 207 transitions. [2022-04-08 03:35:53,549 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:53,549 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:53,549 INFO L74 IsIncluded]: Start isIncluded. First operand has 157 states, 148 states have (on average 1.2905405405405406) internal successors, (191), 150 states have internal predecessors, (191), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Second operand 164 states. [2022-04-08 03:35:53,550 INFO L87 Difference]: Start difference. First operand has 157 states, 148 states have (on average 1.2905405405405406) internal successors, (191), 150 states have internal predecessors, (191), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Second operand 164 states. [2022-04-08 03:35:53,552 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:53,553 INFO L93 Difference]: Finished difference Result 164 states and 207 transitions. [2022-04-08 03:35:53,553 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 207 transitions. [2022-04-08 03:35:53,553 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:53,553 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:53,553 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 03:35:53,553 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 03:35:53,553 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 157 states, 148 states have (on average 1.2905405405405406) internal successors, (191), 150 states have internal predecessors, (191), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 03:35:53,556 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 157 states to 157 states and 199 transitions. [2022-04-08 03:35:53,556 INFO L78 Accepts]: Start accepts. Automaton has 157 states and 199 transitions. Word has length 37 [2022-04-08 03:35:53,556 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 03:35:53,556 INFO L478 AbstractCegarLoop]: Abstraction has 157 states and 199 transitions. [2022-04-08 03:35:53,557 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 16 states have (on average 2.0625) internal successors, (33), 15 states have internal predecessors, (33), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:35:53,557 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 157 states and 199 transitions. [2022-04-08 03:35:53,921 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 199 edges. 199 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 03:35:53,921 INFO L276 IsEmpty]: Start isEmpty. Operand 157 states and 199 transitions. [2022-04-08 03:35:53,922 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-08 03:35:53,922 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 03:35:53,922 INFO L499 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, 1, 1, 1, 1, 1, 1] [2022-04-08 03:35:53,940 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-08 03:35:54,127 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-08 03:35:54,127 INFO L403 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 03:35:54,128 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 03:35:54,128 INFO L85 PathProgramCache]: Analyzing trace with hash -651731607, now seen corresponding path program 1 times [2022-04-08 03:35:54,128 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:54,128 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1327187794] [2022-04-08 03:35:54,131 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 03:35:54,131 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 03:35:54,131 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 03:35:54,131 INFO L85 PathProgramCache]: Analyzing trace with hash -651731607, now seen corresponding path program 2 times [2022-04-08 03:35:54,131 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 03:35:54,131 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [552632933] [2022-04-08 03:35:54,131 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 03:35:54,131 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 03:35:54,163 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:54,205 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 03:35:54,206 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:54,209 INFO L290 TraceCheckUtils]: 0: Hoare triple {13044#(and (= |old(~INFINITY~0)| ~INFINITY~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3);~INFINITY~0 := 899; {13036#true} is VALID [2022-04-08 03:35:54,209 INFO L290 TraceCheckUtils]: 1: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-08 03:35:54,209 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {13036#true} {13036#true} #123#return; {13036#true} is VALID [2022-04-08 03:35:54,209 INFO L272 TraceCheckUtils]: 0: Hoare triple {13036#true} call ULTIMATE.init(); {13044#(and (= |old(~INFINITY~0)| ~INFINITY~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 03:35:54,209 INFO L290 TraceCheckUtils]: 1: Hoare triple {13044#(and (= |old(~INFINITY~0)| ~INFINITY~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3);~INFINITY~0 := 899; {13036#true} is VALID [2022-04-08 03:35:54,210 INFO L290 TraceCheckUtils]: 2: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-08 03:35:54,210 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13036#true} {13036#true} #123#return; {13036#true} is VALID [2022-04-08 03:35:54,210 INFO L272 TraceCheckUtils]: 4: Hoare triple {13036#true} call #t~ret22 := main(); {13036#true} is VALID [2022-04-08 03:35:54,210 INFO L290 TraceCheckUtils]: 5: Hoare triple {13036#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~nodecount~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~edgecount~0 := #t~nondet5;havoc #t~nondet5; {13036#true} is VALID [2022-04-08 03:35:54,210 INFO L290 TraceCheckUtils]: 6: Hoare triple {13036#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {13036#true} is VALID [2022-04-08 03:35:54,210 INFO L290 TraceCheckUtils]: 7: Hoare triple {13036#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.allocOnStack(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.allocOnStack(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.allocOnStack(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.allocOnStack(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {13036#true} is VALID [2022-04-08 03:35:54,210 INFO L290 TraceCheckUtils]: 8: Hoare triple {13036#true} assume !!(~i~0 < ~nodecount~0); {13036#true} is VALID [2022-04-08 03:35:54,210 INFO L290 TraceCheckUtils]: 9: Hoare triple {13036#true} assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {13036#true} is VALID [2022-04-08 03:35:54,210 INFO L290 TraceCheckUtils]: 10: Hoare triple {13036#true} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {13036#true} is VALID [2022-04-08 03:35:54,210 INFO L290 TraceCheckUtils]: 11: Hoare triple {13036#true} assume !!(~i~0 < ~nodecount~0); {13036#true} is VALID [2022-04-08 03:35:54,210 INFO L290 TraceCheckUtils]: 12: Hoare triple {13036#true} assume !(~i~0 == ~source~0);call write~int(~INFINITY~0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {13036#true} is VALID [2022-04-08 03:35:54,210 INFO L290 TraceCheckUtils]: 13: Hoare triple {13036#true} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {13036#true} is VALID [2022-04-08 03:35:54,211 INFO L290 TraceCheckUtils]: 14: Hoare triple {13036#true} assume !(~i~0 < ~nodecount~0); {13036#true} is VALID [2022-04-08 03:35:54,211 INFO L290 TraceCheckUtils]: 15: Hoare triple {13036#true} ~i~0 := 0; {13036#true} is VALID [2022-04-08 03:35:54,211 INFO L290 TraceCheckUtils]: 16: Hoare triple {13036#true} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {13041#(= main_~j~0 0)} is VALID [2022-04-08 03:35:54,211 INFO L290 TraceCheckUtils]: 17: Hoare triple {13041#(= main_~j~0 0)} assume !(~j~0 < ~edgecount~0); {13042#(<= main_~edgecount~0 0)} is VALID [2022-04-08 03:35:54,212 INFO L290 TraceCheckUtils]: 18: Hoare triple {13042#(<= main_~edgecount~0 0)} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {13042#(<= main_~edgecount~0 0)} is VALID [2022-04-08 03:35:54,212 INFO L290 TraceCheckUtils]: 19: Hoare triple {13042#(<= main_~edgecount~0 0)} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {13043#(and (= main_~j~0 0) (<= main_~edgecount~0 0))} is VALID [2022-04-08 03:35:54,213 INFO L290 TraceCheckUtils]: 20: Hoare triple {13043#(and (= main_~j~0 0) (<= main_~edgecount~0 0))} assume !!(~j~0 < ~edgecount~0);call #t~mem9 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4);~x~0 := #t~mem9;havoc #t~mem9;call #t~mem10 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4);~y~0 := #t~mem10;havoc #t~mem10;call #t~mem13 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem11 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem12 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); {13037#false} is VALID [2022-04-08 03:35:54,213 INFO L290 TraceCheckUtils]: 21: Hoare triple {13037#false} assume #t~mem13 > #t~mem11 + #t~mem12;havoc #t~mem13;havoc #t~mem11;havoc #t~mem12;call write~int(-1, ~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); {13037#false} is VALID [2022-04-08 03:35:54,213 INFO L290 TraceCheckUtils]: 22: Hoare triple {13037#false} #t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {13037#false} is VALID [2022-04-08 03:35:54,213 INFO L290 TraceCheckUtils]: 23: Hoare triple {13037#false} assume !(~j~0 < ~edgecount~0); {13037#false} is VALID [2022-04-08 03:35:54,213 INFO L290 TraceCheckUtils]: 24: Hoare triple {13037#false} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {13037#false} is VALID [2022-04-08 03:35:54,213 INFO L290 TraceCheckUtils]: 25: Hoare triple {13037#false} assume !(~i~0 < ~nodecount~0); {13037#false} is VALID [2022-04-08 03:35:54,213 INFO L290 TraceCheckUtils]: 26: Hoare triple {13037#false} ~i~0 := 0; {13037#false} is VALID [2022-04-08 03:35:54,213 INFO L290 TraceCheckUtils]: 27: Hoare triple {13037#false} assume !!(~i~0 < ~edgecount~0);call #t~mem15 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~i~0, 4);~x~0 := #t~mem15;havoc #t~mem15;call #t~mem16 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~i~0, 4);~y~0 := #t~mem16;havoc #t~mem16;call #t~mem19 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem17 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem18 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~i~0, 4); {13037#false} is VALID [2022-04-08 03:35:54,213 INFO L290 TraceCheckUtils]: 28: Hoare triple {13037#false} assume !(#t~mem19 > #t~mem17 + #t~mem18);havoc #t~mem19;havoc #t~mem17;havoc #t~mem18; {13037#false} is VALID [2022-04-08 03:35:54,213 INFO L290 TraceCheckUtils]: 29: Hoare triple {13037#false} #t~post14 := ~i~0;~i~0 := 1 + #t~post14;havoc #t~post14; {13037#false} is VALID [2022-04-08 03:35:54,213 INFO L290 TraceCheckUtils]: 30: Hoare triple {13037#false} assume !(~i~0 < ~edgecount~0); {13037#false} is VALID [2022-04-08 03:35:54,213 INFO L290 TraceCheckUtils]: 31: Hoare triple {13037#false} ~i~0 := 0; {13037#false} is VALID [2022-04-08 03:35:54,214 INFO L290 TraceCheckUtils]: 32: Hoare triple {13037#false} assume !!(~i~0 < ~nodecount~0);call #t~mem21 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {13037#false} is VALID [2022-04-08 03:35:54,214 INFO L272 TraceCheckUtils]: 33: Hoare triple {13037#false} call __VERIFIER_assert((if #t~mem21 >= 0 then 1 else 0)); {13037#false} is VALID [2022-04-08 03:35:54,214 INFO L290 TraceCheckUtils]: 34: Hoare triple {13037#false} ~cond := #in~cond; {13037#false} is VALID [2022-04-08 03:35:54,214 INFO L290 TraceCheckUtils]: 35: Hoare triple {13037#false} assume 0 == ~cond; {13037#false} is VALID [2022-04-08 03:35:54,214 INFO L290 TraceCheckUtils]: 36: Hoare triple {13037#false} assume !false; {13037#false} is VALID [2022-04-08 03:35:54,214 INFO L134 CoverageAnalysis]: Checked inductivity of 13 backedges. 7 proven. 0 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-08 03:35:54,214 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 03:35:54,214 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [552632933] [2022-04-08 03:35:54,214 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [552632933] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 03:35:54,214 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 03:35:54,215 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 03:35:54,215 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 03:35:54,215 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1327187794] [2022-04-08 03:35:54,215 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1327187794] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 03:35:54,215 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 03:35:54,215 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 03:35:54,215 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [588671831] [2022-04-08 03:35:54,215 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 03:35:54,216 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 5.166666666666667) internal successors, (31), 5 states have internal predecessors, (31), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 37 [2022-04-08 03:35:54,216 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 03:35:54,217 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 5.166666666666667) internal successors, (31), 5 states have internal predecessors, (31), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:35:54,241 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 03:35:54,241 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 03:35:54,241 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:54,242 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 03:35:54,242 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-08 03:35:54,242 INFO L87 Difference]: Start difference. First operand 157 states and 199 transitions. Second operand has 6 states, 6 states have (on average 5.166666666666667) internal successors, (31), 5 states have internal predecessors, (31), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:35:55,116 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:55,116 INFO L93 Difference]: Finished difference Result 247 states and 314 transitions. [2022-04-08 03:35:55,116 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 03:35:55,116 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 5.166666666666667) internal successors, (31), 5 states have internal predecessors, (31), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 37 [2022-04-08 03:35:55,116 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 03:35:55,116 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 5.166666666666667) internal successors, (31), 5 states have internal predecessors, (31), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:35:55,117 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 83 transitions. [2022-04-08 03:35:55,117 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 5.166666666666667) internal successors, (31), 5 states have internal predecessors, (31), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:35:55,118 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 83 transitions. [2022-04-08 03:35:55,118 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 83 transitions. [2022-04-08 03:35:55,199 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 03:35:55,202 INFO L225 Difference]: With dead ends: 247 [2022-04-08 03:35:55,202 INFO L226 Difference]: Without dead ends: 177 [2022-04-08 03:35:55,205 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=22, Invalid=34, Unknown=0, NotChecked=0, Total=56 [2022-04-08 03:35:55,206 INFO L913 BasicCegarLoop]: 32 mSDtfsCounter, 71 mSDsluCounter, 12 mSDsCounter, 0 mSdLazyCounter, 75 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 72 SdHoareTripleChecker+Valid, 44 SdHoareTripleChecker+Invalid, 83 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 75 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 03:35:55,206 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [72 Valid, 44 Invalid, 83 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 75 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 03:35:55,207 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 177 states. [2022-04-08 03:35:55,818 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 177 to 157. [2022-04-08 03:35:55,818 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 03:35:55,818 INFO L82 GeneralOperation]: Start isEquivalent. First operand 177 states. Second operand has 157 states, 148 states have (on average 1.2702702702702702) internal successors, (188), 150 states have internal predecessors, (188), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 03:35:55,818 INFO L74 IsIncluded]: Start isIncluded. First operand 177 states. Second operand has 157 states, 148 states have (on average 1.2702702702702702) internal successors, (188), 150 states have internal predecessors, (188), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 03:35:55,819 INFO L87 Difference]: Start difference. First operand 177 states. Second operand has 157 states, 148 states have (on average 1.2702702702702702) internal successors, (188), 150 states have internal predecessors, (188), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 03:35:55,821 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:55,821 INFO L93 Difference]: Finished difference Result 177 states and 223 transitions. [2022-04-08 03:35:55,821 INFO L276 IsEmpty]: Start isEmpty. Operand 177 states and 223 transitions. [2022-04-08 03:35:55,821 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:55,821 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:55,822 INFO L74 IsIncluded]: Start isIncluded. First operand has 157 states, 148 states have (on average 1.2702702702702702) internal successors, (188), 150 states have internal predecessors, (188), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Second operand 177 states. [2022-04-08 03:35:55,822 INFO L87 Difference]: Start difference. First operand has 157 states, 148 states have (on average 1.2702702702702702) internal successors, (188), 150 states have internal predecessors, (188), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Second operand 177 states. [2022-04-08 03:35:55,825 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:35:55,825 INFO L93 Difference]: Finished difference Result 177 states and 223 transitions. [2022-04-08 03:35:55,825 INFO L276 IsEmpty]: Start isEmpty. Operand 177 states and 223 transitions. [2022-04-08 03:35:55,825 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:35:55,825 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:35:55,825 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 03:35:55,825 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 03:35:55,826 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 157 states, 148 states have (on average 1.2702702702702702) internal successors, (188), 150 states have internal predecessors, (188), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 03:35:55,828 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 157 states to 157 states and 196 transitions. [2022-04-08 03:35:55,828 INFO L78 Accepts]: Start accepts. Automaton has 157 states and 196 transitions. Word has length 37 [2022-04-08 03:35:55,829 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 03:35:55,829 INFO L478 AbstractCegarLoop]: Abstraction has 157 states and 196 transitions. [2022-04-08 03:35:55,829 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 5.166666666666667) internal successors, (31), 5 states have internal predecessors, (31), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:35:55,829 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 157 states and 196 transitions. [2022-04-08 03:35:56,183 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 196 edges. 196 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 03:35:56,183 INFO L276 IsEmpty]: Start isEmpty. Operand 157 states and 196 transitions. [2022-04-08 03:35:56,184 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-08 03:35:56,184 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 03:35:56,184 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 03:35:56,184 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable13 [2022-04-08 03:35:56,184 INFO L403 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 03:35:56,184 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 03:35:56,185 INFO L85 PathProgramCache]: Analyzing trace with hash 1411406606, now seen corresponding path program 9 times [2022-04-08 03:35:56,185 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:56,185 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1776596444] [2022-04-08 03:35:56,187 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 03:35:56,187 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 03:35:56,187 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 03:35:56,187 INFO L85 PathProgramCache]: Analyzing trace with hash 1411406606, now seen corresponding path program 10 times [2022-04-08 03:35:56,187 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 03:35:56,188 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1293408652] [2022-04-08 03:35:56,188 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 03:35:56,188 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 03:35:56,214 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:56,362 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 03:35:56,363 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:56,369 INFO L290 TraceCheckUtils]: 0: Hoare triple {14227#(and (= |old(~INFINITY~0)| ~INFINITY~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3);~INFINITY~0 := 899; {14213#true} is VALID [2022-04-08 03:35:56,369 INFO L290 TraceCheckUtils]: 1: Hoare triple {14213#true} assume true; {14213#true} is VALID [2022-04-08 03:35:56,369 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {14213#true} {14213#true} #123#return; {14213#true} is VALID [2022-04-08 03:35:56,370 INFO L272 TraceCheckUtils]: 0: Hoare triple {14213#true} call ULTIMATE.init(); {14227#(and (= |old(~INFINITY~0)| ~INFINITY~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 03:35:56,370 INFO L290 TraceCheckUtils]: 1: Hoare triple {14227#(and (= |old(~INFINITY~0)| ~INFINITY~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3);~INFINITY~0 := 899; {14213#true} is VALID [2022-04-08 03:35:56,370 INFO L290 TraceCheckUtils]: 2: Hoare triple {14213#true} assume true; {14213#true} is VALID [2022-04-08 03:35:56,370 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14213#true} {14213#true} #123#return; {14213#true} is VALID [2022-04-08 03:35:56,370 INFO L272 TraceCheckUtils]: 4: Hoare triple {14213#true} call #t~ret22 := main(); {14213#true} is VALID [2022-04-08 03:35:56,370 INFO L290 TraceCheckUtils]: 5: Hoare triple {14213#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~nodecount~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~edgecount~0 := #t~nondet5;havoc #t~nondet5; {14213#true} is VALID [2022-04-08 03:35:56,370 INFO L290 TraceCheckUtils]: 6: Hoare triple {14213#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {14213#true} is VALID [2022-04-08 03:35:56,372 INFO L290 TraceCheckUtils]: 7: Hoare triple {14213#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.allocOnStack(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.allocOnStack(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.allocOnStack(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.allocOnStack(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {14218#(and (= |main_~#distance~0.offset| 0) (= main_~i~0 0))} is VALID [2022-04-08 03:35:56,373 INFO L290 TraceCheckUtils]: 8: Hoare triple {14218#(and (= |main_~#distance~0.offset| 0) (= main_~i~0 0))} assume !!(~i~0 < ~nodecount~0); {14218#(and (= |main_~#distance~0.offset| 0) (= main_~i~0 0))} is VALID [2022-04-08 03:35:56,377 INFO L290 TraceCheckUtils]: 9: Hoare triple {14218#(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); {14219#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4))) 0) (= main_~i~0 0))} is VALID [2022-04-08 03:35:56,377 INFO L290 TraceCheckUtils]: 10: Hoare triple {14219#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4))) 0) (= main_~i~0 0))} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {14220#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (<= (+ (div (* (- 1) |main_~#distance~0.offset|) 4) 1) main_~i~0))} is VALID [2022-04-08 03:35:56,378 INFO L290 TraceCheckUtils]: 11: Hoare triple {14220#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (<= (+ (div (* (- 1) |main_~#distance~0.offset|) 4) 1) main_~i~0))} assume !!(~i~0 < ~nodecount~0); {14220#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (<= (+ (div (* (- 1) |main_~#distance~0.offset|) 4) 1) main_~i~0))} is VALID [2022-04-08 03:35:56,378 INFO L290 TraceCheckUtils]: 12: Hoare triple {14220#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (<= (+ (div (* (- 1) |main_~#distance~0.offset|) 4) 1) main_~i~0))} assume !(~i~0 == ~source~0);call write~int(~INFINITY~0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {14220#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (<= (+ (div (* (- 1) |main_~#distance~0.offset|) 4) 1) main_~i~0))} is VALID [2022-04-08 03:35:56,379 INFO L290 TraceCheckUtils]: 13: Hoare triple {14220#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (<= (+ (div (* (- 1) |main_~#distance~0.offset|) 4) 1) main_~i~0))} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {14221#(and (not (= (+ |main_~#distance~0.offset| (* main_~i~0 4)) 0)) (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} is VALID [2022-04-08 03:35:56,379 INFO L290 TraceCheckUtils]: 14: Hoare triple {14221#(and (not (= (+ |main_~#distance~0.offset| (* main_~i~0 4)) 0)) (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} assume !!(~i~0 < ~nodecount~0); {14221#(and (not (= (+ |main_~#distance~0.offset| (* main_~i~0 4)) 0)) (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} is VALID [2022-04-08 03:35:56,380 INFO L290 TraceCheckUtils]: 15: Hoare triple {14221#(and (not (= (+ |main_~#distance~0.offset| (* main_~i~0 4)) 0)) (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} assume !(~i~0 == ~source~0);call write~int(~INFINITY~0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {14222#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} is VALID [2022-04-08 03:35:56,380 INFO L290 TraceCheckUtils]: 16: Hoare triple {14222#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {14222#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} is VALID [2022-04-08 03:35:56,380 INFO L290 TraceCheckUtils]: 17: Hoare triple {14222#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} assume !(~i~0 < ~nodecount~0); {14222#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} is VALID [2022-04-08 03:35:56,381 INFO L290 TraceCheckUtils]: 18: Hoare triple {14222#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} ~i~0 := 0; {14222#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} is VALID [2022-04-08 03:35:56,381 INFO L290 TraceCheckUtils]: 19: Hoare triple {14222#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {14222#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} is VALID [2022-04-08 03:35:56,382 INFO L290 TraceCheckUtils]: 20: Hoare triple {14222#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} assume !(~j~0 < ~edgecount~0); {14222#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} is VALID [2022-04-08 03:35:56,382 INFO L290 TraceCheckUtils]: 21: Hoare triple {14222#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {14222#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} is VALID [2022-04-08 03:35:56,382 INFO L290 TraceCheckUtils]: 22: Hoare triple {14222#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {14222#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} is VALID [2022-04-08 03:35:56,383 INFO L290 TraceCheckUtils]: 23: Hoare triple {14222#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} assume !(~j~0 < ~edgecount~0); {14222#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} is VALID [2022-04-08 03:35:56,383 INFO L290 TraceCheckUtils]: 24: Hoare triple {14222#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {14222#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} is VALID [2022-04-08 03:35:56,383 INFO L290 TraceCheckUtils]: 25: Hoare triple {14222#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {14222#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} is VALID [2022-04-08 03:35:56,384 INFO L290 TraceCheckUtils]: 26: Hoare triple {14222#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} assume !(~j~0 < ~edgecount~0); {14222#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} is VALID [2022-04-08 03:35:56,384 INFO L290 TraceCheckUtils]: 27: Hoare triple {14222#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {14222#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} is VALID [2022-04-08 03:35:56,385 INFO L290 TraceCheckUtils]: 28: Hoare triple {14222#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} assume !(~i~0 < ~nodecount~0); {14222#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} is VALID [2022-04-08 03:35:56,385 INFO L290 TraceCheckUtils]: 29: Hoare triple {14222#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} ~i~0 := 0; {14222#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} is VALID [2022-04-08 03:35:56,385 INFO L290 TraceCheckUtils]: 30: Hoare triple {14222#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} assume !(~i~0 < ~edgecount~0); {14222#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} is VALID [2022-04-08 03:35:56,386 INFO L290 TraceCheckUtils]: 31: Hoare triple {14222#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} ~i~0 := 0; {14223#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4))) 0))} is VALID [2022-04-08 03:35:56,386 INFO L290 TraceCheckUtils]: 32: Hoare triple {14223#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4))) 0))} assume !!(~i~0 < ~nodecount~0);call #t~mem21 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {14224#(= |main_#t~mem21| 0)} is VALID [2022-04-08 03:35:56,386 INFO L272 TraceCheckUtils]: 33: Hoare triple {14224#(= |main_#t~mem21| 0)} call __VERIFIER_assert((if #t~mem21 >= 0 then 1 else 0)); {14225#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 03:35:56,387 INFO L290 TraceCheckUtils]: 34: Hoare triple {14225#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {14226#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 03:35:56,387 INFO L290 TraceCheckUtils]: 35: Hoare triple {14226#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {14214#false} is VALID [2022-04-08 03:35:56,387 INFO L290 TraceCheckUtils]: 36: Hoare triple {14214#false} assume !false; {14214#false} is VALID [2022-04-08 03:35:56,387 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 12 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-08 03:35:56,387 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 03:35:56,387 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1293408652] [2022-04-08 03:35:56,387 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1293408652] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 03:35:56,388 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [210261626] [2022-04-08 03:35:56,388 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 03:35:56,388 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 03:35:56,388 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 03:35:56,389 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 03:35:56,389 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-08 03:35:56,449 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 03:35:56,450 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 03:35:56,450 INFO L263 TraceCheckSpWp]: Trace formula consists of 90 conjuncts, 29 conjunts are in the unsatisfiable core [2022-04-08 03:35:56,462 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:35:56,462 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 03:35:56,505 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 11 [2022-04-08 03:35:56,556 INFO L356 Elim1Store]: treesize reduction 40, result has 23.1 percent of original size [2022-04-08 03:35:56,557 INFO L390 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 1 case distinctions, treesize of input 28 treesize of output 27 [2022-04-08 03:35:56,621 INFO L356 Elim1Store]: treesize reduction 40, result has 23.1 percent of original size [2022-04-08 03:35:56,621 INFO L390 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 1 case distinctions, treesize of input 28 treesize of output 27 [2022-04-08 03:35:57,926 INFO L356 Elim1Store]: treesize reduction 10, result has 23.1 percent of original size [2022-04-08 03:35:57,926 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 20 treesize of output 10 [2022-04-08 03:35:58,024 INFO L272 TraceCheckUtils]: 0: Hoare triple {14213#true} call ULTIMATE.init(); {14213#true} is VALID [2022-04-08 03:35:58,024 INFO L290 TraceCheckUtils]: 1: Hoare triple {14213#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3);~INFINITY~0 := 899; {14213#true} is VALID [2022-04-08 03:35:58,024 INFO L290 TraceCheckUtils]: 2: Hoare triple {14213#true} assume true; {14213#true} is VALID [2022-04-08 03:35:58,024 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14213#true} {14213#true} #123#return; {14213#true} is VALID [2022-04-08 03:35:58,024 INFO L272 TraceCheckUtils]: 4: Hoare triple {14213#true} call #t~ret22 := main(); {14213#true} is VALID [2022-04-08 03:35:58,024 INFO L290 TraceCheckUtils]: 5: Hoare triple {14213#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~nodecount~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~edgecount~0 := #t~nondet5;havoc #t~nondet5; {14213#true} is VALID [2022-04-08 03:35:58,024 INFO L290 TraceCheckUtils]: 6: Hoare triple {14213#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {14213#true} is VALID [2022-04-08 03:35:58,024 INFO L290 TraceCheckUtils]: 7: Hoare triple {14213#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.allocOnStack(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.allocOnStack(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.allocOnStack(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.allocOnStack(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {14213#true} is VALID [2022-04-08 03:35:58,024 INFO L290 TraceCheckUtils]: 8: Hoare triple {14213#true} assume !!(~i~0 < ~nodecount~0); {14213#true} is VALID [2022-04-08 03:35:58,025 INFO L290 TraceCheckUtils]: 9: Hoare triple {14213#true} assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {14258#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4))))} is VALID [2022-04-08 03:35:58,026 INFO L290 TraceCheckUtils]: 10: Hoare triple {14258#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4))))} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {14262#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset| (* main_~i~0 4))))} is VALID [2022-04-08 03:35:58,026 INFO L290 TraceCheckUtils]: 11: Hoare triple {14262#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset| (* main_~i~0 4))))} assume !!(~i~0 < ~nodecount~0); {14262#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset| (* main_~i~0 4))))} is VALID [2022-04-08 03:35:58,026 INFO L290 TraceCheckUtils]: 12: Hoare triple {14262#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset| (* main_~i~0 4))))} assume !(~i~0 == ~source~0);call write~int(~INFINITY~0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {14262#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset| (* main_~i~0 4))))} is VALID [2022-04-08 03:35:58,027 INFO L290 TraceCheckUtils]: 13: Hoare triple {14262#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset| (* main_~i~0 4))))} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {14272#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (- 8) (* main_~i~0 4))))} is VALID [2022-04-08 03:35:58,027 INFO L290 TraceCheckUtils]: 14: Hoare triple {14272#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (- 8) (* main_~i~0 4))))} assume !!(~i~0 < ~nodecount~0); {14276#(and (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (- 8) (* main_~i~0 4)))) (< main_~i~0 main_~nodecount~0))} is VALID [2022-04-08 03:35:58,028 INFO L290 TraceCheckUtils]: 15: Hoare triple {14276#(and (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (- 8) (* main_~i~0 4)))) (< main_~i~0 main_~nodecount~0))} assume !(~i~0 == ~source~0);call write~int(~INFINITY~0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {14276#(and (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (- 8) (* main_~i~0 4)))) (< main_~i~0 main_~nodecount~0))} is VALID [2022-04-08 03:35:58,029 INFO L290 TraceCheckUtils]: 16: Hoare triple {14276#(and (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (- 8) (* main_~i~0 4)))) (< main_~i~0 main_~nodecount~0))} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {14283#(exists ((v_main_~i~0_136 Int)) (and (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_main_~i~0_136) |main_~#distance~0.offset| (- 8)))) (< v_main_~i~0_136 main_~nodecount~0) (<= main_~i~0 (+ v_main_~i~0_136 1))))} is VALID [2022-04-08 03:35:58,030 INFO L290 TraceCheckUtils]: 17: Hoare triple {14283#(exists ((v_main_~i~0_136 Int)) (and (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_main_~i~0_136) |main_~#distance~0.offset| (- 8)))) (< v_main_~i~0_136 main_~nodecount~0) (<= main_~i~0 (+ v_main_~i~0_136 1))))} assume !(~i~0 < ~nodecount~0); {14287#(exists ((v_main_~i~0_136 Int)) (and (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_main_~i~0_136) |main_~#distance~0.offset| (- 8)))) (<= main_~nodecount~0 (+ v_main_~i~0_136 1)) (< v_main_~i~0_136 main_~nodecount~0)))} is VALID [2022-04-08 03:35:58,031 INFO L290 TraceCheckUtils]: 18: Hoare triple {14287#(exists ((v_main_~i~0_136 Int)) (and (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_main_~i~0_136) |main_~#distance~0.offset| (- 8)))) (<= main_~nodecount~0 (+ v_main_~i~0_136 1)) (< v_main_~i~0_136 main_~nodecount~0)))} ~i~0 := 0; {14291#(and (exists ((v_main_~i~0_136 Int)) (and (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_main_~i~0_136) |main_~#distance~0.offset| (- 8)))) (<= main_~nodecount~0 (+ v_main_~i~0_136 1)) (< v_main_~i~0_136 main_~nodecount~0))) (= main_~i~0 0))} is VALID [2022-04-08 03:35:58,031 INFO L290 TraceCheckUtils]: 19: Hoare triple {14291#(and (exists ((v_main_~i~0_136 Int)) (and (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_main_~i~0_136) |main_~#distance~0.offset| (- 8)))) (<= main_~nodecount~0 (+ v_main_~i~0_136 1)) (< v_main_~i~0_136 main_~nodecount~0))) (= main_~i~0 0))} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {14291#(and (exists ((v_main_~i~0_136 Int)) (and (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_main_~i~0_136) |main_~#distance~0.offset| (- 8)))) (<= main_~nodecount~0 (+ v_main_~i~0_136 1)) (< v_main_~i~0_136 main_~nodecount~0))) (= main_~i~0 0))} is VALID [2022-04-08 03:35:58,032 INFO L290 TraceCheckUtils]: 20: Hoare triple {14291#(and (exists ((v_main_~i~0_136 Int)) (and (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_main_~i~0_136) |main_~#distance~0.offset| (- 8)))) (<= main_~nodecount~0 (+ v_main_~i~0_136 1)) (< v_main_~i~0_136 main_~nodecount~0))) (= main_~i~0 0))} assume !(~j~0 < ~edgecount~0); {14291#(and (exists ((v_main_~i~0_136 Int)) (and (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_main_~i~0_136) |main_~#distance~0.offset| (- 8)))) (<= main_~nodecount~0 (+ v_main_~i~0_136 1)) (< v_main_~i~0_136 main_~nodecount~0))) (= main_~i~0 0))} is VALID [2022-04-08 03:35:58,033 INFO L290 TraceCheckUtils]: 21: Hoare triple {14291#(and (exists ((v_main_~i~0_136 Int)) (and (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_main_~i~0_136) |main_~#distance~0.offset| (- 8)))) (<= main_~nodecount~0 (+ v_main_~i~0_136 1)) (< v_main_~i~0_136 main_~nodecount~0))) (= main_~i~0 0))} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {14301#(and (exists ((v_main_~i~0_136 Int)) (and (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_main_~i~0_136) |main_~#distance~0.offset| (- 8)))) (<= main_~nodecount~0 (+ v_main_~i~0_136 1)) (< v_main_~i~0_136 main_~nodecount~0))) (= (+ (- 1) main_~i~0) 0))} is VALID [2022-04-08 03:35:58,033 INFO L290 TraceCheckUtils]: 22: Hoare triple {14301#(and (exists ((v_main_~i~0_136 Int)) (and (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_main_~i~0_136) |main_~#distance~0.offset| (- 8)))) (<= main_~nodecount~0 (+ v_main_~i~0_136 1)) (< v_main_~i~0_136 main_~nodecount~0))) (= (+ (- 1) main_~i~0) 0))} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {14301#(and (exists ((v_main_~i~0_136 Int)) (and (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_main_~i~0_136) |main_~#distance~0.offset| (- 8)))) (<= main_~nodecount~0 (+ v_main_~i~0_136 1)) (< v_main_~i~0_136 main_~nodecount~0))) (= (+ (- 1) main_~i~0) 0))} is VALID [2022-04-08 03:35:58,034 INFO L290 TraceCheckUtils]: 23: Hoare triple {14301#(and (exists ((v_main_~i~0_136 Int)) (and (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_main_~i~0_136) |main_~#distance~0.offset| (- 8)))) (<= main_~nodecount~0 (+ v_main_~i~0_136 1)) (< v_main_~i~0_136 main_~nodecount~0))) (= (+ (- 1) main_~i~0) 0))} assume !(~j~0 < ~edgecount~0); {14301#(and (exists ((v_main_~i~0_136 Int)) (and (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_main_~i~0_136) |main_~#distance~0.offset| (- 8)))) (<= main_~nodecount~0 (+ v_main_~i~0_136 1)) (< v_main_~i~0_136 main_~nodecount~0))) (= (+ (- 1) main_~i~0) 0))} is VALID [2022-04-08 03:35:58,035 INFO L290 TraceCheckUtils]: 24: Hoare triple {14301#(and (exists ((v_main_~i~0_136 Int)) (and (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_main_~i~0_136) |main_~#distance~0.offset| (- 8)))) (<= main_~nodecount~0 (+ v_main_~i~0_136 1)) (< v_main_~i~0_136 main_~nodecount~0))) (= (+ (- 1) main_~i~0) 0))} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {14311#(and (= main_~i~0 2) (exists ((v_main_~i~0_136 Int)) (and (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_main_~i~0_136) |main_~#distance~0.offset| (- 8)))) (<= main_~nodecount~0 (+ v_main_~i~0_136 1)) (< v_main_~i~0_136 main_~nodecount~0))))} is VALID [2022-04-08 03:35:58,035 INFO L290 TraceCheckUtils]: 25: Hoare triple {14311#(and (= main_~i~0 2) (exists ((v_main_~i~0_136 Int)) (and (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_main_~i~0_136) |main_~#distance~0.offset| (- 8)))) (<= main_~nodecount~0 (+ v_main_~i~0_136 1)) (< v_main_~i~0_136 main_~nodecount~0))))} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {14315#(and (= main_~i~0 2) (exists ((v_main_~i~0_136 Int)) (and (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_main_~i~0_136) |main_~#distance~0.offset| (- 8)))) (<= main_~nodecount~0 (+ v_main_~i~0_136 1)) (< v_main_~i~0_136 main_~nodecount~0))) (< main_~i~0 main_~nodecount~0))} is VALID [2022-04-08 03:35:58,036 INFO L290 TraceCheckUtils]: 26: Hoare triple {14315#(and (= main_~i~0 2) (exists ((v_main_~i~0_136 Int)) (and (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_main_~i~0_136) |main_~#distance~0.offset| (- 8)))) (<= main_~nodecount~0 (+ v_main_~i~0_136 1)) (< v_main_~i~0_136 main_~nodecount~0))) (< main_~i~0 main_~nodecount~0))} assume !(~j~0 < ~edgecount~0); {14315#(and (= main_~i~0 2) (exists ((v_main_~i~0_136 Int)) (and (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_main_~i~0_136) |main_~#distance~0.offset| (- 8)))) (<= main_~nodecount~0 (+ v_main_~i~0_136 1)) (< v_main_~i~0_136 main_~nodecount~0))) (< main_~i~0 main_~nodecount~0))} is VALID [2022-04-08 03:35:58,037 INFO L290 TraceCheckUtils]: 27: Hoare triple {14315#(and (= main_~i~0 2) (exists ((v_main_~i~0_136 Int)) (and (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_main_~i~0_136) |main_~#distance~0.offset| (- 8)))) (<= main_~nodecount~0 (+ v_main_~i~0_136 1)) (< v_main_~i~0_136 main_~nodecount~0))) (< main_~i~0 main_~nodecount~0))} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {14322#(and (< 2 main_~nodecount~0) (exists ((v_main_~i~0_136 Int)) (and (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_main_~i~0_136) |main_~#distance~0.offset| (- 8)))) (<= main_~nodecount~0 (+ v_main_~i~0_136 1)) (< v_main_~i~0_136 main_~nodecount~0))) (<= main_~i~0 3))} is VALID [2022-04-08 03:35:58,038 INFO L290 TraceCheckUtils]: 28: Hoare triple {14322#(and (< 2 main_~nodecount~0) (exists ((v_main_~i~0_136 Int)) (and (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_main_~i~0_136) |main_~#distance~0.offset| (- 8)))) (<= main_~nodecount~0 (+ v_main_~i~0_136 1)) (< v_main_~i~0_136 main_~nodecount~0))) (<= main_~i~0 3))} assume !(~i~0 < ~nodecount~0); {14326#(exists ((v_main_~i~0_136 Int)) (and (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_main_~i~0_136) |main_~#distance~0.offset| (- 8)))) (< 1 v_main_~i~0_136) (< v_main_~i~0_136 3)))} is VALID [2022-04-08 03:35:58,038 INFO L290 TraceCheckUtils]: 29: Hoare triple {14326#(exists ((v_main_~i~0_136 Int)) (and (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_main_~i~0_136) |main_~#distance~0.offset| (- 8)))) (< 1 v_main_~i~0_136) (< v_main_~i~0_136 3)))} ~i~0 := 0; {14326#(exists ((v_main_~i~0_136 Int)) (and (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_main_~i~0_136) |main_~#distance~0.offset| (- 8)))) (< 1 v_main_~i~0_136) (< v_main_~i~0_136 3)))} is VALID [2022-04-08 03:35:58,039 INFO L290 TraceCheckUtils]: 30: Hoare triple {14326#(exists ((v_main_~i~0_136 Int)) (and (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_main_~i~0_136) |main_~#distance~0.offset| (- 8)))) (< 1 v_main_~i~0_136) (< v_main_~i~0_136 3)))} assume !(~i~0 < ~edgecount~0); {14326#(exists ((v_main_~i~0_136 Int)) (and (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_main_~i~0_136) |main_~#distance~0.offset| (- 8)))) (< 1 v_main_~i~0_136) (< v_main_~i~0_136 3)))} is VALID [2022-04-08 03:35:58,039 INFO L290 TraceCheckUtils]: 31: Hoare triple {14326#(exists ((v_main_~i~0_136 Int)) (and (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_main_~i~0_136) |main_~#distance~0.offset| (- 8)))) (< 1 v_main_~i~0_136) (< v_main_~i~0_136 3)))} ~i~0 := 0; {14336#(and (exists ((v_main_~i~0_136 Int)) (and (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_main_~i~0_136) |main_~#distance~0.offset| (- 8)))) (< 1 v_main_~i~0_136) (< v_main_~i~0_136 3))) (= main_~i~0 0))} is VALID [2022-04-08 03:35:58,040 INFO L290 TraceCheckUtils]: 32: Hoare triple {14336#(and (exists ((v_main_~i~0_136 Int)) (and (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (* 4 v_main_~i~0_136) |main_~#distance~0.offset| (- 8)))) (< 1 v_main_~i~0_136) (< v_main_~i~0_136 3))) (= main_~i~0 0))} assume !!(~i~0 < ~nodecount~0);call #t~mem21 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {14340#(<= 0 |main_#t~mem21|)} is VALID [2022-04-08 03:35:58,040 INFO L272 TraceCheckUtils]: 33: Hoare triple {14340#(<= 0 |main_#t~mem21|)} call __VERIFIER_assert((if #t~mem21 >= 0 then 1 else 0)); {14344#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 03:35:58,041 INFO L290 TraceCheckUtils]: 34: Hoare triple {14344#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {14348#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 03:35:58,041 INFO L290 TraceCheckUtils]: 35: Hoare triple {14348#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14214#false} is VALID [2022-04-08 03:35:58,041 INFO L290 TraceCheckUtils]: 36: Hoare triple {14214#false} assume !false; {14214#false} is VALID [2022-04-08 03:35:58,041 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 5 proven. 19 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 03:35:58,041 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 03:35:58,870 INFO L290 TraceCheckUtils]: 36: Hoare triple {14214#false} assume !false; {14214#false} is VALID [2022-04-08 03:35:58,871 INFO L290 TraceCheckUtils]: 35: Hoare triple {14348#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14214#false} is VALID [2022-04-08 03:35:58,871 INFO L290 TraceCheckUtils]: 34: Hoare triple {14344#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {14348#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 03:35:58,872 INFO L272 TraceCheckUtils]: 33: Hoare triple {14340#(<= 0 |main_#t~mem21|)} call __VERIFIER_assert((if #t~mem21 >= 0 then 1 else 0)); {14344#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 03:35:58,872 INFO L290 TraceCheckUtils]: 32: Hoare triple {14258#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4))))} assume !!(~i~0 < ~nodecount~0);call #t~mem21 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {14340#(<= 0 |main_#t~mem21|)} is VALID [2022-04-08 03:35:58,872 INFO L290 TraceCheckUtils]: 31: Hoare triple {14370#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} ~i~0 := 0; {14258#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4))))} is VALID [2022-04-08 03:35:58,873 INFO L290 TraceCheckUtils]: 30: Hoare triple {14370#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} assume !(~i~0 < ~edgecount~0); {14370#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} is VALID [2022-04-08 03:35:58,873 INFO L290 TraceCheckUtils]: 29: Hoare triple {14370#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} ~i~0 := 0; {14370#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} is VALID [2022-04-08 03:35:58,873 INFO L290 TraceCheckUtils]: 28: Hoare triple {14380#(or (< main_~i~0 main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} assume !(~i~0 < ~nodecount~0); {14370#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|))} is VALID [2022-04-08 03:35:58,874 INFO L290 TraceCheckUtils]: 27: Hoare triple {14384#(or (< (+ main_~i~0 1) main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {14380#(or (< main_~i~0 main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:58,874 INFO L290 TraceCheckUtils]: 26: Hoare triple {14384#(or (< (+ main_~i~0 1) main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} assume !(~j~0 < ~edgecount~0); {14384#(or (< (+ main_~i~0 1) main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:58,875 INFO L290 TraceCheckUtils]: 25: Hoare triple {14391#(or (< (+ main_~i~0 1) main_~nodecount~0) (not (< main_~i~0 main_~nodecount~0)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {14384#(or (< (+ main_~i~0 1) main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:58,875 INFO L290 TraceCheckUtils]: 24: Hoare triple {14395#(or (not (< (+ main_~i~0 1) main_~nodecount~0)) (< (+ main_~i~0 2) main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {14391#(or (< (+ main_~i~0 1) main_~nodecount~0) (not (< main_~i~0 main_~nodecount~0)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:58,876 INFO L290 TraceCheckUtils]: 23: Hoare triple {14395#(or (not (< (+ main_~i~0 1) main_~nodecount~0)) (< (+ main_~i~0 2) main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} assume !(~j~0 < ~edgecount~0); {14395#(or (not (< (+ main_~i~0 1) main_~nodecount~0)) (< (+ main_~i~0 2) main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:58,876 INFO L290 TraceCheckUtils]: 22: Hoare triple {14395#(or (not (< (+ main_~i~0 1) main_~nodecount~0)) (< (+ main_~i~0 2) main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {14395#(or (not (< (+ main_~i~0 1) main_~nodecount~0)) (< (+ main_~i~0 2) main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:58,876 INFO L290 TraceCheckUtils]: 21: Hoare triple {14405#(or (not (< (+ main_~i~0 2) main_~nodecount~0)) (< (+ main_~i~0 3) main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {14395#(or (not (< (+ main_~i~0 1) main_~nodecount~0)) (< (+ main_~i~0 2) main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:58,877 INFO L290 TraceCheckUtils]: 20: Hoare triple {14405#(or (not (< (+ main_~i~0 2) main_~nodecount~0)) (< (+ main_~i~0 3) main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} assume !(~j~0 < ~edgecount~0); {14405#(or (not (< (+ main_~i~0 2) main_~nodecount~0)) (< (+ main_~i~0 3) main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:58,877 INFO L290 TraceCheckUtils]: 19: Hoare triple {14405#(or (not (< (+ main_~i~0 2) main_~nodecount~0)) (< (+ main_~i~0 3) main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {14405#(or (not (< (+ main_~i~0 2) main_~nodecount~0)) (< (+ main_~i~0 3) main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:58,877 INFO L290 TraceCheckUtils]: 18: Hoare triple {14415#(or (not (< 2 main_~nodecount~0)) (< 3 main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} ~i~0 := 0; {14405#(or (not (< (+ main_~i~0 2) main_~nodecount~0)) (< (+ main_~i~0 3) main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:58,878 INFO L290 TraceCheckUtils]: 17: Hoare triple {14419#(or (not (< 2 main_~nodecount~0)) (< 3 main_~nodecount~0) (< main_~i~0 main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} assume !(~i~0 < ~nodecount~0); {14415#(or (not (< 2 main_~nodecount~0)) (< 3 main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:58,878 INFO L290 TraceCheckUtils]: 16: Hoare triple {14423#(or (not (< 2 main_~nodecount~0)) (< (+ main_~i~0 1) main_~nodecount~0) (< 3 main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {14419#(or (not (< 2 main_~nodecount~0)) (< 3 main_~nodecount~0) (< main_~i~0 main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:58,879 INFO L290 TraceCheckUtils]: 15: Hoare triple {14423#(or (not (< 2 main_~nodecount~0)) (< (+ main_~i~0 1) main_~nodecount~0) (< 3 main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} assume !(~i~0 == ~source~0);call write~int(~INFINITY~0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {14423#(or (not (< 2 main_~nodecount~0)) (< (+ main_~i~0 1) main_~nodecount~0) (< 3 main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:58,879 INFO L290 TraceCheckUtils]: 14: Hoare triple {14430#(or (<= main_~i~0 1) (<= 3 main_~i~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} assume !!(~i~0 < ~nodecount~0); {14423#(or (not (< 2 main_~nodecount~0)) (< (+ main_~i~0 1) main_~nodecount~0) (< 3 main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:58,880 INFO L290 TraceCheckUtils]: 13: Hoare triple {14434#(or (<= 2 main_~i~0) (<= main_~i~0 0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {14430#(or (<= main_~i~0 1) (<= 3 main_~i~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:58,880 INFO L290 TraceCheckUtils]: 12: Hoare triple {14434#(or (<= 2 main_~i~0) (<= main_~i~0 0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} assume !(~i~0 == ~source~0);call write~int(~INFINITY~0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {14434#(or (<= 2 main_~i~0) (<= main_~i~0 0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:58,881 INFO L290 TraceCheckUtils]: 11: Hoare triple {14434#(or (<= 2 main_~i~0) (<= main_~i~0 0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} assume !!(~i~0 < ~nodecount~0); {14434#(or (<= 2 main_~i~0) (<= main_~i~0 0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:58,881 INFO L290 TraceCheckUtils]: 10: Hoare triple {14444#(or (<= (+ main_~i~0 1) 0) (<= 1 main_~i~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {14434#(or (<= 2 main_~i~0) (<= main_~i~0 0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:58,882 INFO L290 TraceCheckUtils]: 9: Hoare triple {14213#true} assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {14444#(or (<= (+ main_~i~0 1) 0) (<= 1 main_~i~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) |main_~#distance~0.offset|)))} is VALID [2022-04-08 03:35:58,882 INFO L290 TraceCheckUtils]: 8: Hoare triple {14213#true} assume !!(~i~0 < ~nodecount~0); {14213#true} is VALID [2022-04-08 03:35:58,882 INFO L290 TraceCheckUtils]: 7: Hoare triple {14213#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.allocOnStack(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.allocOnStack(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.allocOnStack(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.allocOnStack(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {14213#true} is VALID [2022-04-08 03:35:58,882 INFO L290 TraceCheckUtils]: 6: Hoare triple {14213#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {14213#true} is VALID [2022-04-08 03:35:58,882 INFO L290 TraceCheckUtils]: 5: Hoare triple {14213#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~nodecount~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~edgecount~0 := #t~nondet5;havoc #t~nondet5; {14213#true} is VALID [2022-04-08 03:35:58,882 INFO L272 TraceCheckUtils]: 4: Hoare triple {14213#true} call #t~ret22 := main(); {14213#true} is VALID [2022-04-08 03:35:58,882 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14213#true} {14213#true} #123#return; {14213#true} is VALID [2022-04-08 03:35:58,882 INFO L290 TraceCheckUtils]: 2: Hoare triple {14213#true} assume true; {14213#true} is VALID [2022-04-08 03:35:58,882 INFO L290 TraceCheckUtils]: 1: Hoare triple {14213#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3);~INFINITY~0 := 899; {14213#true} is VALID [2022-04-08 03:35:58,882 INFO L272 TraceCheckUtils]: 0: Hoare triple {14213#true} call ULTIMATE.init(); {14213#true} is VALID [2022-04-08 03:35:58,883 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 5 proven. 19 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 03:35:58,883 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [210261626] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 03:35:58,883 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 03:35:58,883 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 18, 18] total 40 [2022-04-08 03:35:58,883 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 03:35:58,883 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1776596444] [2022-04-08 03:35:58,883 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1776596444] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 03:35:58,883 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 03:35:58,883 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-08 03:35:58,883 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1162803900] [2022-04-08 03:35:58,884 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 03:35:58,884 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 2.4545454545454546) internal successors, (27), 10 states have internal predecessors, (27), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 37 [2022-04-08 03:35:58,884 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 03:35:58,884 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 11 states have (on average 2.4545454545454546) internal successors, (27), 10 states have internal predecessors, (27), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:35:58,909 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 03:35:58,909 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-08 03:35:58,910 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 03:35:58,910 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-08 03:35:58,910 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=244, Invalid=1316, Unknown=0, NotChecked=0, Total=1560 [2022-04-08 03:35:58,910 INFO L87 Difference]: Start difference. First operand 157 states and 196 transitions. Second operand has 12 states, 11 states have (on average 2.4545454545454546) internal successors, (27), 10 states have internal predecessors, (27), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:36:00,644 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:36:00,645 INFO L93 Difference]: Finished difference Result 237 states and 298 transitions. [2022-04-08 03:36:00,645 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 03:36:00,645 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 2.4545454545454546) internal successors, (27), 10 states have internal predecessors, (27), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 37 [2022-04-08 03:36:00,645 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 03:36:00,645 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 2.4545454545454546) internal successors, (27), 10 states have internal predecessors, (27), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:36:00,646 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 87 transitions. [2022-04-08 03:36:00,646 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 2.4545454545454546) internal successors, (27), 10 states have internal predecessors, (27), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:36:00,647 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 87 transitions. [2022-04-08 03:36:00,647 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 87 transitions. [2022-04-08 03:36:00,741 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 87 edges. 87 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 03:36:00,745 INFO L225 Difference]: With dead ends: 237 [2022-04-08 03:36:00,745 INFO L226 Difference]: Without dead ends: 235 [2022-04-08 03:36:00,748 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 94 GetRequests, 46 SyntacticMatches, 3 SemanticMatches, 45 ConstructedPredicates, 0 IntricatePredicates, 1 DeprecatedPredicates, 578 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=335, Invalid=1827, Unknown=0, NotChecked=0, Total=2162 [2022-04-08 03:36:00,748 INFO L913 BasicCegarLoop]: 28 mSDtfsCounter, 113 mSDsluCounter, 34 mSDsCounter, 0 mSdLazyCounter, 344 mSolverCounterSat, 46 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 114 SdHoareTripleChecker+Valid, 62 SdHoareTripleChecker+Invalid, 390 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 46 IncrementalHoareTripleChecker+Valid, 344 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-08 03:36:00,748 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [114 Valid, 62 Invalid, 390 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [46 Valid, 344 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-08 03:36:00,749 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 235 states. [2022-04-08 03:36:01,460 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 235 to 162. [2022-04-08 03:36:01,460 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 03:36:01,460 INFO L82 GeneralOperation]: Start isEquivalent. First operand 235 states. Second operand has 162 states, 153 states have (on average 1.2745098039215685) internal successors, (195), 155 states have internal predecessors, (195), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 03:36:01,460 INFO L74 IsIncluded]: Start isIncluded. First operand 235 states. Second operand has 162 states, 153 states have (on average 1.2745098039215685) internal successors, (195), 155 states have internal predecessors, (195), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 03:36:01,461 INFO L87 Difference]: Start difference. First operand 235 states. Second operand has 162 states, 153 states have (on average 1.2745098039215685) internal successors, (195), 155 states have internal predecessors, (195), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 03:36:01,464 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:36:01,464 INFO L93 Difference]: Finished difference Result 235 states and 296 transitions. [2022-04-08 03:36:01,464 INFO L276 IsEmpty]: Start isEmpty. Operand 235 states and 296 transitions. [2022-04-08 03:36:01,464 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:36:01,464 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:36:01,465 INFO L74 IsIncluded]: Start isIncluded. First operand has 162 states, 153 states have (on average 1.2745098039215685) internal successors, (195), 155 states have internal predecessors, (195), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Second operand 235 states. [2022-04-08 03:36:01,465 INFO L87 Difference]: Start difference. First operand has 162 states, 153 states have (on average 1.2745098039215685) internal successors, (195), 155 states have internal predecessors, (195), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Second operand 235 states. [2022-04-08 03:36:01,470 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:36:01,470 INFO L93 Difference]: Finished difference Result 235 states and 296 transitions. [2022-04-08 03:36:01,470 INFO L276 IsEmpty]: Start isEmpty. Operand 235 states and 296 transitions. [2022-04-08 03:36:01,470 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:36:01,470 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:36:01,470 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 03:36:01,471 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 03:36:01,471 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 162 states, 153 states have (on average 1.2745098039215685) internal successors, (195), 155 states have internal predecessors, (195), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 03:36:01,474 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 162 states to 162 states and 203 transitions. [2022-04-08 03:36:01,474 INFO L78 Accepts]: Start accepts. Automaton has 162 states and 203 transitions. Word has length 37 [2022-04-08 03:36:01,474 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 03:36:01,474 INFO L478 AbstractCegarLoop]: Abstraction has 162 states and 203 transitions. [2022-04-08 03:36:01,474 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 11 states have (on average 2.4545454545454546) internal successors, (27), 10 states have internal predecessors, (27), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:36:01,474 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 162 states and 203 transitions. [2022-04-08 03:36:01,954 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 203 edges. 203 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 03:36:01,955 INFO L276 IsEmpty]: Start isEmpty. Operand 162 states and 203 transitions. [2022-04-08 03:36:01,955 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-08 03:36:01,955 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 03:36:01,955 INFO L499 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] [2022-04-08 03:36:01,980 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-04-08 03:36:02,156 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable14 [2022-04-08 03:36:02,156 INFO L403 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 03:36:02,156 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 03:36:02,156 INFO L85 PathProgramCache]: Analyzing trace with hash 524779340, now seen corresponding path program 1 times [2022-04-08 03:36:02,156 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 03:36:02,156 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1931220862] [2022-04-08 03:36:02,159 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 03:36:02,159 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 03:36:02,159 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 03:36:02,159 INFO L85 PathProgramCache]: Analyzing trace with hash 524779340, now seen corresponding path program 2 times [2022-04-08 03:36:02,159 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 03:36:02,159 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [225548721] [2022-04-08 03:36:02,160 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 03:36:02,160 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 03:36:02,184 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:36:02,356 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 03:36:02,358 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:36:02,370 INFO L290 TraceCheckUtils]: 0: Hoare triple {15778#(and (= |old(~INFINITY~0)| ~INFINITY~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3);~INFINITY~0 := 899; {15764#(<= 899 ~INFINITY~0)} is VALID [2022-04-08 03:36:02,371 INFO L290 TraceCheckUtils]: 1: Hoare triple {15764#(<= 899 ~INFINITY~0)} assume true; {15764#(<= 899 ~INFINITY~0)} is VALID [2022-04-08 03:36:02,371 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {15764#(<= 899 ~INFINITY~0)} {15759#true} #123#return; {15764#(<= 899 ~INFINITY~0)} is VALID [2022-04-08 03:36:02,371 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 27 [2022-04-08 03:36:02,373 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:36:02,375 INFO L290 TraceCheckUtils]: 0: Hoare triple {15759#true} ~cond := #in~cond; {15759#true} is VALID [2022-04-08 03:36:02,375 INFO L290 TraceCheckUtils]: 1: Hoare triple {15759#true} assume !(0 == ~cond); {15759#true} is VALID [2022-04-08 03:36:02,375 INFO L290 TraceCheckUtils]: 2: Hoare triple {15759#true} assume true; {15759#true} is VALID [2022-04-08 03:36:02,376 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15759#true} {15769#(and (= |main_~#distance~0.offset| 0) (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= main_~i~0 0))} #121#return; {15769#(and (= |main_~#distance~0.offset| 0) (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= main_~i~0 0))} is VALID [2022-04-08 03:36:02,376 INFO L272 TraceCheckUtils]: 0: Hoare triple {15759#true} call ULTIMATE.init(); {15778#(and (= |old(~INFINITY~0)| ~INFINITY~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 03:36:02,377 INFO L290 TraceCheckUtils]: 1: Hoare triple {15778#(and (= |old(~INFINITY~0)| ~INFINITY~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3);~INFINITY~0 := 899; {15764#(<= 899 ~INFINITY~0)} is VALID [2022-04-08 03:36:02,377 INFO L290 TraceCheckUtils]: 2: Hoare triple {15764#(<= 899 ~INFINITY~0)} assume true; {15764#(<= 899 ~INFINITY~0)} is VALID [2022-04-08 03:36:02,378 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15764#(<= 899 ~INFINITY~0)} {15759#true} #123#return; {15764#(<= 899 ~INFINITY~0)} is VALID [2022-04-08 03:36:02,378 INFO L272 TraceCheckUtils]: 4: Hoare triple {15764#(<= 899 ~INFINITY~0)} call #t~ret22 := main(); {15764#(<= 899 ~INFINITY~0)} is VALID [2022-04-08 03:36:02,379 INFO L290 TraceCheckUtils]: 5: Hoare triple {15764#(<= 899 ~INFINITY~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~nodecount~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~edgecount~0 := #t~nondet5;havoc #t~nondet5; {15764#(<= 899 ~INFINITY~0)} is VALID [2022-04-08 03:36:02,379 INFO L290 TraceCheckUtils]: 6: Hoare triple {15764#(<= 899 ~INFINITY~0)} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {15764#(<= 899 ~INFINITY~0)} is VALID [2022-04-08 03:36:02,381 INFO L290 TraceCheckUtils]: 7: Hoare triple {15764#(<= 899 ~INFINITY~0)} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.allocOnStack(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.allocOnStack(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.allocOnStack(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.allocOnStack(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {15765#(and (<= 899 ~INFINITY~0) (= |main_~#distance~0.offset| 0) (= main_~i~0 0))} is VALID [2022-04-08 03:36:02,382 INFO L290 TraceCheckUtils]: 8: Hoare triple {15765#(and (<= 899 ~INFINITY~0) (= |main_~#distance~0.offset| 0) (= main_~i~0 0))} assume !!(~i~0 < ~nodecount~0); {15765#(and (<= 899 ~INFINITY~0) (= |main_~#distance~0.offset| 0) (= main_~i~0 0))} is VALID [2022-04-08 03:36:02,382 INFO L290 TraceCheckUtils]: 9: Hoare triple {15765#(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); {15765#(and (<= 899 ~INFINITY~0) (= |main_~#distance~0.offset| 0) (= main_~i~0 0))} is VALID [2022-04-08 03:36:02,383 INFO L290 TraceCheckUtils]: 10: Hoare triple {15765#(and (<= 899 ~INFINITY~0) (= |main_~#distance~0.offset| 0) (= main_~i~0 0))} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {15766#(and (<= 899 ~INFINITY~0) (= |main_~#distance~0.offset| 0) (= (+ |main_~#distance~0.offset| (* main_~i~0 4)) 4))} is VALID [2022-04-08 03:36:02,383 INFO L290 TraceCheckUtils]: 11: Hoare triple {15766#(and (<= 899 ~INFINITY~0) (= |main_~#distance~0.offset| 0) (= (+ |main_~#distance~0.offset| (* main_~i~0 4)) 4))} assume !!(~i~0 < ~nodecount~0); {15766#(and (<= 899 ~INFINITY~0) (= |main_~#distance~0.offset| 0) (= (+ |main_~#distance~0.offset| (* main_~i~0 4)) 4))} is VALID [2022-04-08 03:36:02,384 INFO L290 TraceCheckUtils]: 12: Hoare triple {15766#(and (<= 899 ~INFINITY~0) (= |main_~#distance~0.offset| 0) (= (+ |main_~#distance~0.offset| (* main_~i~0 4)) 4))} assume !(~i~0 == ~source~0);call write~int(~INFINITY~0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {15767#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4)))) (= |main_~#distance~0.offset| 0) (= (+ |main_~#distance~0.offset| (* main_~i~0 4)) 4))} is VALID [2022-04-08 03:36:02,385 INFO L290 TraceCheckUtils]: 13: Hoare triple {15767#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4)))) (= |main_~#distance~0.offset| 0) (= (+ |main_~#distance~0.offset| (* main_~i~0 4)) 4))} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {15768#(and (= |main_~#distance~0.offset| 0) (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)))} is VALID [2022-04-08 03:36:02,385 INFO L290 TraceCheckUtils]: 14: Hoare triple {15768#(and (= |main_~#distance~0.offset| 0) (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)))} assume !(~i~0 < ~nodecount~0); {15768#(and (= |main_~#distance~0.offset| 0) (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)))} is VALID [2022-04-08 03:36:02,385 INFO L290 TraceCheckUtils]: 15: Hoare triple {15768#(and (= |main_~#distance~0.offset| 0) (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)))} ~i~0 := 0; {15768#(and (= |main_~#distance~0.offset| 0) (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)))} is VALID [2022-04-08 03:36:02,386 INFO L290 TraceCheckUtils]: 16: Hoare triple {15768#(and (= |main_~#distance~0.offset| 0) (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)))} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {15768#(and (= |main_~#distance~0.offset| 0) (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)))} is VALID [2022-04-08 03:36:02,386 INFO L290 TraceCheckUtils]: 17: Hoare triple {15768#(and (= |main_~#distance~0.offset| 0) (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)))} assume !(~j~0 < ~edgecount~0); {15768#(and (= |main_~#distance~0.offset| 0) (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)))} is VALID [2022-04-08 03:36:02,387 INFO L290 TraceCheckUtils]: 18: Hoare triple {15768#(and (= |main_~#distance~0.offset| 0) (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)))} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {15768#(and (= |main_~#distance~0.offset| 0) (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)))} is VALID [2022-04-08 03:36:02,387 INFO L290 TraceCheckUtils]: 19: Hoare triple {15768#(and (= |main_~#distance~0.offset| 0) (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)))} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {15768#(and (= |main_~#distance~0.offset| 0) (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)))} is VALID [2022-04-08 03:36:02,388 INFO L290 TraceCheckUtils]: 20: Hoare triple {15768#(and (= |main_~#distance~0.offset| 0) (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)))} assume !(~j~0 < ~edgecount~0); {15768#(and (= |main_~#distance~0.offset| 0) (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)))} is VALID [2022-04-08 03:36:02,388 INFO L290 TraceCheckUtils]: 21: Hoare triple {15768#(and (= |main_~#distance~0.offset| 0) (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)))} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {15768#(and (= |main_~#distance~0.offset| 0) (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)))} is VALID [2022-04-08 03:36:02,389 INFO L290 TraceCheckUtils]: 22: Hoare triple {15768#(and (= |main_~#distance~0.offset| 0) (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)))} assume !(~i~0 < ~nodecount~0); {15768#(and (= |main_~#distance~0.offset| 0) (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)))} is VALID [2022-04-08 03:36:02,389 INFO L290 TraceCheckUtils]: 23: Hoare triple {15768#(and (= |main_~#distance~0.offset| 0) (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)))} ~i~0 := 0; {15768#(and (= |main_~#distance~0.offset| 0) (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)))} is VALID [2022-04-08 03:36:02,390 INFO L290 TraceCheckUtils]: 24: Hoare triple {15768#(and (= |main_~#distance~0.offset| 0) (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)))} assume !(~i~0 < ~edgecount~0); {15768#(and (= |main_~#distance~0.offset| 0) (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)))} is VALID [2022-04-08 03:36:02,390 INFO L290 TraceCheckUtils]: 25: Hoare triple {15768#(and (= |main_~#distance~0.offset| 0) (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)))} ~i~0 := 0; {15769#(and (= |main_~#distance~0.offset| 0) (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= main_~i~0 0))} is VALID [2022-04-08 03:36:02,391 INFO L290 TraceCheckUtils]: 26: Hoare triple {15769#(and (= |main_~#distance~0.offset| 0) (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= main_~i~0 0))} assume !!(~i~0 < ~nodecount~0);call #t~mem21 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {15769#(and (= |main_~#distance~0.offset| 0) (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= main_~i~0 0))} is VALID [2022-04-08 03:36:02,391 INFO L272 TraceCheckUtils]: 27: Hoare triple {15769#(and (= |main_~#distance~0.offset| 0) (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem21 >= 0 then 1 else 0)); {15759#true} is VALID [2022-04-08 03:36:02,391 INFO L290 TraceCheckUtils]: 28: Hoare triple {15759#true} ~cond := #in~cond; {15759#true} is VALID [2022-04-08 03:36:02,391 INFO L290 TraceCheckUtils]: 29: Hoare triple {15759#true} assume !(0 == ~cond); {15759#true} is VALID [2022-04-08 03:36:02,391 INFO L290 TraceCheckUtils]: 30: Hoare triple {15759#true} assume true; {15759#true} is VALID [2022-04-08 03:36:02,392 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {15759#true} {15769#(and (= |main_~#distance~0.offset| 0) (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= main_~i~0 0))} #121#return; {15769#(and (= |main_~#distance~0.offset| 0) (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= main_~i~0 0))} is VALID [2022-04-08 03:36:02,392 INFO L290 TraceCheckUtils]: 32: Hoare triple {15769#(and (= |main_~#distance~0.offset| 0) (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= main_~i~0 0))} havoc #t~mem21; {15769#(and (= |main_~#distance~0.offset| 0) (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= main_~i~0 0))} is VALID [2022-04-08 03:36:02,393 INFO L290 TraceCheckUtils]: 33: Hoare triple {15769#(and (= |main_~#distance~0.offset| 0) (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) 4)) (= main_~i~0 0))} #t~post20 := ~i~0;~i~0 := 1 + #t~post20;havoc #t~post20; {15774#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4)))) (= |main_~#distance~0.offset| 0))} is VALID [2022-04-08 03:36:02,393 INFO L290 TraceCheckUtils]: 34: Hoare triple {15774#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4)))) (= |main_~#distance~0.offset| 0))} assume !!(~i~0 < ~nodecount~0);call #t~mem21 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {15775#(<= 899 |main_#t~mem21|)} is VALID [2022-04-08 03:36:02,394 INFO L272 TraceCheckUtils]: 35: Hoare triple {15775#(<= 899 |main_#t~mem21|)} call __VERIFIER_assert((if #t~mem21 >= 0 then 1 else 0)); {15776#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 03:36:02,394 INFO L290 TraceCheckUtils]: 36: Hoare triple {15776#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {15777#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 03:36:02,394 INFO L290 TraceCheckUtils]: 37: Hoare triple {15777#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {15760#false} is VALID [2022-04-08 03:36:02,395 INFO L290 TraceCheckUtils]: 38: Hoare triple {15760#false} assume !false; {15760#false} is VALID [2022-04-08 03:36:02,395 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 2 proven. 7 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-08 03:36:02,395 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 03:36:02,395 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [225548721] [2022-04-08 03:36:02,395 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [225548721] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 03:36:02,395 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1885331925] [2022-04-08 03:36:02,395 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 03:36:02,395 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 03:36:02,396 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 03:36:02,399 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 03:36:02,401 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-08 03:36:02,481 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 03:36:02,482 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 03:36:02,482 INFO L263 TraceCheckSpWp]: Trace formula consists of 304 conjuncts, 16 conjunts are in the unsatisfiable core [2022-04-08 03:36:02,493 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:36:02,493 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 03:36:02,609 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 9 [2022-04-08 03:36:04,866 INFO L390 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 7 [2022-04-08 03:36:04,918 INFO L272 TraceCheckUtils]: 0: Hoare triple {15759#true} call ULTIMATE.init(); {15759#true} is VALID [2022-04-08 03:36:04,918 INFO L290 TraceCheckUtils]: 1: Hoare triple {15759#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3);~INFINITY~0 := 899; {15764#(<= 899 ~INFINITY~0)} is VALID [2022-04-08 03:36:04,919 INFO L290 TraceCheckUtils]: 2: Hoare triple {15764#(<= 899 ~INFINITY~0)} assume true; {15764#(<= 899 ~INFINITY~0)} is VALID [2022-04-08 03:36:04,919 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15764#(<= 899 ~INFINITY~0)} {15759#true} #123#return; {15764#(<= 899 ~INFINITY~0)} is VALID [2022-04-08 03:36:04,919 INFO L272 TraceCheckUtils]: 4: Hoare triple {15764#(<= 899 ~INFINITY~0)} call #t~ret22 := main(); {15764#(<= 899 ~INFINITY~0)} is VALID [2022-04-08 03:36:04,920 INFO L290 TraceCheckUtils]: 5: Hoare triple {15764#(<= 899 ~INFINITY~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~nodecount~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~edgecount~0 := #t~nondet5;havoc #t~nondet5; {15764#(<= 899 ~INFINITY~0)} is VALID [2022-04-08 03:36:04,920 INFO L290 TraceCheckUtils]: 6: Hoare triple {15764#(<= 899 ~INFINITY~0)} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {15764#(<= 899 ~INFINITY~0)} is VALID [2022-04-08 03:36:04,922 INFO L290 TraceCheckUtils]: 7: Hoare triple {15764#(<= 899 ~INFINITY~0)} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.allocOnStack(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.allocOnStack(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.allocOnStack(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.allocOnStack(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {15803#(and (<= 899 ~INFINITY~0) (= main_~i~0 0))} is VALID [2022-04-08 03:36:04,922 INFO L290 TraceCheckUtils]: 8: Hoare triple {15803#(and (<= 899 ~INFINITY~0) (= main_~i~0 0))} assume !!(~i~0 < ~nodecount~0); {15803#(and (<= 899 ~INFINITY~0) (= main_~i~0 0))} is VALID [2022-04-08 03:36:04,922 INFO L290 TraceCheckUtils]: 9: Hoare triple {15803#(and (<= 899 ~INFINITY~0) (= main_~i~0 0))} assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {15803#(and (<= 899 ~INFINITY~0) (= main_~i~0 0))} is VALID [2022-04-08 03:36:04,923 INFO L290 TraceCheckUtils]: 10: Hoare triple {15803#(and (<= 899 ~INFINITY~0) (= main_~i~0 0))} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {15813#(and (<= 899 ~INFINITY~0) (= main_~i~0 1))} is VALID [2022-04-08 03:36:04,923 INFO L290 TraceCheckUtils]: 11: Hoare triple {15813#(and (<= 899 ~INFINITY~0) (= main_~i~0 1))} assume !!(~i~0 < ~nodecount~0); {15813#(and (<= 899 ~INFINITY~0) (= main_~i~0 1))} is VALID [2022-04-08 03:36:04,924 INFO L290 TraceCheckUtils]: 12: Hoare triple {15813#(and (<= 899 ~INFINITY~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); {15820#(<= 899 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4)))} is VALID [2022-04-08 03:36:04,924 INFO L290 TraceCheckUtils]: 13: Hoare triple {15820#(<= 899 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4)))} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {15820#(<= 899 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4)))} is VALID [2022-04-08 03:36:04,924 INFO L290 TraceCheckUtils]: 14: Hoare triple {15820#(<= 899 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4)))} assume !(~i~0 < ~nodecount~0); {15820#(<= 899 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4)))} is VALID [2022-04-08 03:36:04,925 INFO L290 TraceCheckUtils]: 15: Hoare triple {15820#(<= 899 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4)))} ~i~0 := 0; {15820#(<= 899 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4)))} is VALID [2022-04-08 03:36:04,925 INFO L290 TraceCheckUtils]: 16: Hoare triple {15820#(<= 899 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4)))} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {15820#(<= 899 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4)))} is VALID [2022-04-08 03:36:04,925 INFO L290 TraceCheckUtils]: 17: Hoare triple {15820#(<= 899 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4)))} assume !(~j~0 < ~edgecount~0); {15820#(<= 899 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4)))} is VALID [2022-04-08 03:36:04,926 INFO L290 TraceCheckUtils]: 18: Hoare triple {15820#(<= 899 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4)))} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {15820#(<= 899 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4)))} is VALID [2022-04-08 03:36:04,926 INFO L290 TraceCheckUtils]: 19: Hoare triple {15820#(<= 899 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4)))} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {15820#(<= 899 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4)))} is VALID [2022-04-08 03:36:04,926 INFO L290 TraceCheckUtils]: 20: Hoare triple {15820#(<= 899 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4)))} assume !(~j~0 < ~edgecount~0); {15820#(<= 899 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4)))} is VALID [2022-04-08 03:36:04,927 INFO L290 TraceCheckUtils]: 21: Hoare triple {15820#(<= 899 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4)))} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {15820#(<= 899 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4)))} is VALID [2022-04-08 03:36:04,927 INFO L290 TraceCheckUtils]: 22: Hoare triple {15820#(<= 899 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4)))} assume !(~i~0 < ~nodecount~0); {15820#(<= 899 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4)))} is VALID [2022-04-08 03:36:04,927 INFO L290 TraceCheckUtils]: 23: Hoare triple {15820#(<= 899 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4)))} ~i~0 := 0; {15820#(<= 899 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4)))} is VALID [2022-04-08 03:36:04,928 INFO L290 TraceCheckUtils]: 24: Hoare triple {15820#(<= 899 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4)))} assume !(~i~0 < ~edgecount~0); {15820#(<= 899 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4)))} is VALID [2022-04-08 03:36:04,928 INFO L290 TraceCheckUtils]: 25: Hoare triple {15820#(<= 899 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4)))} ~i~0 := 0; {15860#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4))) (= main_~i~0 0))} is VALID [2022-04-08 03:36:04,929 INFO L290 TraceCheckUtils]: 26: Hoare triple {15860#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4))) (= main_~i~0 0))} assume !!(~i~0 < ~nodecount~0);call #t~mem21 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {15860#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4))) (= main_~i~0 0))} is VALID [2022-04-08 03:36:04,929 INFO L272 TraceCheckUtils]: 27: Hoare triple {15860#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4))) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem21 >= 0 then 1 else 0)); {15867#(exists ((|v_main_~#distance~0.offset_BEFORE_CALL_1| Int) (|v_main_~#distance~0.base_BEFORE_CALL_1| Int)) (<= 899 (select (select |#memory_int| |v_main_~#distance~0.base_BEFORE_CALL_1|) (+ |v_main_~#distance~0.offset_BEFORE_CALL_1| 4))))} is VALID [2022-04-08 03:36:04,930 INFO L290 TraceCheckUtils]: 28: Hoare triple {15867#(exists ((|v_main_~#distance~0.offset_BEFORE_CALL_1| Int) (|v_main_~#distance~0.base_BEFORE_CALL_1| Int)) (<= 899 (select (select |#memory_int| |v_main_~#distance~0.base_BEFORE_CALL_1|) (+ |v_main_~#distance~0.offset_BEFORE_CALL_1| 4))))} ~cond := #in~cond; {15867#(exists ((|v_main_~#distance~0.offset_BEFORE_CALL_1| Int) (|v_main_~#distance~0.base_BEFORE_CALL_1| Int)) (<= 899 (select (select |#memory_int| |v_main_~#distance~0.base_BEFORE_CALL_1|) (+ |v_main_~#distance~0.offset_BEFORE_CALL_1| 4))))} is VALID [2022-04-08 03:36:04,930 INFO L290 TraceCheckUtils]: 29: Hoare triple {15867#(exists ((|v_main_~#distance~0.offset_BEFORE_CALL_1| Int) (|v_main_~#distance~0.base_BEFORE_CALL_1| Int)) (<= 899 (select (select |#memory_int| |v_main_~#distance~0.base_BEFORE_CALL_1|) (+ |v_main_~#distance~0.offset_BEFORE_CALL_1| 4))))} assume !(0 == ~cond); {15867#(exists ((|v_main_~#distance~0.offset_BEFORE_CALL_1| Int) (|v_main_~#distance~0.base_BEFORE_CALL_1| Int)) (<= 899 (select (select |#memory_int| |v_main_~#distance~0.base_BEFORE_CALL_1|) (+ |v_main_~#distance~0.offset_BEFORE_CALL_1| 4))))} is VALID [2022-04-08 03:36:04,930 INFO L290 TraceCheckUtils]: 30: Hoare triple {15867#(exists ((|v_main_~#distance~0.offset_BEFORE_CALL_1| Int) (|v_main_~#distance~0.base_BEFORE_CALL_1| Int)) (<= 899 (select (select |#memory_int| |v_main_~#distance~0.base_BEFORE_CALL_1|) (+ |v_main_~#distance~0.offset_BEFORE_CALL_1| 4))))} assume true; {15867#(exists ((|v_main_~#distance~0.offset_BEFORE_CALL_1| Int) (|v_main_~#distance~0.base_BEFORE_CALL_1| Int)) (<= 899 (select (select |#memory_int| |v_main_~#distance~0.base_BEFORE_CALL_1|) (+ |v_main_~#distance~0.offset_BEFORE_CALL_1| 4))))} is VALID [2022-04-08 03:36:04,931 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {15867#(exists ((|v_main_~#distance~0.offset_BEFORE_CALL_1| Int) (|v_main_~#distance~0.base_BEFORE_CALL_1| Int)) (<= 899 (select (select |#memory_int| |v_main_~#distance~0.base_BEFORE_CALL_1|) (+ |v_main_~#distance~0.offset_BEFORE_CALL_1| 4))))} {15860#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4))) (= main_~i~0 0))} #121#return; {15860#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4))) (= main_~i~0 0))} is VALID [2022-04-08 03:36:04,931 INFO L290 TraceCheckUtils]: 32: Hoare triple {15860#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4))) (= main_~i~0 0))} havoc #t~mem21; {15860#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4))) (= main_~i~0 0))} is VALID [2022-04-08 03:36:04,932 INFO L290 TraceCheckUtils]: 33: Hoare triple {15860#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4))) (= main_~i~0 0))} #t~post20 := ~i~0;~i~0 := 1 + #t~post20;havoc #t~post20; {15886#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4))) (= main_~i~0 1))} is VALID [2022-04-08 03:36:04,932 INFO L290 TraceCheckUtils]: 34: Hoare triple {15886#(and (<= 899 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4))) (= main_~i~0 1))} assume !!(~i~0 < ~nodecount~0);call #t~mem21 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {15775#(<= 899 |main_#t~mem21|)} is VALID [2022-04-08 03:36:04,932 INFO L272 TraceCheckUtils]: 35: Hoare triple {15775#(<= 899 |main_#t~mem21|)} call __VERIFIER_assert((if #t~mem21 >= 0 then 1 else 0)); {15893#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 03:36:04,933 INFO L290 TraceCheckUtils]: 36: Hoare triple {15893#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15897#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 03:36:04,933 INFO L290 TraceCheckUtils]: 37: Hoare triple {15897#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15760#false} is VALID [2022-04-08 03:36:04,933 INFO L290 TraceCheckUtils]: 38: Hoare triple {15760#false} assume !false; {15760#false} is VALID [2022-04-08 03:36:04,933 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-08 03:36:04,933 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 03:36:07,185 INFO L390 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 16 treesize of output 14 [2022-04-08 03:36:07,200 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 28 [2022-04-08 03:36:07,437 INFO L290 TraceCheckUtils]: 38: Hoare triple {15760#false} assume !false; {15760#false} is VALID [2022-04-08 03:36:07,437 INFO L290 TraceCheckUtils]: 37: Hoare triple {15897#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15760#false} is VALID [2022-04-08 03:36:07,438 INFO L290 TraceCheckUtils]: 36: Hoare triple {15893#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15897#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 03:36:07,438 INFO L272 TraceCheckUtils]: 35: Hoare triple {15913#(<= 0 |main_#t~mem21|)} call __VERIFIER_assert((if #t~mem21 >= 0 then 1 else 0)); {15893#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 03:36:07,439 INFO L290 TraceCheckUtils]: 34: Hoare triple {15917#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4))))} assume !!(~i~0 < ~nodecount~0);call #t~mem21 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {15913#(<= 0 |main_#t~mem21|)} is VALID [2022-04-08 03:36:07,440 INFO L290 TraceCheckUtils]: 33: Hoare triple {15921#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4 (* main_~i~0 4))))} #t~post20 := ~i~0;~i~0 := 1 + #t~post20;havoc #t~post20; {15917#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4))))} is VALID [2022-04-08 03:36:07,440 INFO L290 TraceCheckUtils]: 32: Hoare triple {15921#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4 (* main_~i~0 4))))} havoc #t~mem21; {15921#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4 (* main_~i~0 4))))} is VALID [2022-04-08 03:36:07,441 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {15759#true} {15921#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4 (* main_~i~0 4))))} #121#return; {15921#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4 (* main_~i~0 4))))} is VALID [2022-04-08 03:36:07,441 INFO L290 TraceCheckUtils]: 30: Hoare triple {15759#true} assume true; {15759#true} is VALID [2022-04-08 03:36:07,441 INFO L290 TraceCheckUtils]: 29: Hoare triple {15759#true} assume !(0 == ~cond); {15759#true} is VALID [2022-04-08 03:36:07,441 INFO L290 TraceCheckUtils]: 28: Hoare triple {15759#true} ~cond := #in~cond; {15759#true} is VALID [2022-04-08 03:36:07,441 INFO L272 TraceCheckUtils]: 27: Hoare triple {15921#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4 (* main_~i~0 4))))} call __VERIFIER_assert((if #t~mem21 >= 0 then 1 else 0)); {15759#true} is VALID [2022-04-08 03:36:07,442 INFO L290 TraceCheckUtils]: 26: Hoare triple {15921#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4 (* main_~i~0 4))))} assume !!(~i~0 < ~nodecount~0);call #t~mem21 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {15921#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4 (* main_~i~0 4))))} is VALID [2022-04-08 03:36:07,442 INFO L290 TraceCheckUtils]: 25: Hoare triple {15946#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4)))} ~i~0 := 0; {15921#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4 (* main_~i~0 4))))} is VALID [2022-04-08 03:36:07,443 INFO L290 TraceCheckUtils]: 24: Hoare triple {15946#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4)))} assume !(~i~0 < ~edgecount~0); {15946#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4)))} is VALID [2022-04-08 03:36:07,443 INFO L290 TraceCheckUtils]: 23: Hoare triple {15946#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4)))} ~i~0 := 0; {15946#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4)))} is VALID [2022-04-08 03:36:07,443 INFO L290 TraceCheckUtils]: 22: Hoare triple {15946#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4)))} assume !(~i~0 < ~nodecount~0); {15946#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4)))} is VALID [2022-04-08 03:36:07,444 INFO L290 TraceCheckUtils]: 21: Hoare triple {15946#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4)))} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {15946#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4)))} is VALID [2022-04-08 03:36:07,444 INFO L290 TraceCheckUtils]: 20: Hoare triple {15946#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4)))} assume !(~j~0 < ~edgecount~0); {15946#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4)))} is VALID [2022-04-08 03:36:07,445 INFO L290 TraceCheckUtils]: 19: Hoare triple {15946#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4)))} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {15946#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4)))} is VALID [2022-04-08 03:36:07,445 INFO L290 TraceCheckUtils]: 18: Hoare triple {15946#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4)))} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {15946#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4)))} is VALID [2022-04-08 03:36:07,446 INFO L290 TraceCheckUtils]: 17: Hoare triple {15946#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4)))} assume !(~j~0 < ~edgecount~0); {15946#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4)))} is VALID [2022-04-08 03:36:07,446 INFO L290 TraceCheckUtils]: 16: Hoare triple {15946#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4)))} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {15946#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4)))} is VALID [2022-04-08 03:36:07,447 INFO L290 TraceCheckUtils]: 15: Hoare triple {15946#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4)))} ~i~0 := 0; {15946#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4)))} is VALID [2022-04-08 03:36:07,447 INFO L290 TraceCheckUtils]: 14: Hoare triple {15946#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4)))} assume !(~i~0 < ~nodecount~0); {15946#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4)))} is VALID [2022-04-08 03:36:07,448 INFO L290 TraceCheckUtils]: 13: Hoare triple {15946#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4)))} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {15946#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4)))} is VALID [2022-04-08 03:36:07,448 INFO L290 TraceCheckUtils]: 12: Hoare triple {15986#(and (forall ((|main_~#distance~0.offset| Int)) (= (+ |main_~#distance~0.offset| 4) (+ |main_~#distance~0.offset| (* main_~i~0 4)))) (<= 0 ~INFINITY~0))} assume !(~i~0 == ~source~0);call write~int(~INFINITY~0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {15946#(<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| 4)))} is VALID [2022-04-08 03:36:07,449 INFO L290 TraceCheckUtils]: 11: Hoare triple {15986#(and (forall ((|main_~#distance~0.offset| Int)) (= (+ |main_~#distance~0.offset| 4) (+ |main_~#distance~0.offset| (* main_~i~0 4)))) (<= 0 ~INFINITY~0))} assume !!(~i~0 < ~nodecount~0); {15986#(and (forall ((|main_~#distance~0.offset| Int)) (= (+ |main_~#distance~0.offset| 4) (+ |main_~#distance~0.offset| (* main_~i~0 4)))) (<= 0 ~INFINITY~0))} is VALID [2022-04-08 03:36:07,449 INFO L290 TraceCheckUtils]: 10: Hoare triple {15993#(and (forall ((|main_~#distance~0.offset| Int)) (= (+ |main_~#distance~0.offset| 4) (+ |main_~#distance~0.offset| 4 (* main_~i~0 4)))) (<= 0 ~INFINITY~0))} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {15986#(and (forall ((|main_~#distance~0.offset| Int)) (= (+ |main_~#distance~0.offset| 4) (+ |main_~#distance~0.offset| (* main_~i~0 4)))) (<= 0 ~INFINITY~0))} is VALID [2022-04-08 03:36:07,450 INFO L290 TraceCheckUtils]: 9: Hoare triple {15993#(and (forall ((|main_~#distance~0.offset| Int)) (= (+ |main_~#distance~0.offset| 4) (+ |main_~#distance~0.offset| 4 (* main_~i~0 4)))) (<= 0 ~INFINITY~0))} assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {15993#(and (forall ((|main_~#distance~0.offset| Int)) (= (+ |main_~#distance~0.offset| 4) (+ |main_~#distance~0.offset| 4 (* main_~i~0 4)))) (<= 0 ~INFINITY~0))} is VALID [2022-04-08 03:36:07,450 INFO L290 TraceCheckUtils]: 8: Hoare triple {15993#(and (forall ((|main_~#distance~0.offset| Int)) (= (+ |main_~#distance~0.offset| 4) (+ |main_~#distance~0.offset| 4 (* main_~i~0 4)))) (<= 0 ~INFINITY~0))} assume !!(~i~0 < ~nodecount~0); {15993#(and (forall ((|main_~#distance~0.offset| Int)) (= (+ |main_~#distance~0.offset| 4) (+ |main_~#distance~0.offset| 4 (* main_~i~0 4)))) (<= 0 ~INFINITY~0))} is VALID [2022-04-08 03:36:07,453 INFO L290 TraceCheckUtils]: 7: Hoare triple {16003#(<= 0 ~INFINITY~0)} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.allocOnStack(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.allocOnStack(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.allocOnStack(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.allocOnStack(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {15993#(and (forall ((|main_~#distance~0.offset| Int)) (= (+ |main_~#distance~0.offset| 4) (+ |main_~#distance~0.offset| 4 (* main_~i~0 4)))) (<= 0 ~INFINITY~0))} is VALID [2022-04-08 03:36:07,453 INFO L290 TraceCheckUtils]: 6: Hoare triple {16003#(<= 0 ~INFINITY~0)} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {16003#(<= 0 ~INFINITY~0)} is VALID [2022-04-08 03:36:07,453 INFO L290 TraceCheckUtils]: 5: Hoare triple {16003#(<= 0 ~INFINITY~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~nodecount~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~edgecount~0 := #t~nondet5;havoc #t~nondet5; {16003#(<= 0 ~INFINITY~0)} is VALID [2022-04-08 03:36:07,454 INFO L272 TraceCheckUtils]: 4: Hoare triple {16003#(<= 0 ~INFINITY~0)} call #t~ret22 := main(); {16003#(<= 0 ~INFINITY~0)} is VALID [2022-04-08 03:36:07,454 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16003#(<= 0 ~INFINITY~0)} {15759#true} #123#return; {16003#(<= 0 ~INFINITY~0)} is VALID [2022-04-08 03:36:07,455 INFO L290 TraceCheckUtils]: 2: Hoare triple {16003#(<= 0 ~INFINITY~0)} assume true; {16003#(<= 0 ~INFINITY~0)} is VALID [2022-04-08 03:36:07,455 INFO L290 TraceCheckUtils]: 1: Hoare triple {15759#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3);~INFINITY~0 := 899; {16003#(<= 0 ~INFINITY~0)} is VALID [2022-04-08 03:36:07,455 INFO L272 TraceCheckUtils]: 0: Hoare triple {15759#true} call ULTIMATE.init(); {15759#true} is VALID [2022-04-08 03:36:07,456 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 2 proven. 7 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-08 03:36:07,456 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1885331925] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 03:36:07,456 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 03:36:07,456 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 12, 11] total 28 [2022-04-08 03:36:07,458 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 03:36:07,458 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1931220862] [2022-04-08 03:36:07,458 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1931220862] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 03:36:07,458 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 03:36:07,458 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-08 03:36:07,458 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [462166379] [2022-04-08 03:36:07,458 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 03:36:07,459 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.5) internal successors, (30), 11 states have internal predecessors, (30), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 39 [2022-04-08 03:36:07,459 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 03:36:07,459 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 12 states have (on average 2.5) internal successors, (30), 11 states have internal predecessors, (30), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-08 03:36:07,491 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 03:36:07,491 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-08 03:36:07,491 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 03:36:07,491 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-08 03:36:07,492 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=100, Invalid=654, Unknown=2, NotChecked=0, Total=756 [2022-04-08 03:36:07,492 INFO L87 Difference]: Start difference. First operand 162 states and 203 transitions. Second operand has 13 states, 12 states have (on average 2.5) internal successors, (30), 11 states have internal predecessors, (30), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-08 03:36:09,867 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:36:09,868 INFO L93 Difference]: Finished difference Result 232 states and 291 transitions. [2022-04-08 03:36:09,868 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-08 03:36:09,868 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.5) internal successors, (30), 11 states have internal predecessors, (30), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 39 [2022-04-08 03:36:09,869 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 03:36:09,869 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.5) internal successors, (30), 11 states have internal predecessors, (30), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-08 03:36:09,872 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 125 transitions. [2022-04-08 03:36:09,872 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.5) internal successors, (30), 11 states have internal predecessors, (30), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-08 03:36:09,873 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 125 transitions. [2022-04-08 03:36:09,873 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 125 transitions. [2022-04-08 03:36:09,998 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 125 edges. 125 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 03:36:10,000 INFO L225 Difference]: With dead ends: 232 [2022-04-08 03:36:10,000 INFO L226 Difference]: Without dead ends: 230 [2022-04-08 03:36:10,001 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 104 GetRequests, 65 SyntacticMatches, 2 SemanticMatches, 37 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 338 ImplicationChecksByTransitivity, 4.5s TimeCoverageRelationStatistics Valid=231, Invalid=1249, Unknown=2, NotChecked=0, Total=1482 [2022-04-08 03:36:10,001 INFO L913 BasicCegarLoop]: 39 mSDtfsCounter, 243 mSDsluCounter, 27 mSDsCounter, 0 mSdLazyCounter, 485 mSolverCounterSat, 80 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 243 SdHoareTripleChecker+Valid, 66 SdHoareTripleChecker+Invalid, 565 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 80 IncrementalHoareTripleChecker+Valid, 485 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-08 03:36:10,002 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [243 Valid, 66 Invalid, 565 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [80 Valid, 485 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-08 03:36:10,002 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 230 states. [2022-04-08 03:36:10,765 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 230 to 170. [2022-04-08 03:36:10,765 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 03:36:10,765 INFO L82 GeneralOperation]: Start isEquivalent. First operand 230 states. Second operand has 170 states, 159 states have (on average 1.2641509433962264) internal successors, (201), 161 states have internal predecessors, (201), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 03:36:10,766 INFO L74 IsIncluded]: Start isIncluded. First operand 230 states. Second operand has 170 states, 159 states have (on average 1.2641509433962264) internal successors, (201), 161 states have internal predecessors, (201), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 03:36:10,766 INFO L87 Difference]: Start difference. First operand 230 states. Second operand has 170 states, 159 states have (on average 1.2641509433962264) internal successors, (201), 161 states have internal predecessors, (201), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 03:36:10,771 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:36:10,771 INFO L93 Difference]: Finished difference Result 230 states and 289 transitions. [2022-04-08 03:36:10,771 INFO L276 IsEmpty]: Start isEmpty. Operand 230 states and 289 transitions. [2022-04-08 03:36:10,771 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:36:10,771 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:36:10,772 INFO L74 IsIncluded]: Start isIncluded. First operand has 170 states, 159 states have (on average 1.2641509433962264) internal successors, (201), 161 states have internal predecessors, (201), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) Second operand 230 states. [2022-04-08 03:36:10,772 INFO L87 Difference]: Start difference. First operand has 170 states, 159 states have (on average 1.2641509433962264) internal successors, (201), 161 states have internal predecessors, (201), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) Second operand 230 states. [2022-04-08 03:36:10,777 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:36:10,777 INFO L93 Difference]: Finished difference Result 230 states and 289 transitions. [2022-04-08 03:36:10,777 INFO L276 IsEmpty]: Start isEmpty. Operand 230 states and 289 transitions. [2022-04-08 03:36:10,778 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:36:10,778 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:36:10,778 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 03:36:10,778 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 03:36:10,778 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 170 states, 159 states have (on average 1.2641509433962264) internal successors, (201), 161 states have internal predecessors, (201), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 03:36:10,781 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 170 states to 170 states and 211 transitions. [2022-04-08 03:36:10,781 INFO L78 Accepts]: Start accepts. Automaton has 170 states and 211 transitions. Word has length 39 [2022-04-08 03:36:10,782 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 03:36:10,782 INFO L478 AbstractCegarLoop]: Abstraction has 170 states and 211 transitions. [2022-04-08 03:36:10,782 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 12 states have (on average 2.5) internal successors, (30), 11 states have internal predecessors, (30), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-08 03:36:10,782 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 170 states and 211 transitions. [2022-04-08 03:36:11,317 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 211 edges. 211 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 03:36:11,318 INFO L276 IsEmpty]: Start isEmpty. Operand 170 states and 211 transitions. [2022-04-08 03:36:11,318 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-04-08 03:36:11,318 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 03:36:11,318 INFO L499 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] [2022-04-08 03:36:11,345 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Forceful destruction successful, exit code 0 [2022-04-08 03:36:11,519 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2022-04-08 03:36:11,519 INFO L403 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 03:36:11,519 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 03:36:11,519 INFO L85 PathProgramCache]: Analyzing trace with hash 994866975, now seen corresponding path program 7 times [2022-04-08 03:36:11,519 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 03:36:11,520 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1069229414] [2022-04-08 03:36:11,521 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 03:36:11,522 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 03:36:11,522 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 03:36:11,522 INFO L85 PathProgramCache]: Analyzing trace with hash 994866975, now seen corresponding path program 8 times [2022-04-08 03:36:11,522 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 03:36:11,522 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1440184673] [2022-04-08 03:36:11,522 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 03:36:11,522 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 03:36:11,546 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:36:11,616 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 03:36:11,618 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:36:11,620 INFO L290 TraceCheckUtils]: 0: Hoare triple {17326#(and (= |old(~INFINITY~0)| ~INFINITY~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3);~INFINITY~0 := 899; {17314#true} is VALID [2022-04-08 03:36:11,620 INFO L290 TraceCheckUtils]: 1: Hoare triple {17314#true} assume true; {17314#true} is VALID [2022-04-08 03:36:11,621 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {17314#true} {17314#true} #123#return; {17314#true} is VALID [2022-04-08 03:36:11,621 INFO L272 TraceCheckUtils]: 0: Hoare triple {17314#true} call ULTIMATE.init(); {17326#(and (= |old(~INFINITY~0)| ~INFINITY~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 03:36:11,621 INFO L290 TraceCheckUtils]: 1: Hoare triple {17326#(and (= |old(~INFINITY~0)| ~INFINITY~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3);~INFINITY~0 := 899; {17314#true} is VALID [2022-04-08 03:36:11,621 INFO L290 TraceCheckUtils]: 2: Hoare triple {17314#true} assume true; {17314#true} is VALID [2022-04-08 03:36:11,621 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17314#true} {17314#true} #123#return; {17314#true} is VALID [2022-04-08 03:36:11,622 INFO L272 TraceCheckUtils]: 4: Hoare triple {17314#true} call #t~ret22 := main(); {17314#true} is VALID [2022-04-08 03:36:11,622 INFO L290 TraceCheckUtils]: 5: Hoare triple {17314#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~nodecount~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~edgecount~0 := #t~nondet5;havoc #t~nondet5; {17314#true} is VALID [2022-04-08 03:36:11,622 INFO L290 TraceCheckUtils]: 6: Hoare triple {17314#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {17314#true} is VALID [2022-04-08 03:36:11,622 INFO L290 TraceCheckUtils]: 7: Hoare triple {17314#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.allocOnStack(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.allocOnStack(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.allocOnStack(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.allocOnStack(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {17314#true} is VALID [2022-04-08 03:36:11,622 INFO L290 TraceCheckUtils]: 8: Hoare triple {17314#true} assume !!(~i~0 < ~nodecount~0); {17314#true} is VALID [2022-04-08 03:36:11,622 INFO L290 TraceCheckUtils]: 9: Hoare triple {17314#true} assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {17314#true} is VALID [2022-04-08 03:36:11,622 INFO L290 TraceCheckUtils]: 10: Hoare triple {17314#true} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {17314#true} is VALID [2022-04-08 03:36:11,622 INFO L290 TraceCheckUtils]: 11: Hoare triple {17314#true} assume !(~i~0 < ~nodecount~0); {17314#true} is VALID [2022-04-08 03:36:11,622 INFO L290 TraceCheckUtils]: 12: Hoare triple {17314#true} ~i~0 := 0; {17314#true} is VALID [2022-04-08 03:36:11,623 INFO L290 TraceCheckUtils]: 13: Hoare triple {17314#true} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {17319#(= main_~j~0 0)} is VALID [2022-04-08 03:36:11,623 INFO L290 TraceCheckUtils]: 14: Hoare triple {17319#(= main_~j~0 0)} assume !!(~j~0 < ~edgecount~0);call #t~mem9 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4);~x~0 := #t~mem9;havoc #t~mem9;call #t~mem10 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4);~y~0 := #t~mem10;havoc #t~mem10;call #t~mem13 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem11 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem12 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); {17319#(= main_~j~0 0)} is VALID [2022-04-08 03:36:11,623 INFO L290 TraceCheckUtils]: 15: Hoare triple {17319#(= main_~j~0 0)} assume #t~mem13 > #t~mem11 + #t~mem12;havoc #t~mem13;havoc #t~mem11;havoc #t~mem12;call write~int(-1, ~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); {17319#(= main_~j~0 0)} is VALID [2022-04-08 03:36:11,624 INFO L290 TraceCheckUtils]: 16: Hoare triple {17319#(= main_~j~0 0)} #t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {17320#(<= 1 main_~j~0)} is VALID [2022-04-08 03:36:11,624 INFO L290 TraceCheckUtils]: 17: Hoare triple {17320#(<= 1 main_~j~0)} assume !!(~j~0 < ~edgecount~0);call #t~mem9 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4);~x~0 := #t~mem9;havoc #t~mem9;call #t~mem10 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4);~y~0 := #t~mem10;havoc #t~mem10;call #t~mem13 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem11 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem12 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); {17320#(<= 1 main_~j~0)} is VALID [2022-04-08 03:36:11,624 INFO L290 TraceCheckUtils]: 18: Hoare triple {17320#(<= 1 main_~j~0)} assume #t~mem13 > #t~mem11 + #t~mem12;havoc #t~mem13;havoc #t~mem11;havoc #t~mem12;call write~int(-1, ~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); {17320#(<= 1 main_~j~0)} is VALID [2022-04-08 03:36:11,625 INFO L290 TraceCheckUtils]: 19: Hoare triple {17320#(<= 1 main_~j~0)} #t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {17321#(<= 2 main_~j~0)} is VALID [2022-04-08 03:36:11,626 INFO L290 TraceCheckUtils]: 20: Hoare triple {17321#(<= 2 main_~j~0)} assume !!(~j~0 < ~edgecount~0);call #t~mem9 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4);~x~0 := #t~mem9;havoc #t~mem9;call #t~mem10 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4);~y~0 := #t~mem10;havoc #t~mem10;call #t~mem13 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem11 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem12 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); {17322#(<= 3 main_~edgecount~0)} is VALID [2022-04-08 03:36:11,626 INFO L290 TraceCheckUtils]: 21: Hoare triple {17322#(<= 3 main_~edgecount~0)} assume #t~mem13 > #t~mem11 + #t~mem12;havoc #t~mem13;havoc #t~mem11;havoc #t~mem12;call write~int(-1, ~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); {17322#(<= 3 main_~edgecount~0)} is VALID [2022-04-08 03:36:11,626 INFO L290 TraceCheckUtils]: 22: Hoare triple {17322#(<= 3 main_~edgecount~0)} #t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {17322#(<= 3 main_~edgecount~0)} is VALID [2022-04-08 03:36:11,626 INFO L290 TraceCheckUtils]: 23: Hoare triple {17322#(<= 3 main_~edgecount~0)} assume !(~j~0 < ~edgecount~0); {17322#(<= 3 main_~edgecount~0)} is VALID [2022-04-08 03:36:11,627 INFO L290 TraceCheckUtils]: 24: Hoare triple {17322#(<= 3 main_~edgecount~0)} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {17322#(<= 3 main_~edgecount~0)} is VALID [2022-04-08 03:36:11,627 INFO L290 TraceCheckUtils]: 25: Hoare triple {17322#(<= 3 main_~edgecount~0)} assume !(~i~0 < ~nodecount~0); {17322#(<= 3 main_~edgecount~0)} is VALID [2022-04-08 03:36:11,627 INFO L290 TraceCheckUtils]: 26: Hoare triple {17322#(<= 3 main_~edgecount~0)} ~i~0 := 0; {17323#(and (= main_~i~0 0) (<= 3 main_~edgecount~0))} is VALID [2022-04-08 03:36:11,628 INFO L290 TraceCheckUtils]: 27: Hoare triple {17323#(and (= main_~i~0 0) (<= 3 main_~edgecount~0))} assume !!(~i~0 < ~edgecount~0);call #t~mem15 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~i~0, 4);~x~0 := #t~mem15;havoc #t~mem15;call #t~mem16 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~i~0, 4);~y~0 := #t~mem16;havoc #t~mem16;call #t~mem19 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem17 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem18 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~i~0, 4); {17323#(and (= main_~i~0 0) (<= 3 main_~edgecount~0))} is VALID [2022-04-08 03:36:11,628 INFO L290 TraceCheckUtils]: 28: Hoare triple {17323#(and (= main_~i~0 0) (<= 3 main_~edgecount~0))} assume !(#t~mem19 > #t~mem17 + #t~mem18);havoc #t~mem19;havoc #t~mem17;havoc #t~mem18; {17323#(and (= main_~i~0 0) (<= 3 main_~edgecount~0))} is VALID [2022-04-08 03:36:11,629 INFO L290 TraceCheckUtils]: 29: Hoare triple {17323#(and (= main_~i~0 0) (<= 3 main_~edgecount~0))} #t~post14 := ~i~0;~i~0 := 1 + #t~post14;havoc #t~post14; {17324#(<= (+ main_~i~0 2) main_~edgecount~0)} is VALID [2022-04-08 03:36:11,629 INFO L290 TraceCheckUtils]: 30: Hoare triple {17324#(<= (+ main_~i~0 2) main_~edgecount~0)} assume !!(~i~0 < ~edgecount~0);call #t~mem15 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~i~0, 4);~x~0 := #t~mem15;havoc #t~mem15;call #t~mem16 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~i~0, 4);~y~0 := #t~mem16;havoc #t~mem16;call #t~mem19 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem17 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem18 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~i~0, 4); {17324#(<= (+ main_~i~0 2) main_~edgecount~0)} is VALID [2022-04-08 03:36:11,629 INFO L290 TraceCheckUtils]: 31: Hoare triple {17324#(<= (+ main_~i~0 2) main_~edgecount~0)} assume !(#t~mem19 > #t~mem17 + #t~mem18);havoc #t~mem19;havoc #t~mem17;havoc #t~mem18; {17324#(<= (+ main_~i~0 2) main_~edgecount~0)} is VALID [2022-04-08 03:36:11,630 INFO L290 TraceCheckUtils]: 32: Hoare triple {17324#(<= (+ main_~i~0 2) main_~edgecount~0)} #t~post14 := ~i~0;~i~0 := 1 + #t~post14;havoc #t~post14; {17325#(<= (+ main_~i~0 1) main_~edgecount~0)} is VALID [2022-04-08 03:36:11,630 INFO L290 TraceCheckUtils]: 33: Hoare triple {17325#(<= (+ main_~i~0 1) main_~edgecount~0)} assume !(~i~0 < ~edgecount~0); {17315#false} is VALID [2022-04-08 03:36:11,630 INFO L290 TraceCheckUtils]: 34: Hoare triple {17315#false} ~i~0 := 0; {17315#false} is VALID [2022-04-08 03:36:11,631 INFO L290 TraceCheckUtils]: 35: Hoare triple {17315#false} assume !!(~i~0 < ~nodecount~0);call #t~mem21 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {17315#false} is VALID [2022-04-08 03:36:11,631 INFO L272 TraceCheckUtils]: 36: Hoare triple {17315#false} call __VERIFIER_assert((if #t~mem21 >= 0 then 1 else 0)); {17315#false} is VALID [2022-04-08 03:36:11,631 INFO L290 TraceCheckUtils]: 37: Hoare triple {17315#false} ~cond := #in~cond; {17315#false} is VALID [2022-04-08 03:36:11,631 INFO L290 TraceCheckUtils]: 38: Hoare triple {17315#false} assume 0 == ~cond; {17315#false} is VALID [2022-04-08 03:36:11,631 INFO L290 TraceCheckUtils]: 39: Hoare triple {17315#false} assume !false; {17315#false} is VALID [2022-04-08 03:36:11,631 INFO L134 CoverageAnalysis]: Checked inductivity of 19 backedges. 2 proven. 16 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-08 03:36:11,631 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 03:36:11,631 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1440184673] [2022-04-08 03:36:11,631 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1440184673] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 03:36:11,631 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1660384629] [2022-04-08 03:36:11,632 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 03:36:11,632 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 03:36:11,632 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 03:36:11,633 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 03:36:11,642 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2022-04-08 03:36:11,752 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 03:36:11,752 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 03:36:11,753 INFO L263 TraceCheckSpWp]: Trace formula consists of 357 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-08 03:36:11,767 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:36:11,768 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 03:36:11,976 INFO L272 TraceCheckUtils]: 0: Hoare triple {17314#true} call ULTIMATE.init(); {17314#true} is VALID [2022-04-08 03:36:11,977 INFO L290 TraceCheckUtils]: 1: Hoare triple {17314#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3);~INFINITY~0 := 899; {17314#true} is VALID [2022-04-08 03:36:11,977 INFO L290 TraceCheckUtils]: 2: Hoare triple {17314#true} assume true; {17314#true} is VALID [2022-04-08 03:36:11,977 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17314#true} {17314#true} #123#return; {17314#true} is VALID [2022-04-08 03:36:11,977 INFO L272 TraceCheckUtils]: 4: Hoare triple {17314#true} call #t~ret22 := main(); {17314#true} is VALID [2022-04-08 03:36:11,977 INFO L290 TraceCheckUtils]: 5: Hoare triple {17314#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~nodecount~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~edgecount~0 := #t~nondet5;havoc #t~nondet5; {17314#true} is VALID [2022-04-08 03:36:11,977 INFO L290 TraceCheckUtils]: 6: Hoare triple {17314#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {17314#true} is VALID [2022-04-08 03:36:11,977 INFO L290 TraceCheckUtils]: 7: Hoare triple {17314#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.allocOnStack(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.allocOnStack(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.allocOnStack(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.allocOnStack(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {17314#true} is VALID [2022-04-08 03:36:11,978 INFO L290 TraceCheckUtils]: 8: Hoare triple {17314#true} assume !!(~i~0 < ~nodecount~0); {17314#true} is VALID [2022-04-08 03:36:11,978 INFO L290 TraceCheckUtils]: 9: Hoare triple {17314#true} assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {17314#true} is VALID [2022-04-08 03:36:11,978 INFO L290 TraceCheckUtils]: 10: Hoare triple {17314#true} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {17314#true} is VALID [2022-04-08 03:36:11,978 INFO L290 TraceCheckUtils]: 11: Hoare triple {17314#true} assume !(~i~0 < ~nodecount~0); {17314#true} is VALID [2022-04-08 03:36:11,978 INFO L290 TraceCheckUtils]: 12: Hoare triple {17314#true} ~i~0 := 0; {17314#true} is VALID [2022-04-08 03:36:11,978 INFO L290 TraceCheckUtils]: 13: Hoare triple {17314#true} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {17369#(<= 0 main_~j~0)} is VALID [2022-04-08 03:36:11,978 INFO L290 TraceCheckUtils]: 14: Hoare triple {17369#(<= 0 main_~j~0)} assume !!(~j~0 < ~edgecount~0);call #t~mem9 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4);~x~0 := #t~mem9;havoc #t~mem9;call #t~mem10 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4);~y~0 := #t~mem10;havoc #t~mem10;call #t~mem13 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem11 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem12 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); {17369#(<= 0 main_~j~0)} is VALID [2022-04-08 03:36:11,979 INFO L290 TraceCheckUtils]: 15: Hoare triple {17369#(<= 0 main_~j~0)} assume #t~mem13 > #t~mem11 + #t~mem12;havoc #t~mem13;havoc #t~mem11;havoc #t~mem12;call write~int(-1, ~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); {17369#(<= 0 main_~j~0)} is VALID [2022-04-08 03:36:11,979 INFO L290 TraceCheckUtils]: 16: Hoare triple {17369#(<= 0 main_~j~0)} #t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {17320#(<= 1 main_~j~0)} is VALID [2022-04-08 03:36:11,979 INFO L290 TraceCheckUtils]: 17: Hoare triple {17320#(<= 1 main_~j~0)} assume !!(~j~0 < ~edgecount~0);call #t~mem9 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4);~x~0 := #t~mem9;havoc #t~mem9;call #t~mem10 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4);~y~0 := #t~mem10;havoc #t~mem10;call #t~mem13 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem11 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem12 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); {17320#(<= 1 main_~j~0)} is VALID [2022-04-08 03:36:11,980 INFO L290 TraceCheckUtils]: 18: Hoare triple {17320#(<= 1 main_~j~0)} assume #t~mem13 > #t~mem11 + #t~mem12;havoc #t~mem13;havoc #t~mem11;havoc #t~mem12;call write~int(-1, ~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); {17320#(<= 1 main_~j~0)} is VALID [2022-04-08 03:36:11,980 INFO L290 TraceCheckUtils]: 19: Hoare triple {17320#(<= 1 main_~j~0)} #t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {17321#(<= 2 main_~j~0)} is VALID [2022-04-08 03:36:11,981 INFO L290 TraceCheckUtils]: 20: Hoare triple {17321#(<= 2 main_~j~0)} assume !!(~j~0 < ~edgecount~0);call #t~mem9 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4);~x~0 := #t~mem9;havoc #t~mem9;call #t~mem10 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4);~y~0 := #t~mem10;havoc #t~mem10;call #t~mem13 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem11 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem12 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); {17322#(<= 3 main_~edgecount~0)} is VALID [2022-04-08 03:36:11,981 INFO L290 TraceCheckUtils]: 21: Hoare triple {17322#(<= 3 main_~edgecount~0)} assume #t~mem13 > #t~mem11 + #t~mem12;havoc #t~mem13;havoc #t~mem11;havoc #t~mem12;call write~int(-1, ~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); {17322#(<= 3 main_~edgecount~0)} is VALID [2022-04-08 03:36:11,981 INFO L290 TraceCheckUtils]: 22: Hoare triple {17322#(<= 3 main_~edgecount~0)} #t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {17322#(<= 3 main_~edgecount~0)} is VALID [2022-04-08 03:36:11,982 INFO L290 TraceCheckUtils]: 23: Hoare triple {17322#(<= 3 main_~edgecount~0)} assume !(~j~0 < ~edgecount~0); {17322#(<= 3 main_~edgecount~0)} is VALID [2022-04-08 03:36:11,982 INFO L290 TraceCheckUtils]: 24: Hoare triple {17322#(<= 3 main_~edgecount~0)} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {17322#(<= 3 main_~edgecount~0)} is VALID [2022-04-08 03:36:11,982 INFO L290 TraceCheckUtils]: 25: Hoare triple {17322#(<= 3 main_~edgecount~0)} assume !(~i~0 < ~nodecount~0); {17322#(<= 3 main_~edgecount~0)} is VALID [2022-04-08 03:36:11,982 INFO L290 TraceCheckUtils]: 26: Hoare triple {17322#(<= 3 main_~edgecount~0)} ~i~0 := 0; {17409#(and (<= main_~i~0 0) (<= 3 main_~edgecount~0))} is VALID [2022-04-08 03:36:11,983 INFO L290 TraceCheckUtils]: 27: Hoare triple {17409#(and (<= main_~i~0 0) (<= 3 main_~edgecount~0))} assume !!(~i~0 < ~edgecount~0);call #t~mem15 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~i~0, 4);~x~0 := #t~mem15;havoc #t~mem15;call #t~mem16 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~i~0, 4);~y~0 := #t~mem16;havoc #t~mem16;call #t~mem19 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem17 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem18 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~i~0, 4); {17409#(and (<= main_~i~0 0) (<= 3 main_~edgecount~0))} is VALID [2022-04-08 03:36:11,983 INFO L290 TraceCheckUtils]: 28: Hoare triple {17409#(and (<= main_~i~0 0) (<= 3 main_~edgecount~0))} assume !(#t~mem19 > #t~mem17 + #t~mem18);havoc #t~mem19;havoc #t~mem17;havoc #t~mem18; {17409#(and (<= main_~i~0 0) (<= 3 main_~edgecount~0))} is VALID [2022-04-08 03:36:11,984 INFO L290 TraceCheckUtils]: 29: Hoare triple {17409#(and (<= main_~i~0 0) (<= 3 main_~edgecount~0))} #t~post14 := ~i~0;~i~0 := 1 + #t~post14;havoc #t~post14; {17419#(and (<= main_~i~0 1) (<= 3 main_~edgecount~0))} is VALID [2022-04-08 03:36:11,984 INFO L290 TraceCheckUtils]: 30: Hoare triple {17419#(and (<= main_~i~0 1) (<= 3 main_~edgecount~0))} assume !!(~i~0 < ~edgecount~0);call #t~mem15 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~i~0, 4);~x~0 := #t~mem15;havoc #t~mem15;call #t~mem16 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~i~0, 4);~y~0 := #t~mem16;havoc #t~mem16;call #t~mem19 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem17 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem18 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~i~0, 4); {17419#(and (<= main_~i~0 1) (<= 3 main_~edgecount~0))} is VALID [2022-04-08 03:36:11,985 INFO L290 TraceCheckUtils]: 31: Hoare triple {17419#(and (<= main_~i~0 1) (<= 3 main_~edgecount~0))} assume !(#t~mem19 > #t~mem17 + #t~mem18);havoc #t~mem19;havoc #t~mem17;havoc #t~mem18; {17419#(and (<= main_~i~0 1) (<= 3 main_~edgecount~0))} is VALID [2022-04-08 03:36:11,985 INFO L290 TraceCheckUtils]: 32: Hoare triple {17419#(and (<= main_~i~0 1) (<= 3 main_~edgecount~0))} #t~post14 := ~i~0;~i~0 := 1 + #t~post14;havoc #t~post14; {17429#(and (<= main_~i~0 2) (<= 3 main_~edgecount~0))} is VALID [2022-04-08 03:36:11,985 INFO L290 TraceCheckUtils]: 33: Hoare triple {17429#(and (<= main_~i~0 2) (<= 3 main_~edgecount~0))} assume !(~i~0 < ~edgecount~0); {17315#false} is VALID [2022-04-08 03:36:11,985 INFO L290 TraceCheckUtils]: 34: Hoare triple {17315#false} ~i~0 := 0; {17315#false} is VALID [2022-04-08 03:36:11,985 INFO L290 TraceCheckUtils]: 35: Hoare triple {17315#false} assume !!(~i~0 < ~nodecount~0);call #t~mem21 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {17315#false} is VALID [2022-04-08 03:36:11,986 INFO L272 TraceCheckUtils]: 36: Hoare triple {17315#false} call __VERIFIER_assert((if #t~mem21 >= 0 then 1 else 0)); {17315#false} is VALID [2022-04-08 03:36:11,986 INFO L290 TraceCheckUtils]: 37: Hoare triple {17315#false} ~cond := #in~cond; {17315#false} is VALID [2022-04-08 03:36:11,986 INFO L290 TraceCheckUtils]: 38: Hoare triple {17315#false} assume 0 == ~cond; {17315#false} is VALID [2022-04-08 03:36:11,986 INFO L290 TraceCheckUtils]: 39: Hoare triple {17315#false} assume !false; {17315#false} is VALID [2022-04-08 03:36:11,986 INFO L134 CoverageAnalysis]: Checked inductivity of 19 backedges. 6 proven. 12 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-08 03:36:11,986 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 03:36:12,171 INFO L290 TraceCheckUtils]: 39: Hoare triple {17315#false} assume !false; {17315#false} is VALID [2022-04-08 03:36:12,171 INFO L290 TraceCheckUtils]: 38: Hoare triple {17315#false} assume 0 == ~cond; {17315#false} is VALID [2022-04-08 03:36:12,171 INFO L290 TraceCheckUtils]: 37: Hoare triple {17315#false} ~cond := #in~cond; {17315#false} is VALID [2022-04-08 03:36:12,171 INFO L272 TraceCheckUtils]: 36: Hoare triple {17315#false} call __VERIFIER_assert((if #t~mem21 >= 0 then 1 else 0)); {17315#false} is VALID [2022-04-08 03:36:12,171 INFO L290 TraceCheckUtils]: 35: Hoare triple {17315#false} assume !!(~i~0 < ~nodecount~0);call #t~mem21 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {17315#false} is VALID [2022-04-08 03:36:12,171 INFO L290 TraceCheckUtils]: 34: Hoare triple {17315#false} ~i~0 := 0; {17315#false} is VALID [2022-04-08 03:36:12,171 INFO L290 TraceCheckUtils]: 33: Hoare triple {17325#(<= (+ main_~i~0 1) main_~edgecount~0)} assume !(~i~0 < ~edgecount~0); {17315#false} is VALID [2022-04-08 03:36:12,172 INFO L290 TraceCheckUtils]: 32: Hoare triple {17324#(<= (+ main_~i~0 2) main_~edgecount~0)} #t~post14 := ~i~0;~i~0 := 1 + #t~post14;havoc #t~post14; {17325#(<= (+ main_~i~0 1) main_~edgecount~0)} is VALID [2022-04-08 03:36:12,172 INFO L290 TraceCheckUtils]: 31: Hoare triple {17324#(<= (+ main_~i~0 2) main_~edgecount~0)} assume !(#t~mem19 > #t~mem17 + #t~mem18);havoc #t~mem19;havoc #t~mem17;havoc #t~mem18; {17324#(<= (+ main_~i~0 2) main_~edgecount~0)} is VALID [2022-04-08 03:36:12,172 INFO L290 TraceCheckUtils]: 30: Hoare triple {17324#(<= (+ main_~i~0 2) main_~edgecount~0)} assume !!(~i~0 < ~edgecount~0);call #t~mem15 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~i~0, 4);~x~0 := #t~mem15;havoc #t~mem15;call #t~mem16 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~i~0, 4);~y~0 := #t~mem16;havoc #t~mem16;call #t~mem19 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem17 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem18 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~i~0, 4); {17324#(<= (+ main_~i~0 2) main_~edgecount~0)} is VALID [2022-04-08 03:36:12,173 INFO L290 TraceCheckUtils]: 29: Hoare triple {17481#(<= (+ main_~i~0 3) main_~edgecount~0)} #t~post14 := ~i~0;~i~0 := 1 + #t~post14;havoc #t~post14; {17324#(<= (+ main_~i~0 2) main_~edgecount~0)} is VALID [2022-04-08 03:36:12,173 INFO L290 TraceCheckUtils]: 28: Hoare triple {17481#(<= (+ main_~i~0 3) main_~edgecount~0)} assume !(#t~mem19 > #t~mem17 + #t~mem18);havoc #t~mem19;havoc #t~mem17;havoc #t~mem18; {17481#(<= (+ main_~i~0 3) main_~edgecount~0)} is VALID [2022-04-08 03:36:12,173 INFO L290 TraceCheckUtils]: 27: Hoare triple {17481#(<= (+ main_~i~0 3) main_~edgecount~0)} assume !!(~i~0 < ~edgecount~0);call #t~mem15 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~i~0, 4);~x~0 := #t~mem15;havoc #t~mem15;call #t~mem16 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~i~0, 4);~y~0 := #t~mem16;havoc #t~mem16;call #t~mem19 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem17 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem18 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~i~0, 4); {17481#(<= (+ main_~i~0 3) main_~edgecount~0)} is VALID [2022-04-08 03:36:12,174 INFO L290 TraceCheckUtils]: 26: Hoare triple {17322#(<= 3 main_~edgecount~0)} ~i~0 := 0; {17481#(<= (+ main_~i~0 3) main_~edgecount~0)} is VALID [2022-04-08 03:36:12,174 INFO L290 TraceCheckUtils]: 25: Hoare triple {17322#(<= 3 main_~edgecount~0)} assume !(~i~0 < ~nodecount~0); {17322#(<= 3 main_~edgecount~0)} is VALID [2022-04-08 03:36:12,174 INFO L290 TraceCheckUtils]: 24: Hoare triple {17322#(<= 3 main_~edgecount~0)} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {17322#(<= 3 main_~edgecount~0)} is VALID [2022-04-08 03:36:12,175 INFO L290 TraceCheckUtils]: 23: Hoare triple {17322#(<= 3 main_~edgecount~0)} assume !(~j~0 < ~edgecount~0); {17322#(<= 3 main_~edgecount~0)} is VALID [2022-04-08 03:36:12,175 INFO L290 TraceCheckUtils]: 22: Hoare triple {17322#(<= 3 main_~edgecount~0)} #t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {17322#(<= 3 main_~edgecount~0)} is VALID [2022-04-08 03:36:12,175 INFO L290 TraceCheckUtils]: 21: Hoare triple {17322#(<= 3 main_~edgecount~0)} assume #t~mem13 > #t~mem11 + #t~mem12;havoc #t~mem13;havoc #t~mem11;havoc #t~mem12;call write~int(-1, ~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); {17322#(<= 3 main_~edgecount~0)} is VALID [2022-04-08 03:36:12,176 INFO L290 TraceCheckUtils]: 20: Hoare triple {17321#(<= 2 main_~j~0)} assume !!(~j~0 < ~edgecount~0);call #t~mem9 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4);~x~0 := #t~mem9;havoc #t~mem9;call #t~mem10 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4);~y~0 := #t~mem10;havoc #t~mem10;call #t~mem13 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem11 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem12 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); {17322#(<= 3 main_~edgecount~0)} is VALID [2022-04-08 03:36:12,176 INFO L290 TraceCheckUtils]: 19: Hoare triple {17320#(<= 1 main_~j~0)} #t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {17321#(<= 2 main_~j~0)} is VALID [2022-04-08 03:36:12,177 INFO L290 TraceCheckUtils]: 18: Hoare triple {17320#(<= 1 main_~j~0)} assume #t~mem13 > #t~mem11 + #t~mem12;havoc #t~mem13;havoc #t~mem11;havoc #t~mem12;call write~int(-1, ~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); {17320#(<= 1 main_~j~0)} is VALID [2022-04-08 03:36:12,177 INFO L290 TraceCheckUtils]: 17: Hoare triple {17320#(<= 1 main_~j~0)} assume !!(~j~0 < ~edgecount~0);call #t~mem9 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4);~x~0 := #t~mem9;havoc #t~mem9;call #t~mem10 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4);~y~0 := #t~mem10;havoc #t~mem10;call #t~mem13 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem11 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem12 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); {17320#(<= 1 main_~j~0)} is VALID [2022-04-08 03:36:12,177 INFO L290 TraceCheckUtils]: 16: Hoare triple {17369#(<= 0 main_~j~0)} #t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {17320#(<= 1 main_~j~0)} is VALID [2022-04-08 03:36:12,178 INFO L290 TraceCheckUtils]: 15: Hoare triple {17369#(<= 0 main_~j~0)} assume #t~mem13 > #t~mem11 + #t~mem12;havoc #t~mem13;havoc #t~mem11;havoc #t~mem12;call write~int(-1, ~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); {17369#(<= 0 main_~j~0)} is VALID [2022-04-08 03:36:12,178 INFO L290 TraceCheckUtils]: 14: Hoare triple {17369#(<= 0 main_~j~0)} assume !!(~j~0 < ~edgecount~0);call #t~mem9 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4);~x~0 := #t~mem9;havoc #t~mem9;call #t~mem10 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4);~y~0 := #t~mem10;havoc #t~mem10;call #t~mem13 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem11 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem12 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); {17369#(<= 0 main_~j~0)} is VALID [2022-04-08 03:36:12,178 INFO L290 TraceCheckUtils]: 13: Hoare triple {17314#true} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {17369#(<= 0 main_~j~0)} is VALID [2022-04-08 03:36:12,178 INFO L290 TraceCheckUtils]: 12: Hoare triple {17314#true} ~i~0 := 0; {17314#true} is VALID [2022-04-08 03:36:12,178 INFO L290 TraceCheckUtils]: 11: Hoare triple {17314#true} assume !(~i~0 < ~nodecount~0); {17314#true} is VALID [2022-04-08 03:36:12,179 INFO L290 TraceCheckUtils]: 10: Hoare triple {17314#true} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {17314#true} is VALID [2022-04-08 03:36:12,179 INFO L290 TraceCheckUtils]: 9: Hoare triple {17314#true} assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {17314#true} is VALID [2022-04-08 03:36:12,179 INFO L290 TraceCheckUtils]: 8: Hoare triple {17314#true} assume !!(~i~0 < ~nodecount~0); {17314#true} is VALID [2022-04-08 03:36:12,179 INFO L290 TraceCheckUtils]: 7: Hoare triple {17314#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.allocOnStack(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.allocOnStack(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.allocOnStack(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.allocOnStack(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {17314#true} is VALID [2022-04-08 03:36:12,179 INFO L290 TraceCheckUtils]: 6: Hoare triple {17314#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {17314#true} is VALID [2022-04-08 03:36:12,179 INFO L290 TraceCheckUtils]: 5: Hoare triple {17314#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~nodecount~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~edgecount~0 := #t~nondet5;havoc #t~nondet5; {17314#true} is VALID [2022-04-08 03:36:12,179 INFO L272 TraceCheckUtils]: 4: Hoare triple {17314#true} call #t~ret22 := main(); {17314#true} is VALID [2022-04-08 03:36:12,179 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17314#true} {17314#true} #123#return; {17314#true} is VALID [2022-04-08 03:36:12,179 INFO L290 TraceCheckUtils]: 2: Hoare triple {17314#true} assume true; {17314#true} is VALID [2022-04-08 03:36:12,179 INFO L290 TraceCheckUtils]: 1: Hoare triple {17314#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3);~INFINITY~0 := 899; {17314#true} is VALID [2022-04-08 03:36:12,179 INFO L272 TraceCheckUtils]: 0: Hoare triple {17314#true} call ULTIMATE.init(); {17314#true} is VALID [2022-04-08 03:36:12,179 INFO L134 CoverageAnalysis]: Checked inductivity of 19 backedges. 6 proven. 12 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-08 03:36:12,180 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1660384629] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 03:36:12,180 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 03:36:12,180 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9, 9] total 15 [2022-04-08 03:36:12,180 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 03:36:12,180 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1069229414] [2022-04-08 03:36:12,180 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1069229414] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 03:36:12,180 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 03:36:12,180 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 03:36:12,180 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1244798353] [2022-04-08 03:36:12,181 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 03:36:12,181 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.6) internal successors, (36), 9 states have internal predecessors, (36), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 40 [2022-04-08 03:36:12,181 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 03:36:12,181 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 3.6) internal successors, (36), 9 states have internal predecessors, (36), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:36:12,218 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 03:36:12,218 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 03:36:12,218 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 03:36:12,218 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 03:36:12,218 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=53, Invalid=157, Unknown=0, NotChecked=0, Total=210 [2022-04-08 03:36:12,219 INFO L87 Difference]: Start difference. First operand 170 states and 211 transitions. Second operand has 10 states, 10 states have (on average 3.6) internal successors, (36), 9 states have internal predecessors, (36), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:36:15,172 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:36:15,173 INFO L93 Difference]: Finished difference Result 366 states and 463 transitions. [2022-04-08 03:36:15,173 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-08 03:36:15,173 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.6) internal successors, (36), 9 states have internal predecessors, (36), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 40 [2022-04-08 03:36:15,173 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 03:36:15,173 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.6) internal successors, (36), 9 states have internal predecessors, (36), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:36:15,176 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 136 transitions. [2022-04-08 03:36:15,176 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.6) internal successors, (36), 9 states have internal predecessors, (36), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:36:15,178 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 136 transitions. [2022-04-08 03:36:15,178 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 136 transitions. [2022-04-08 03:36:15,319 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 136 edges. 136 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 03:36:15,327 INFO L225 Difference]: With dead ends: 366 [2022-04-08 03:36:15,328 INFO L226 Difference]: Without dead ends: 337 [2022-04-08 03:36:15,328 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 102 GetRequests, 75 SyntacticMatches, 2 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 145 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=170, Invalid=532, Unknown=0, NotChecked=0, Total=702 [2022-04-08 03:36:15,329 INFO L913 BasicCegarLoop]: 56 mSDtfsCounter, 141 mSDsluCounter, 32 mSDsCounter, 0 mSdLazyCounter, 445 mSolverCounterSat, 57 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 141 SdHoareTripleChecker+Valid, 88 SdHoareTripleChecker+Invalid, 502 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 57 IncrementalHoareTripleChecker+Valid, 445 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-08 03:36:15,329 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [141 Valid, 88 Invalid, 502 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [57 Valid, 445 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-08 03:36:15,329 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 337 states. [2022-04-08 03:36:16,609 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 337 to 227. [2022-04-08 03:36:16,609 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 03:36:16,610 INFO L82 GeneralOperation]: Start isEquivalent. First operand 337 states. Second operand has 227 states, 216 states have (on average 1.2962962962962963) internal successors, (280), 218 states have internal predecessors, (280), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 03:36:16,610 INFO L74 IsIncluded]: Start isIncluded. First operand 337 states. Second operand has 227 states, 216 states have (on average 1.2962962962962963) internal successors, (280), 218 states have internal predecessors, (280), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 03:36:16,610 INFO L87 Difference]: Start difference. First operand 337 states. Second operand has 227 states, 216 states have (on average 1.2962962962962963) internal successors, (280), 218 states have internal predecessors, (280), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 03:36:16,628 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:36:16,628 INFO L93 Difference]: Finished difference Result 337 states and 431 transitions. [2022-04-08 03:36:16,628 INFO L276 IsEmpty]: Start isEmpty. Operand 337 states and 431 transitions. [2022-04-08 03:36:16,629 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:36:16,629 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:36:16,629 INFO L74 IsIncluded]: Start isIncluded. First operand has 227 states, 216 states have (on average 1.2962962962962963) internal successors, (280), 218 states have internal predecessors, (280), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) Second operand 337 states. [2022-04-08 03:36:16,629 INFO L87 Difference]: Start difference. First operand has 227 states, 216 states have (on average 1.2962962962962963) internal successors, (280), 218 states have internal predecessors, (280), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) Second operand 337 states. [2022-04-08 03:36:16,636 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 03:36:16,636 INFO L93 Difference]: Finished difference Result 337 states and 431 transitions. [2022-04-08 03:36:16,636 INFO L276 IsEmpty]: Start isEmpty. Operand 337 states and 431 transitions. [2022-04-08 03:36:16,637 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 03:36:16,637 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 03:36:16,637 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 03:36:16,637 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 03:36:16,637 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 227 states, 216 states have (on average 1.2962962962962963) internal successors, (280), 218 states have internal predecessors, (280), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 03:36:16,641 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 227 states to 227 states and 290 transitions. [2022-04-08 03:36:16,641 INFO L78 Accepts]: Start accepts. Automaton has 227 states and 290 transitions. Word has length 40 [2022-04-08 03:36:16,642 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 03:36:16,642 INFO L478 AbstractCegarLoop]: Abstraction has 227 states and 290 transitions. [2022-04-08 03:36:16,642 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 3.6) internal successors, (36), 9 states have internal predecessors, (36), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 03:36:16,642 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 227 states and 290 transitions. [2022-04-08 03:36:17,279 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 290 edges. 290 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 03:36:17,279 INFO L276 IsEmpty]: Start isEmpty. Operand 227 states and 290 transitions. [2022-04-08 03:36:17,280 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-04-08 03:36:17,280 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 03:36:17,280 INFO L499 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, 1] [2022-04-08 03:36:17,297 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Ended with exit code 0 [2022-04-08 03:36:17,483 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable16 [2022-04-08 03:36:17,483 INFO L403 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 03:36:17,484 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 03:36:17,484 INFO L85 PathProgramCache]: Analyzing trace with hash -1497733084, now seen corresponding path program 3 times [2022-04-08 03:36:17,484 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 03:36:17,484 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [693808830] [2022-04-08 03:36:17,487 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 03:36:17,487 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 03:36:17,487 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 03:36:17,487 INFO L85 PathProgramCache]: Analyzing trace with hash -1497733084, now seen corresponding path program 4 times [2022-04-08 03:36:17,487 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 03:36:17,487 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [509272420] [2022-04-08 03:36:17,487 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 03:36:17,487 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 03:36:17,576 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:36:18,169 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 03:36:18,170 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:36:18,184 INFO L290 TraceCheckUtils]: 0: Hoare triple {19474#(and (= |old(~INFINITY~0)| ~INFINITY~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3);~INFINITY~0 := 899; {19455#true} is VALID [2022-04-08 03:36:18,184 INFO L290 TraceCheckUtils]: 1: Hoare triple {19455#true} assume true; {19455#true} is VALID [2022-04-08 03:36:18,184 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {19455#true} {19455#true} #123#return; {19455#true} is VALID [2022-04-08 03:36:18,185 INFO L272 TraceCheckUtils]: 0: Hoare triple {19455#true} call ULTIMATE.init(); {19474#(and (= |old(~INFINITY~0)| ~INFINITY~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 03:36:18,185 INFO L290 TraceCheckUtils]: 1: Hoare triple {19474#(and (= |old(~INFINITY~0)| ~INFINITY~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3);~INFINITY~0 := 899; {19455#true} is VALID [2022-04-08 03:36:18,185 INFO L290 TraceCheckUtils]: 2: Hoare triple {19455#true} assume true; {19455#true} is VALID [2022-04-08 03:36:18,185 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {19455#true} {19455#true} #123#return; {19455#true} is VALID [2022-04-08 03:36:18,185 INFO L272 TraceCheckUtils]: 4: Hoare triple {19455#true} call #t~ret22 := main(); {19455#true} is VALID [2022-04-08 03:36:18,185 INFO L290 TraceCheckUtils]: 5: Hoare triple {19455#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~nodecount~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~edgecount~0 := #t~nondet5;havoc #t~nondet5; {19455#true} is VALID [2022-04-08 03:36:18,185 INFO L290 TraceCheckUtils]: 6: Hoare triple {19455#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {19455#true} is VALID [2022-04-08 03:36:18,189 INFO L290 TraceCheckUtils]: 7: Hoare triple {19455#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.allocOnStack(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.allocOnStack(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.allocOnStack(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.allocOnStack(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {19460#(and (= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 1) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= |main_~#Dest~0.offset| 0) (= main_~i~0 0))} is VALID [2022-04-08 03:36:18,190 INFO L290 TraceCheckUtils]: 8: Hoare triple {19460#(and (= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 1) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= |main_~#Dest~0.offset| 0) (= main_~i~0 0))} assume !!(~i~0 < ~nodecount~0); {19460#(and (= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 1) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= |main_~#Dest~0.offset| 0) (= main_~i~0 0))} is VALID [2022-04-08 03:36:18,190 INFO L290 TraceCheckUtils]: 9: Hoare triple {19460#(and (= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 1) (= |main_~#distance~0.offset| 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= |main_~#Dest~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); {19461#(and (= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 1) (= |main_~#distance~0.offset| 0) (= |main_~#Dest~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4))) 0) (= main_~i~0 0))} is VALID [2022-04-08 03:36:18,191 INFO L290 TraceCheckUtils]: 10: Hoare triple {19461#(and (= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 1) (= |main_~#distance~0.offset| 0) (= |main_~#Dest~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4))) 0) (= main_~i~0 0))} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {19462#(and (= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 1) (not (= (+ |main_~#distance~0.offset| (* main_~i~0 4)) 0)) (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (= |main_~#Dest~0.offset| 0))} is VALID [2022-04-08 03:36:18,191 INFO L290 TraceCheckUtils]: 11: Hoare triple {19462#(and (= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 1) (not (= (+ |main_~#distance~0.offset| (* main_~i~0 4)) 0)) (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (= |main_~#Dest~0.offset| 0))} assume !!(~i~0 < ~nodecount~0); {19462#(and (= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 1) (not (= (+ |main_~#distance~0.offset| (* main_~i~0 4)) 0)) (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (= |main_~#Dest~0.offset| 0))} is VALID [2022-04-08 03:36:18,192 INFO L290 TraceCheckUtils]: 12: Hoare triple {19462#(and (= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 1) (not (= (+ |main_~#distance~0.offset| (* main_~i~0 4)) 0)) (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (= |main_~#Dest~0.offset| 0))} assume !(~i~0 == ~source~0);call write~int(~INFINITY~0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {19463#(and (= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 1) (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (= |main_~#Dest~0.offset| 0))} is VALID [2022-04-08 03:36:18,193 INFO L290 TraceCheckUtils]: 13: Hoare triple {19463#(and (= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 1) (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (= |main_~#Dest~0.offset| 0))} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {19463#(and (= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 1) (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (= |main_~#Dest~0.offset| 0))} is VALID [2022-04-08 03:36:18,193 INFO L290 TraceCheckUtils]: 14: Hoare triple {19463#(and (= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 1) (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (= |main_~#Dest~0.offset| 0))} assume !(~i~0 < ~nodecount~0); {19463#(and (= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 1) (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (= |main_~#Dest~0.offset| 0))} is VALID [2022-04-08 03:36:18,194 INFO L290 TraceCheckUtils]: 15: Hoare triple {19463#(and (= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 1) (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (= |main_~#Dest~0.offset| 0))} ~i~0 := 0; {19463#(and (= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 1) (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (= |main_~#Dest~0.offset| 0))} is VALID [2022-04-08 03:36:18,194 INFO L290 TraceCheckUtils]: 16: Hoare triple {19463#(and (= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 1) (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (= |main_~#Dest~0.offset| 0))} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {19464#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (= (select (select |#memory_int| |main_~#Dest~0.base|) (+ (* main_~j~0 4) |main_~#Dest~0.offset|)) 1) (= main_~j~0 0) (= |main_~#Dest~0.offset| 0))} is VALID [2022-04-08 03:36:18,195 INFO L290 TraceCheckUtils]: 17: Hoare triple {19464#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (= (select (select |#memory_int| |main_~#Dest~0.base|) (+ (* main_~j~0 4) |main_~#Dest~0.offset|)) 1) (= main_~j~0 0) (= |main_~#Dest~0.offset| 0))} assume !!(~j~0 < ~edgecount~0);call #t~mem9 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4);~x~0 := #t~mem9;havoc #t~mem9;call #t~mem10 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4);~y~0 := #t~mem10;havoc #t~mem10;call #t~mem13 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem11 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem12 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); {19465#(and (= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 1) (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (= main_~j~0 0) (= main_~x~0 1) (= |main_~#Dest~0.offset| 0))} is VALID [2022-04-08 03:36:18,196 INFO L290 TraceCheckUtils]: 18: Hoare triple {19465#(and (= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 1) (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (= main_~j~0 0) (= main_~x~0 1) (= |main_~#Dest~0.offset| 0))} assume #t~mem13 > #t~mem11 + #t~mem12;havoc #t~mem13;havoc #t~mem11;havoc #t~mem12;call write~int(-1, ~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); {19464#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (= (select (select |#memory_int| |main_~#Dest~0.base|) (+ (* main_~j~0 4) |main_~#Dest~0.offset|)) 1) (= main_~j~0 0) (= |main_~#Dest~0.offset| 0))} is VALID [2022-04-08 03:36:18,196 INFO L290 TraceCheckUtils]: 19: Hoare triple {19464#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (= (select (select |#memory_int| |main_~#Dest~0.base|) (+ (* main_~j~0 4) |main_~#Dest~0.offset|)) 1) (= main_~j~0 0) (= |main_~#Dest~0.offset| 0))} #t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {19463#(and (= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 1) (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (= |main_~#Dest~0.offset| 0))} is VALID [2022-04-08 03:36:18,197 INFO L290 TraceCheckUtils]: 20: Hoare triple {19463#(and (= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 1) (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (= |main_~#Dest~0.offset| 0))} assume !(~j~0 < ~edgecount~0); {19463#(and (= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 1) (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (= |main_~#Dest~0.offset| 0))} is VALID [2022-04-08 03:36:18,197 INFO L290 TraceCheckUtils]: 21: Hoare triple {19463#(and (= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 1) (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (= |main_~#Dest~0.offset| 0))} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {19463#(and (= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 1) (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (= |main_~#Dest~0.offset| 0))} is VALID [2022-04-08 03:36:18,198 INFO L290 TraceCheckUtils]: 22: Hoare triple {19463#(and (= (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 1) (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (= |main_~#Dest~0.offset| 0))} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {19464#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (= (select (select |#memory_int| |main_~#Dest~0.base|) (+ (* main_~j~0 4) |main_~#Dest~0.offset|)) 1) (= main_~j~0 0) (= |main_~#Dest~0.offset| 0))} is VALID [2022-04-08 03:36:18,198 INFO L290 TraceCheckUtils]: 23: Hoare triple {19464#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (= (select (select |#memory_int| |main_~#Dest~0.base|) (+ (* main_~j~0 4) |main_~#Dest~0.offset|)) 1) (= main_~j~0 0) (= |main_~#Dest~0.offset| 0))} assume !!(~j~0 < ~edgecount~0);call #t~mem9 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4);~x~0 := #t~mem9;havoc #t~mem9;call #t~mem10 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4);~y~0 := #t~mem10;havoc #t~mem10;call #t~mem13 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem11 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem12 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); {19466#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= main_~j~0 0) (= main_~x~0 1) (= |main_~#Dest~0.offset| 0))} is VALID [2022-04-08 03:36:18,199 INFO L290 TraceCheckUtils]: 24: Hoare triple {19466#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= main_~j~0 0) (= main_~x~0 1) (= |main_~#Dest~0.offset| 0))} assume #t~mem13 > #t~mem11 + #t~mem12;havoc #t~mem13;havoc #t~mem11;havoc #t~mem12;call write~int(-1, ~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); {19467#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= main_~j~0 0) (= |main_~#Dest~0.offset| 0))} is VALID [2022-04-08 03:36:18,199 INFO L290 TraceCheckUtils]: 25: Hoare triple {19467#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= main_~j~0 0) (= |main_~#Dest~0.offset| 0))} #t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {19468#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= |main_~#Dest~0.offset| 0))} is VALID [2022-04-08 03:36:18,200 INFO L290 TraceCheckUtils]: 26: Hoare triple {19468#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= |main_~#Dest~0.offset| 0))} assume !(~j~0 < ~edgecount~0); {19468#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= |main_~#Dest~0.offset| 0))} is VALID [2022-04-08 03:36:18,200 INFO L290 TraceCheckUtils]: 27: Hoare triple {19468#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= |main_~#Dest~0.offset| 0))} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {19468#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= |main_~#Dest~0.offset| 0))} is VALID [2022-04-08 03:36:18,201 INFO L290 TraceCheckUtils]: 28: Hoare triple {19468#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= |main_~#Dest~0.offset| 0))} assume !(~i~0 < ~nodecount~0); {19468#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= |main_~#Dest~0.offset| 0))} is VALID [2022-04-08 03:36:18,201 INFO L290 TraceCheckUtils]: 29: Hoare triple {19468#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= |main_~#Dest~0.offset| 0))} ~i~0 := 0; {19468#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= |main_~#Dest~0.offset| 0))} is VALID [2022-04-08 03:36:18,202 INFO L290 TraceCheckUtils]: 30: Hoare triple {19468#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= |main_~#Dest~0.offset| 0))} assume !!(~i~0 < ~edgecount~0);call #t~mem15 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~i~0, 4);~x~0 := #t~mem15;havoc #t~mem15;call #t~mem16 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~i~0, 4);~y~0 := #t~mem16;havoc #t~mem16;call #t~mem19 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem17 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem18 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~i~0, 4); {19469#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} is VALID [2022-04-08 03:36:18,202 INFO L290 TraceCheckUtils]: 31: Hoare triple {19469#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} assume !(#t~mem19 > #t~mem17 + #t~mem18);havoc #t~mem19;havoc #t~mem17;havoc #t~mem18; {19469#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} is VALID [2022-04-08 03:36:18,202 INFO L290 TraceCheckUtils]: 32: Hoare triple {19469#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} #t~post14 := ~i~0;~i~0 := 1 + #t~post14;havoc #t~post14; {19469#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} is VALID [2022-04-08 03:36:18,203 INFO L290 TraceCheckUtils]: 33: Hoare triple {19469#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} assume !(~i~0 < ~edgecount~0); {19469#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} is VALID [2022-04-08 03:36:18,211 INFO L290 TraceCheckUtils]: 34: Hoare triple {19469#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) 0) 0))} ~i~0 := 0; {19470#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4))) 0) (= main_~i~0 0))} is VALID [2022-04-08 03:36:18,212 INFO L290 TraceCheckUtils]: 35: Hoare triple {19470#(and (= |main_~#distance~0.offset| 0) (= (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4))) 0) (= main_~i~0 0))} assume !!(~i~0 < ~nodecount~0);call #t~mem21 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {19471#(= |main_#t~mem21| 0)} is VALID [2022-04-08 03:36:18,212 INFO L272 TraceCheckUtils]: 36: Hoare triple {19471#(= |main_#t~mem21| 0)} call __VERIFIER_assert((if #t~mem21 >= 0 then 1 else 0)); {19472#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 03:36:18,213 INFO L290 TraceCheckUtils]: 37: Hoare triple {19472#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {19473#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 03:36:18,213 INFO L290 TraceCheckUtils]: 38: Hoare triple {19473#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {19456#false} is VALID [2022-04-08 03:36:18,213 INFO L290 TraceCheckUtils]: 39: Hoare triple {19456#false} assume !false; {19456#false} is VALID [2022-04-08 03:36:18,213 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 1 proven. 15 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-08 03:36:18,214 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 03:36:18,214 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [509272420] [2022-04-08 03:36:18,214 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [509272420] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 03:36:18,214 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2111714161] [2022-04-08 03:36:18,214 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 03:36:18,214 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 03:36:18,214 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 03:36:18,215 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 03:36:18,216 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Waiting until timeout for monitored process [2022-04-08 03:36:18,337 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 03:36:18,337 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 03:36:18,339 INFO L263 TraceCheckSpWp]: Trace formula consists of 339 conjuncts, 65 conjunts are in the unsatisfiable core [2022-04-08 03:36:18,366 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 03:36:18,367 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 03:36:18,415 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 84 treesize of output 76 [2022-04-08 03:36:18,509 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 11 [2022-04-08 03:36:18,664 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-08 03:36:18,665 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 3 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 27 [2022-04-08 03:36:19,384 INFO L356 Elim1Store]: treesize reduction 22, result has 50.0 percent of original size [2022-04-08 03:36:19,385 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 1 case distinctions, treesize of input 32 treesize of output 47 [2022-04-08 03:36:20,742 INFO L356 Elim1Store]: treesize reduction 122, result has 40.5 percent of original size [2022-04-08 03:36:20,743 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 6 select indices, 6 select index equivalence classes, 2 disjoint index pairs (out of 15 index pairs), introduced 8 new quantified variables, introduced 12 case distinctions, treesize of input 97 treesize of output 142 [2022-04-08 03:36:31,909 INFO L356 Elim1Store]: treesize reduction 23, result has 56.6 percent of original size [2022-04-08 03:36:31,910 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 6 select indices, 6 select index equivalence classes, 3 disjoint index pairs (out of 15 index pairs), introduced 8 new quantified variables, introduced 6 case distinctions, treesize of input 75 treesize of output 64 [2022-04-08 03:36:32,292 INFO L272 TraceCheckUtils]: 0: Hoare triple {19455#true} call ULTIMATE.init(); {19455#true} is VALID [2022-04-08 03:36:32,293 INFO L290 TraceCheckUtils]: 1: Hoare triple {19455#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3);~INFINITY~0 := 899; {19455#true} is VALID [2022-04-08 03:36:32,293 INFO L290 TraceCheckUtils]: 2: Hoare triple {19455#true} assume true; {19455#true} is VALID [2022-04-08 03:36:32,293 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {19455#true} {19455#true} #123#return; {19455#true} is VALID [2022-04-08 03:36:32,293 INFO L272 TraceCheckUtils]: 4: Hoare triple {19455#true} call #t~ret22 := main(); {19455#true} is VALID [2022-04-08 03:36:32,293 INFO L290 TraceCheckUtils]: 5: Hoare triple {19455#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~nodecount~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~edgecount~0 := #t~nondet5;havoc #t~nondet5; {19455#true} is VALID [2022-04-08 03:36:32,293 INFO L290 TraceCheckUtils]: 6: Hoare triple {19455#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {19455#true} is VALID [2022-04-08 03:36:32,295 INFO L290 TraceCheckUtils]: 7: Hoare triple {19455#true} assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.allocOnStack(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.allocOnStack(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.allocOnStack(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.allocOnStack(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; {19499#(and (= |main_~#distance~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= |main_~#Weight~0.offset| 0) (= |main_~#Source~0.offset| 0))} is VALID [2022-04-08 03:36:32,296 INFO L290 TraceCheckUtils]: 8: Hoare triple {19499#(and (= |main_~#distance~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= |main_~#Weight~0.offset| 0) (= |main_~#Source~0.offset| 0))} assume !!(~i~0 < ~nodecount~0); {19499#(and (= |main_~#distance~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= |main_~#Weight~0.offset| 0) (= |main_~#Source~0.offset| 0))} is VALID [2022-04-08 03:36:32,297 INFO L290 TraceCheckUtils]: 9: Hoare triple {19499#(and (= |main_~#distance~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= |main_~#Weight~0.offset| 0) (= |main_~#Source~0.offset| 0))} assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {19506#(and (= |main_~#distance~0.offset| 0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4)))) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= |main_~#Weight~0.offset| 0) (= |main_~#Source~0.offset| 0))} is VALID [2022-04-08 03:36:32,297 INFO L290 TraceCheckUtils]: 10: Hoare triple {19506#(and (= |main_~#distance~0.offset| 0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* main_~i~0 4)))) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= |main_~#Weight~0.offset| 0) (= |main_~#Source~0.offset| 0))} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {19510#(and (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset| (* main_~i~0 4)))) (= |main_~#distance~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= |main_~#Weight~0.offset| 0) (= |main_~#Source~0.offset| 0))} is VALID [2022-04-08 03:36:32,298 INFO L290 TraceCheckUtils]: 11: Hoare triple {19510#(and (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset| (* main_~i~0 4)))) (= |main_~#distance~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= |main_~#Weight~0.offset| 0) (= |main_~#Source~0.offset| 0))} assume !!(~i~0 < ~nodecount~0); {19514#(and (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset| (* main_~i~0 4)))) (= |main_~#distance~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= |main_~#Weight~0.offset| 0) (< main_~i~0 main_~nodecount~0) (= |main_~#Source~0.offset| 0))} is VALID [2022-04-08 03:36:32,299 INFO L290 TraceCheckUtils]: 12: Hoare triple {19514#(and (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset| (* main_~i~0 4)))) (= |main_~#distance~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= |main_~#Weight~0.offset| 0) (< main_~i~0 main_~nodecount~0) (= |main_~#Source~0.offset| 0))} assume !(~i~0 == ~source~0);call write~int(~INFINITY~0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {19514#(and (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset| (* main_~i~0 4)))) (= |main_~#distance~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= |main_~#Weight~0.offset| 0) (< main_~i~0 main_~nodecount~0) (= |main_~#Source~0.offset| 0))} is VALID [2022-04-08 03:36:32,299 INFO L290 TraceCheckUtils]: 13: Hoare triple {19514#(and (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset| (* main_~i~0 4)))) (= |main_~#distance~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= |main_~#Weight~0.offset| 0) (< main_~i~0 main_~nodecount~0) (= |main_~#Source~0.offset| 0))} #t~post6 := ~i~0;~i~0 := 1 + #t~post6;havoc #t~post6; {19521#(and (= |main_~#distance~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (exists ((v_main_~i~0_178 Int)) (and (<= main_~i~0 (+ v_main_~i~0_178 1)) (< v_main_~i~0_178 main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset| (* 4 v_main_~i~0_178)))))) (= |main_~#Weight~0.offset| 0) (= |main_~#Source~0.offset| 0))} is VALID [2022-04-08 03:36:32,300 INFO L290 TraceCheckUtils]: 14: Hoare triple {19521#(and (= |main_~#distance~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (exists ((v_main_~i~0_178 Int)) (and (<= main_~i~0 (+ v_main_~i~0_178 1)) (< v_main_~i~0_178 main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset| (* 4 v_main_~i~0_178)))))) (= |main_~#Weight~0.offset| 0) (= |main_~#Source~0.offset| 0))} assume !(~i~0 < ~nodecount~0); {19525#(and (= |main_~#distance~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (exists ((v_main_~i~0_178 Int)) (and (<= main_~nodecount~0 (+ v_main_~i~0_178 1)) (< v_main_~i~0_178 main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset| (* 4 v_main_~i~0_178)))))) (= |main_~#Weight~0.offset| 0) (= |main_~#Source~0.offset| 0))} is VALID [2022-04-08 03:36:32,301 INFO L290 TraceCheckUtils]: 15: Hoare triple {19525#(and (= |main_~#distance~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (exists ((v_main_~i~0_178 Int)) (and (<= main_~nodecount~0 (+ v_main_~i~0_178 1)) (< v_main_~i~0_178 main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset| (* 4 v_main_~i~0_178)))))) (= |main_~#Weight~0.offset| 0) (= |main_~#Source~0.offset| 0))} ~i~0 := 0; {19529#(and (= |main_~#distance~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (exists ((v_main_~i~0_178 Int)) (and (<= main_~nodecount~0 (+ v_main_~i~0_178 1)) (< v_main_~i~0_178 main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset| (* 4 v_main_~i~0_178)))))) (= main_~i~0 0) (= |main_~#Weight~0.offset| 0) (= |main_~#Source~0.offset| 0))} is VALID [2022-04-08 03:36:32,302 INFO L290 TraceCheckUtils]: 16: Hoare triple {19529#(and (= |main_~#distance~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (exists ((v_main_~i~0_178 Int)) (and (<= main_~nodecount~0 (+ v_main_~i~0_178 1)) (< v_main_~i~0_178 main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset| (* 4 v_main_~i~0_178)))))) (= main_~i~0 0) (= |main_~#Weight~0.offset| 0) (= |main_~#Source~0.offset| 0))} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {19533#(and (= |main_~#distance~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (exists ((v_main_~i~0_178 Int)) (and (<= main_~nodecount~0 (+ v_main_~i~0_178 1)) (< v_main_~i~0_178 main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset| (* 4 v_main_~i~0_178)))))) (= main_~j~0 0) (= main_~i~0 0) (= |main_~#Weight~0.offset| 0) (= |main_~#Source~0.offset| 0))} is VALID [2022-04-08 03:36:32,303 INFO L290 TraceCheckUtils]: 17: Hoare triple {19533#(and (= |main_~#distance~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (exists ((v_main_~i~0_178 Int)) (and (<= main_~nodecount~0 (+ v_main_~i~0_178 1)) (< v_main_~i~0_178 main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset| (* 4 v_main_~i~0_178)))))) (= main_~j~0 0) (= main_~i~0 0) (= |main_~#Weight~0.offset| 0) (= |main_~#Source~0.offset| 0))} assume !!(~j~0 < ~edgecount~0);call #t~mem9 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4);~x~0 := #t~mem9;havoc #t~mem9;call #t~mem10 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4);~y~0 := #t~mem10;havoc #t~mem10;call #t~mem13 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem11 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem12 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); {19537#(and (= |main_~#distance~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (exists ((v_main_~i~0_178 Int)) (and (<= main_~nodecount~0 (+ v_main_~i~0_178 1)) (< v_main_~i~0_178 main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset| (* 4 v_main_~i~0_178)))))) (= main_~i~0 0) (= main_~x~0 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (= |main_~#Weight~0.offset| 0) (= |main_~#Source~0.offset| 0))} is VALID [2022-04-08 03:36:32,304 INFO L290 TraceCheckUtils]: 18: Hoare triple {19537#(and (= |main_~#distance~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (exists ((v_main_~i~0_178 Int)) (and (<= main_~nodecount~0 (+ v_main_~i~0_178 1)) (< v_main_~i~0_178 main_~nodecount~0) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset| (* 4 v_main_~i~0_178)))))) (= main_~i~0 0) (= main_~x~0 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (= |main_~#Weight~0.offset| 0) (= |main_~#Source~0.offset| 0))} assume #t~mem13 > #t~mem11 + #t~mem12;havoc #t~mem13;havoc #t~mem11;havoc #t~mem12;call write~int(-1, ~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); {19541#(and (exists ((v_main_~i~0_178 Int)) (and (<= main_~nodecount~0 (+ v_main_~i~0_178 1)) (or (= (+ |main_~#distance~0.offset| (* 4 v_main_~i~0_178)) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset| 4)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset| (* 4 v_main_~i~0_178))))) (< v_main_~i~0_178 main_~nodecount~0))) (= |main_~#distance~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= main_~i~0 0) (= (select (select |#memory_int| |main_~#distance~0.base|) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|)) (- 1)) (= |main_~#Weight~0.offset| 0) (= |main_~#Source~0.offset| 0))} is VALID [2022-04-08 03:36:32,306 INFO L290 TraceCheckUtils]: 19: Hoare triple {19541#(and (exists ((v_main_~i~0_178 Int)) (and (<= main_~nodecount~0 (+ v_main_~i~0_178 1)) (or (= (+ |main_~#distance~0.offset| (* 4 v_main_~i~0_178)) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset| 4)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset| (* 4 v_main_~i~0_178))))) (< v_main_~i~0_178 main_~nodecount~0))) (= |main_~#distance~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= main_~i~0 0) (= (select (select |#memory_int| |main_~#distance~0.base|) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|)) (- 1)) (= |main_~#Weight~0.offset| 0) (= |main_~#Source~0.offset| 0))} #t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {19541#(and (exists ((v_main_~i~0_178 Int)) (and (<= main_~nodecount~0 (+ v_main_~i~0_178 1)) (or (= (+ |main_~#distance~0.offset| (* 4 v_main_~i~0_178)) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset| 4)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset| (* 4 v_main_~i~0_178))))) (< v_main_~i~0_178 main_~nodecount~0))) (= |main_~#distance~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= main_~i~0 0) (= (select (select |#memory_int| |main_~#distance~0.base|) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|)) (- 1)) (= |main_~#Weight~0.offset| 0) (= |main_~#Source~0.offset| 0))} is VALID [2022-04-08 03:36:32,307 INFO L290 TraceCheckUtils]: 20: Hoare triple {19541#(and (exists ((v_main_~i~0_178 Int)) (and (<= main_~nodecount~0 (+ v_main_~i~0_178 1)) (or (= (+ |main_~#distance~0.offset| (* 4 v_main_~i~0_178)) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset| 4)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset| (* 4 v_main_~i~0_178))))) (< v_main_~i~0_178 main_~nodecount~0))) (= |main_~#distance~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= main_~i~0 0) (= (select (select |#memory_int| |main_~#distance~0.base|) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|)) (- 1)) (= |main_~#Weight~0.offset| 0) (= |main_~#Source~0.offset| 0))} assume !(~j~0 < ~edgecount~0); {19541#(and (exists ((v_main_~i~0_178 Int)) (and (<= main_~nodecount~0 (+ v_main_~i~0_178 1)) (or (= (+ |main_~#distance~0.offset| (* 4 v_main_~i~0_178)) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset| 4)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset| (* 4 v_main_~i~0_178))))) (< v_main_~i~0_178 main_~nodecount~0))) (= |main_~#distance~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= main_~i~0 0) (= (select (select |#memory_int| |main_~#distance~0.base|) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|)) (- 1)) (= |main_~#Weight~0.offset| 0) (= |main_~#Source~0.offset| 0))} is VALID [2022-04-08 03:36:32,309 INFO L290 TraceCheckUtils]: 21: Hoare triple {19541#(and (exists ((v_main_~i~0_178 Int)) (and (<= main_~nodecount~0 (+ v_main_~i~0_178 1)) (or (= (+ |main_~#distance~0.offset| (* 4 v_main_~i~0_178)) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset| 4)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset| (* 4 v_main_~i~0_178))))) (< v_main_~i~0_178 main_~nodecount~0))) (= |main_~#distance~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= main_~i~0 0) (= (select (select |#memory_int| |main_~#distance~0.base|) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|)) (- 1)) (= |main_~#Weight~0.offset| 0) (= |main_~#Source~0.offset| 0))} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {19551#(and (exists ((v_main_~i~0_178 Int)) (and (<= main_~nodecount~0 (+ v_main_~i~0_178 1)) (or (= (+ |main_~#distance~0.offset| (* 4 v_main_~i~0_178)) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset| 4)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset| (* 4 v_main_~i~0_178))))) (< v_main_~i~0_178 main_~nodecount~0))) (= |main_~#distance~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= main_~i~0 1) (= (select (select |#memory_int| |main_~#distance~0.base|) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|)) (- 1)) (= |main_~#Weight~0.offset| 0) (= |main_~#Source~0.offset| 0))} is VALID [2022-04-08 03:36:32,310 INFO L290 TraceCheckUtils]: 22: Hoare triple {19551#(and (exists ((v_main_~i~0_178 Int)) (and (<= main_~nodecount~0 (+ v_main_~i~0_178 1)) (or (= (+ |main_~#distance~0.offset| (* 4 v_main_~i~0_178)) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset| 4)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset| (* 4 v_main_~i~0_178))))) (< v_main_~i~0_178 main_~nodecount~0))) (= |main_~#distance~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= main_~i~0 1) (= (select (select |#memory_int| |main_~#distance~0.base|) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|)) (- 1)) (= |main_~#Weight~0.offset| 0) (= |main_~#Source~0.offset| 0))} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {19555#(and (exists ((v_main_~i~0_178 Int)) (and (<= main_~nodecount~0 (+ v_main_~i~0_178 1)) (or (= (+ |main_~#distance~0.offset| (* 4 v_main_~i~0_178)) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset| 4)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset| (* 4 v_main_~i~0_178))))) (< v_main_~i~0_178 main_~nodecount~0))) (= |main_~#distance~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= main_~j~0 0) (= main_~i~0 1) (= (select (select |#memory_int| |main_~#distance~0.base|) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|)) (- 1)) (= |main_~#Weight~0.offset| 0) (< main_~i~0 main_~nodecount~0) (= |main_~#Source~0.offset| 0))} is VALID [2022-04-08 03:36:32,312 INFO L290 TraceCheckUtils]: 23: Hoare triple {19555#(and (exists ((v_main_~i~0_178 Int)) (and (<= main_~nodecount~0 (+ v_main_~i~0_178 1)) (or (= (+ |main_~#distance~0.offset| (* 4 v_main_~i~0_178)) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset| 4)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset| (* 4 v_main_~i~0_178))))) (< v_main_~i~0_178 main_~nodecount~0))) (= |main_~#distance~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= main_~j~0 0) (= main_~i~0 1) (= (select (select |#memory_int| |main_~#distance~0.base|) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|)) (- 1)) (= |main_~#Weight~0.offset| 0) (< main_~i~0 main_~nodecount~0) (= |main_~#Source~0.offset| 0))} assume !!(~j~0 < ~edgecount~0);call #t~mem9 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4);~x~0 := #t~mem9;havoc #t~mem9;call #t~mem10 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4);~y~0 := #t~mem10;havoc #t~mem10;call #t~mem13 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem11 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem12 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); {19559#(and (<= (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|) |main_#t~mem12|) (exists ((v_main_~i~0_178 Int)) (and (<= main_~nodecount~0 (+ v_main_~i~0_178 1)) (or (= (+ |main_~#distance~0.offset| (* 4 v_main_~i~0_178)) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset| 4)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset| (* 4 v_main_~i~0_178))))) (< v_main_~i~0_178 main_~nodecount~0))) (= |main_~#distance~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (<= |main_#t~mem13| (select (select |#memory_int| |main_~#distance~0.base|) (+ (* main_~x~0 4) |main_~#distance~0.offset|))) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= main_~i~0 1) (= main_~x~0 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (= (select (select |#memory_int| |main_~#distance~0.base|) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|)) (- 1)) (= |main_~#Weight~0.offset| 0) (< main_~i~0 main_~nodecount~0) (= |main_~#Source~0.offset| 0) (<= (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|) 4))) |main_#t~mem11|))} is VALID [2022-04-08 03:36:32,316 INFO L290 TraceCheckUtils]: 24: Hoare triple {19559#(and (<= (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|) |main_#t~mem12|) (exists ((v_main_~i~0_178 Int)) (and (<= main_~nodecount~0 (+ v_main_~i~0_178 1)) (or (= (+ |main_~#distance~0.offset| (* 4 v_main_~i~0_178)) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset| 4)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset| (* 4 v_main_~i~0_178))))) (< v_main_~i~0_178 main_~nodecount~0))) (= |main_~#distance~0.offset| 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (<= |main_#t~mem13| (select (select |#memory_int| |main_~#distance~0.base|) (+ (* main_~x~0 4) |main_~#distance~0.offset|))) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= main_~i~0 1) (= main_~x~0 (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (= (select (select |#memory_int| |main_~#distance~0.base|) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|)) (- 1)) (= |main_~#Weight~0.offset| 0) (< main_~i~0 main_~nodecount~0) (= |main_~#Source~0.offset| 0) (<= (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|) 4))) |main_#t~mem11|))} assume #t~mem13 > #t~mem11 + #t~mem12;havoc #t~mem13;havoc #t~mem11;havoc #t~mem12;call write~int(-1, ~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); {19563#(and (= |main_~#distance~0.offset| 0) (<= 0 (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|)) 1)) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= main_~i~0 1) (exists ((v_main_~i~0_178 Int)) (and (<= main_~nodecount~0 (+ v_main_~i~0_178 1)) (or (= (* 4 v_main_~i~0_178) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) 4)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset| (* 4 v_main_~i~0_178))))) (< v_main_~i~0_178 main_~nodecount~0))) (or (and (or (and (= (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|) (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (< (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|) 0)) (and (not (= (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) (* (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|) 4))) (< (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|) 4))) (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|) 1) 0))) (not (= (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|) |main_~#Source~0.offset|))) (and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (or (and (= (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|) (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (< (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|) 0)) (and (not (= (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) (* (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|) 4))) (< (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|) 4))) (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|) 1) 0)))) (and (= (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|) |main_~#Source~0.offset|) (= |main_~#Source~0.base| |main_~#distance~0.base|) (< (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset|)) (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|) 1) 0))) (= |main_~#Weight~0.offset| 0) (< main_~i~0 main_~nodecount~0) (= |main_~#Source~0.offset| 0))} is VALID [2022-04-08 03:36:32,318 INFO L290 TraceCheckUtils]: 25: Hoare triple {19563#(and (= |main_~#distance~0.offset| 0) (<= 0 (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|)) 1)) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= main_~i~0 1) (exists ((v_main_~i~0_178 Int)) (and (<= main_~nodecount~0 (+ v_main_~i~0_178 1)) (or (= (* 4 v_main_~i~0_178) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) 4)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset| (* 4 v_main_~i~0_178))))) (< v_main_~i~0_178 main_~nodecount~0))) (or (and (or (and (= (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|) (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (< (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|) 0)) (and (not (= (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) (* (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|) 4))) (< (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|) 4))) (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|) 1) 0))) (not (= (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|) |main_~#Source~0.offset|))) (and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (or (and (= (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|) (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (< (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|) 0)) (and (not (= (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) (* (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|) 4))) (< (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|) 4))) (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|) 1) 0)))) (and (= (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|) |main_~#Source~0.offset|) (= |main_~#Source~0.base| |main_~#distance~0.base|) (< (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset|)) (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|) 1) 0))) (= |main_~#Weight~0.offset| 0) (< main_~i~0 main_~nodecount~0) (= |main_~#Source~0.offset| 0))} #t~post8 := ~j~0;~j~0 := 1 + #t~post8;havoc #t~post8; {19563#(and (= |main_~#distance~0.offset| 0) (<= 0 (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|)) 1)) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= main_~i~0 1) (exists ((v_main_~i~0_178 Int)) (and (<= main_~nodecount~0 (+ v_main_~i~0_178 1)) (or (= (* 4 v_main_~i~0_178) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) 4)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset| (* 4 v_main_~i~0_178))))) (< v_main_~i~0_178 main_~nodecount~0))) (or (and (or (and (= (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|) (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (< (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|) 0)) (and (not (= (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) (* (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|) 4))) (< (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|) 4))) (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|) 1) 0))) (not (= (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|) |main_~#Source~0.offset|))) (and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (or (and (= (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|) (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (< (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|) 0)) (and (not (= (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) (* (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|) 4))) (< (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|) 4))) (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|) 1) 0)))) (and (= (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|) |main_~#Source~0.offset|) (= |main_~#Source~0.base| |main_~#distance~0.base|) (< (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset|)) (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|) 1) 0))) (= |main_~#Weight~0.offset| 0) (< main_~i~0 main_~nodecount~0) (= |main_~#Source~0.offset| 0))} is VALID [2022-04-08 03:36:32,319 INFO L290 TraceCheckUtils]: 26: Hoare triple {19563#(and (= |main_~#distance~0.offset| 0) (<= 0 (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|)) 1)) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= main_~i~0 1) (exists ((v_main_~i~0_178 Int)) (and (<= main_~nodecount~0 (+ v_main_~i~0_178 1)) (or (= (* 4 v_main_~i~0_178) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) 4)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset| (* 4 v_main_~i~0_178))))) (< v_main_~i~0_178 main_~nodecount~0))) (or (and (or (and (= (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|) (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (< (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|) 0)) (and (not (= (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) (* (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|) 4))) (< (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|) 4))) (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|) 1) 0))) (not (= (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|) |main_~#Source~0.offset|))) (and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (or (and (= (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|) (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (< (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|) 0)) (and (not (= (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) (* (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|) 4))) (< (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|) 4))) (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|) 1) 0)))) (and (= (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|) |main_~#Source~0.offset|) (= |main_~#Source~0.base| |main_~#distance~0.base|) (< (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset|)) (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|) 1) 0))) (= |main_~#Weight~0.offset| 0) (< main_~i~0 main_~nodecount~0) (= |main_~#Source~0.offset| 0))} assume !(~j~0 < ~edgecount~0); {19563#(and (= |main_~#distance~0.offset| 0) (<= 0 (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|)) 1)) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= main_~i~0 1) (exists ((v_main_~i~0_178 Int)) (and (<= main_~nodecount~0 (+ v_main_~i~0_178 1)) (or (= (* 4 v_main_~i~0_178) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) 4)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset| (* 4 v_main_~i~0_178))))) (< v_main_~i~0_178 main_~nodecount~0))) (or (and (or (and (= (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|) (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (< (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|) 0)) (and (not (= (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) (* (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|) 4))) (< (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|) 4))) (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|) 1) 0))) (not (= (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|) |main_~#Source~0.offset|))) (and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (or (and (= (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|) (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (< (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|) 0)) (and (not (= (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) (* (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|) 4))) (< (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|) 4))) (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|) 1) 0)))) (and (= (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|) |main_~#Source~0.offset|) (= |main_~#Source~0.base| |main_~#distance~0.base|) (< (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset|)) (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|) 1) 0))) (= |main_~#Weight~0.offset| 0) (< main_~i~0 main_~nodecount~0) (= |main_~#Source~0.offset| 0))} is VALID [2022-04-08 03:36:32,321 INFO L290 TraceCheckUtils]: 27: Hoare triple {19563#(and (= |main_~#distance~0.offset| 0) (<= 0 (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|)) 1)) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= main_~i~0 1) (exists ((v_main_~i~0_178 Int)) (and (<= main_~nodecount~0 (+ v_main_~i~0_178 1)) (or (= (* 4 v_main_~i~0_178) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) 4)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset| (* 4 v_main_~i~0_178))))) (< v_main_~i~0_178 main_~nodecount~0))) (or (and (or (and (= (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|) (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (< (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|) 0)) (and (not (= (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) (* (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|) 4))) (< (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|) 4))) (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|) 1) 0))) (not (= (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|) |main_~#Source~0.offset|))) (and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (or (and (= (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|) (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (< (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|) 0)) (and (not (= (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) (* (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|) 4))) (< (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|) 4))) (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|) 1) 0)))) (and (= (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|) |main_~#Source~0.offset|) (= |main_~#Source~0.base| |main_~#distance~0.base|) (< (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset|)) (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|) 1) 0))) (= |main_~#Weight~0.offset| 0) (< main_~i~0 main_~nodecount~0) (= |main_~#Source~0.offset| 0))} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {19573#(and (< 1 main_~nodecount~0) (= |main_~#distance~0.offset| 0) (<= 0 (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|)) 1)) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (exists ((v_main_~i~0_178 Int)) (and (<= main_~nodecount~0 (+ v_main_~i~0_178 1)) (or (= (* 4 v_main_~i~0_178) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) 4)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset| (* 4 v_main_~i~0_178))))) (< v_main_~i~0_178 main_~nodecount~0))) (<= main_~i~0 2) (= |main_~#Weight~0.offset| 0) (or (and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (or (and (= (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|) (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (< (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|) 0)) (< (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|) 4))) (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|) 1) 0))) (and (or (and (= (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|) (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (< (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|) 0)) (< (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|) 4))) (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|) 1) 0)) (not (= (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|) |main_~#Source~0.offset|))) (and (= (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|) |main_~#Source~0.offset|) (= |main_~#Source~0.base| |main_~#distance~0.base|) (< (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset|)) (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|) 1) 0))) (= |main_~#Source~0.offset| 0))} is VALID [2022-04-08 03:36:32,323 INFO L290 TraceCheckUtils]: 28: Hoare triple {19573#(and (< 1 main_~nodecount~0) (= |main_~#distance~0.offset| 0) (<= 0 (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|)) 1)) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (exists ((v_main_~i~0_178 Int)) (and (<= main_~nodecount~0 (+ v_main_~i~0_178 1)) (or (= (* 4 v_main_~i~0_178) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) 4)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset| (* 4 v_main_~i~0_178))))) (< v_main_~i~0_178 main_~nodecount~0))) (<= main_~i~0 2) (= |main_~#Weight~0.offset| 0) (or (and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (or (and (= (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|) (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (< (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|) 0)) (< (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|) 4))) (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|) 1) 0))) (and (or (and (= (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|) (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (< (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|) 0)) (< (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|) 4))) (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|) 1) 0)) (not (= (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|) |main_~#Source~0.offset|))) (and (= (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|) |main_~#Source~0.offset|) (= |main_~#Source~0.base| |main_~#distance~0.base|) (< (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset|)) (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|) 1) 0))) (= |main_~#Source~0.offset| 0))} assume !(~i~0 < ~nodecount~0); {19577#(and (exists ((v_main_~i~0_178 Int)) (and (or (= (* 4 v_main_~i~0_178) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) 4)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset| (* 4 v_main_~i~0_178))))) (< 0 v_main_~i~0_178) (< v_main_~i~0_178 2))) (= |main_~#distance~0.offset| 0) (<= 0 (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|)) 1)) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= |main_~#Weight~0.offset| 0) (or (and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (or (and (= (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|) (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (< (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|) 0)) (< (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|) 4))) (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|) 1) 0))) (and (or (and (= (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|) (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (< (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|) 0)) (< (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|) 4))) (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|) 1) 0)) (not (= (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|) |main_~#Source~0.offset|))) (and (= (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|) |main_~#Source~0.offset|) (= |main_~#Source~0.base| |main_~#distance~0.base|) (< (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset|)) (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|) 1) 0))) (= |main_~#Source~0.offset| 0))} is VALID [2022-04-08 03:36:32,324 INFO L290 TraceCheckUtils]: 29: Hoare triple {19577#(and (exists ((v_main_~i~0_178 Int)) (and (or (= (* 4 v_main_~i~0_178) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) 4)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset| (* 4 v_main_~i~0_178))))) (< 0 v_main_~i~0_178) (< v_main_~i~0_178 2))) (= |main_~#distance~0.offset| 0) (<= 0 (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|)) 1)) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= |main_~#Weight~0.offset| 0) (or (and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (or (and (= (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|) (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (< (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|) 0)) (< (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|) 4))) (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|) 1) 0))) (and (or (and (= (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|) (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (< (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|) 0)) (< (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|) 4))) (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|) 1) 0)) (not (= (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|) |main_~#Source~0.offset|))) (and (= (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|) |main_~#Source~0.offset|) (= |main_~#Source~0.base| |main_~#distance~0.base|) (< (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset|)) (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|) 1) 0))) (= |main_~#Source~0.offset| 0))} ~i~0 := 0; {19581#(and (exists ((v_main_~i~0_178 Int)) (and (or (= (* 4 v_main_~i~0_178) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) 4)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset| (* 4 v_main_~i~0_178))))) (< 0 v_main_~i~0_178) (< v_main_~i~0_178 2))) (= |main_~#distance~0.offset| 0) (<= 0 (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|)) 1)) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= main_~i~0 0) (= |main_~#Weight~0.offset| 0) (or (and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (or (and (= (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|) (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (< (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|) 0)) (< (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|) 4))) (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|) 1) 0))) (and (or (and (= (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|) (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (< (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|) 0)) (< (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|) 4))) (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|) 1) 0)) (not (= (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|) |main_~#Source~0.offset|))) (and (= (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|) |main_~#Source~0.offset|) (= |main_~#Source~0.base| |main_~#distance~0.base|) (< (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset|)) (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|) 1) 0))) (= |main_~#Source~0.offset| 0))} is VALID [2022-04-08 03:36:32,333 INFO L290 TraceCheckUtils]: 30: Hoare triple {19581#(and (exists ((v_main_~i~0_178 Int)) (and (or (= (* 4 v_main_~i~0_178) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) 4)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset| (* 4 v_main_~i~0_178))))) (< 0 v_main_~i~0_178) (< v_main_~i~0_178 2))) (= |main_~#distance~0.offset| 0) (<= 0 (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|)) 1)) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (= main_~i~0 0) (= |main_~#Weight~0.offset| 0) (or (and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (or (and (= (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|) (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (< (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|) 0)) (< (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|) 4))) (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|) 1) 0))) (and (or (and (= (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|) (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (< (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|) 0)) (< (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* (select (select |#memory_int| |main_~#Source~0.base|) |main_~#Source~0.offset|) 4))) (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|) 1) 0)) (not (= (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|) |main_~#Source~0.offset|))) (and (= (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|) |main_~#Source~0.offset|) (= |main_~#Source~0.base| |main_~#distance~0.base|) (< (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset|)) (select (select |#memory_int| |main_~#Weight~0.base|) |main_~#Weight~0.offset|) 1) 0))) (= |main_~#Source~0.offset| 0))} assume !!(~i~0 < ~edgecount~0);call #t~mem15 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~i~0, 4);~x~0 := #t~mem15;havoc #t~mem15;call #t~mem16 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~i~0, 4);~y~0 := #t~mem16;havoc #t~mem16;call #t~mem19 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem17 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem18 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~i~0, 4); {19585#(and (= |main_~#distance~0.offset| 0) (exists ((v_main_~i~0_178 Int) (|main_~#Dest~0.base| Int) (|main_~#Weight~0.base| Int) (|main_~#Dest~0.offset| Int) (|main_~#Source~0.base| Int)) (and (<= |main_#t~mem18| (select (select |#memory_int| |main_~#Weight~0.base|) 0)) (or (= (* 4 v_main_~i~0_178) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) 4)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset| (* 4 v_main_~i~0_178))))) (<= |main_#t~mem17| (select (select |#memory_int| |main_~#distance~0.base|) (+ (* (select (select |#memory_int| |main_~#Source~0.base|) 0) 4) |main_~#distance~0.offset|))) (<= (select (select |#memory_int| |main_~#distance~0.base|) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|)) |main_#t~mem19|) (<= 0 (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|)) 1)) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (< 0 v_main_~i~0_178) (or (and (= |main_~#Source~0.base| |main_~#distance~0.base|) (< (+ (select (select |#memory_int| |main_~#Weight~0.base|) 0) (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset|)) 1) 0) (= (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|) 0)) (and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (or (and (= (select (select |#memory_int| |main_~#Source~0.base|) 0) (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (< (select (select |#memory_int| |main_~#Weight~0.base|) 0) 0)) (< (+ (select (select |#memory_int| |main_~#Weight~0.base|) 0) (select (select |#memory_int| |main_~#distance~0.base|) (+ (* (select (select |#memory_int| |main_~#Source~0.base|) 0) 4) |main_~#distance~0.offset|)) 1) 0))) (and (or (and (= (select (select |#memory_int| |main_~#Source~0.base|) 0) (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (< (select (select |#memory_int| |main_~#Weight~0.base|) 0) 0)) (< (+ (select (select |#memory_int| |main_~#Weight~0.base|) 0) (select (select |#memory_int| |main_~#distance~0.base|) (+ (* (select (select |#memory_int| |main_~#Source~0.base|) 0) 4) |main_~#distance~0.offset|)) 1) 0)) (not (= (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|) 0)))) (< v_main_~i~0_178 2))))} is VALID [2022-04-08 03:36:32,336 INFO L290 TraceCheckUtils]: 31: Hoare triple {19585#(and (= |main_~#distance~0.offset| 0) (exists ((v_main_~i~0_178 Int) (|main_~#Dest~0.base| Int) (|main_~#Weight~0.base| Int) (|main_~#Dest~0.offset| Int) (|main_~#Source~0.base| Int)) (and (<= |main_#t~mem18| (select (select |#memory_int| |main_~#Weight~0.base|) 0)) (or (= (* 4 v_main_~i~0_178) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) 4)) (<= 0 (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset| (* 4 v_main_~i~0_178))))) (<= |main_#t~mem17| (select (select |#memory_int| |main_~#distance~0.base|) (+ (* (select (select |#memory_int| |main_~#Source~0.base|) 0) 4) |main_~#distance~0.offset|))) (<= (select (select |#memory_int| |main_~#distance~0.base|) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|)) |main_#t~mem19|) (<= 0 (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|)) 1)) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)) (< 0 v_main_~i~0_178) (or (and (= |main_~#Source~0.base| |main_~#distance~0.base|) (< (+ (select (select |#memory_int| |main_~#Weight~0.base|) 0) (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset|)) 1) 0) (= (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|) 0)) (and (not (= |main_~#Source~0.base| |main_~#distance~0.base|)) (or (and (= (select (select |#memory_int| |main_~#Source~0.base|) 0) (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (< (select (select |#memory_int| |main_~#Weight~0.base|) 0) 0)) (< (+ (select (select |#memory_int| |main_~#Weight~0.base|) 0) (select (select |#memory_int| |main_~#distance~0.base|) (+ (* (select (select |#memory_int| |main_~#Source~0.base|) 0) 4) |main_~#distance~0.offset|)) 1) 0))) (and (or (and (= (select (select |#memory_int| |main_~#Source~0.base|) 0) (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|)) (< (select (select |#memory_int| |main_~#Weight~0.base|) 0) 0)) (< (+ (select (select |#memory_int| |main_~#Weight~0.base|) 0) (select (select |#memory_int| |main_~#distance~0.base|) (+ (* (select (select |#memory_int| |main_~#Source~0.base|) 0) 4) |main_~#distance~0.offset|)) 1) 0)) (not (= (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|) 0)))) (< v_main_~i~0_178 2))))} assume !(#t~mem19 > #t~mem17 + #t~mem18);havoc #t~mem19;havoc #t~mem17;havoc #t~mem18; {19589#(and (exists ((|main_~#Weight~0.base| Int)) (and (exists ((|main_~#Dest~0.base| Int) (|main_~#Dest~0.offset| Int)) (and (= (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|) 0) (<= 0 (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|)) 1)) (<= (select (select |#memory_int| |main_~#distance~0.base|) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|)) (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 (select (select |#memory_int| |main_~#distance~0.base|) 0)))) (select (select |#memory_int| |main_~#Weight~0.base|) 0))) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)))) (< (+ (select (select |#memory_int| |main_~#Weight~0.base|) 0) (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset|)) 1) 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)))) (= |main_~#distance~0.offset| 0))} is VALID [2022-04-08 03:36:32,337 INFO L290 TraceCheckUtils]: 32: Hoare triple {19589#(and (exists ((|main_~#Weight~0.base| Int)) (and (exists ((|main_~#Dest~0.base| Int) (|main_~#Dest~0.offset| Int)) (and (= (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|) 0) (<= 0 (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|)) 1)) (<= (select (select |#memory_int| |main_~#distance~0.base|) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|)) (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 (select (select |#memory_int| |main_~#distance~0.base|) 0)))) (select (select |#memory_int| |main_~#Weight~0.base|) 0))) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)))) (< (+ (select (select |#memory_int| |main_~#Weight~0.base|) 0) (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset|)) 1) 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)))) (= |main_~#distance~0.offset| 0))} #t~post14 := ~i~0;~i~0 := 1 + #t~post14;havoc #t~post14; {19589#(and (exists ((|main_~#Weight~0.base| Int)) (and (exists ((|main_~#Dest~0.base| Int) (|main_~#Dest~0.offset| Int)) (and (= (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|) 0) (<= 0 (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|)) 1)) (<= (select (select |#memory_int| |main_~#distance~0.base|) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|)) (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 (select (select |#memory_int| |main_~#distance~0.base|) 0)))) (select (select |#memory_int| |main_~#Weight~0.base|) 0))) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)))) (< (+ (select (select |#memory_int| |main_~#Weight~0.base|) 0) (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset|)) 1) 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)))) (= |main_~#distance~0.offset| 0))} is VALID [2022-04-08 03:36:32,338 INFO L290 TraceCheckUtils]: 33: Hoare triple {19589#(and (exists ((|main_~#Weight~0.base| Int)) (and (exists ((|main_~#Dest~0.base| Int) (|main_~#Dest~0.offset| Int)) (and (= (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|) 0) (<= 0 (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|)) 1)) (<= (select (select |#memory_int| |main_~#distance~0.base|) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|)) (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 (select (select |#memory_int| |main_~#distance~0.base|) 0)))) (select (select |#memory_int| |main_~#Weight~0.base|) 0))) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)))) (< (+ (select (select |#memory_int| |main_~#Weight~0.base|) 0) (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset|)) 1) 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)))) (= |main_~#distance~0.offset| 0))} assume !(~i~0 < ~edgecount~0); {19589#(and (exists ((|main_~#Weight~0.base| Int)) (and (exists ((|main_~#Dest~0.base| Int) (|main_~#Dest~0.offset| Int)) (and (= (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|) 0) (<= 0 (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|)) 1)) (<= (select (select |#memory_int| |main_~#distance~0.base|) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|)) (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 (select (select |#memory_int| |main_~#distance~0.base|) 0)))) (select (select |#memory_int| |main_~#Weight~0.base|) 0))) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)))) (< (+ (select (select |#memory_int| |main_~#Weight~0.base|) 0) (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset|)) 1) 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)))) (= |main_~#distance~0.offset| 0))} is VALID [2022-04-08 03:36:32,339 INFO L290 TraceCheckUtils]: 34: Hoare triple {19589#(and (exists ((|main_~#Weight~0.base| Int)) (and (exists ((|main_~#Dest~0.base| Int) (|main_~#Dest~0.offset| Int)) (and (= (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|) 0) (<= 0 (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|)) 1)) (<= (select (select |#memory_int| |main_~#distance~0.base|) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|)) (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 (select (select |#memory_int| |main_~#distance~0.base|) 0)))) (select (select |#memory_int| |main_~#Weight~0.base|) 0))) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)))) (< (+ (select (select |#memory_int| |main_~#Weight~0.base|) 0) (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset|)) 1) 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)))) (= |main_~#distance~0.offset| 0))} ~i~0 := 0; {19599#(and (exists ((|main_~#Weight~0.base| Int)) (and (exists ((|main_~#Dest~0.base| Int) (|main_~#Dest~0.offset| Int)) (and (= (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|) 0) (<= 0 (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|)) 1)) (<= (select (select |#memory_int| |main_~#distance~0.base|) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|)) (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 (select (select |#memory_int| |main_~#distance~0.base|) 0)))) (select (select |#memory_int| |main_~#Weight~0.base|) 0))) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)))) (< (+ (select (select |#memory_int| |main_~#Weight~0.base|) 0) (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset|)) 1) 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)))) (= |main_~#distance~0.offset| 0) (= main_~i~0 0))} is VALID [2022-04-08 03:36:32,340 INFO L290 TraceCheckUtils]: 35: Hoare triple {19599#(and (exists ((|main_~#Weight~0.base| Int)) (and (exists ((|main_~#Dest~0.base| Int) (|main_~#Dest~0.offset| Int)) (and (= (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|) 0) (<= 0 (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|)) 1)) (<= (select (select |#memory_int| |main_~#distance~0.base|) (+ (* (select (select |#memory_int| |main_~#Dest~0.base|) |main_~#Dest~0.offset|) 4) |main_~#distance~0.offset|)) (+ (select (select |#memory_int| |main_~#distance~0.base|) (+ |main_~#distance~0.offset| (* 4 (select (select |#memory_int| |main_~#distance~0.base|) 0)))) (select (select |#memory_int| |main_~#Weight~0.base|) 0))) (not (= |main_~#Dest~0.base| |main_~#distance~0.base|)))) (< (+ (select (select |#memory_int| |main_~#Weight~0.base|) 0) (select (select |#memory_int| |main_~#distance~0.base|) (+ (- 4) |main_~#distance~0.offset|)) 1) 0) (not (= |main_~#Weight~0.base| |main_~#distance~0.base|)))) (= |main_~#distance~0.offset| 0) (= main_~i~0 0))} assume !!(~i~0 < ~nodecount~0);call #t~mem21 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); {19603#(< 0 (+ |main_#t~mem21| 1))} is VALID [2022-04-08 03:36:32,340 INFO L272 TraceCheckUtils]: 36: Hoare triple {19603#(< 0 (+ |main_#t~mem21| 1))} call __VERIFIER_assert((if #t~mem21 >= 0 then 1 else 0)); {19607#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 03:36:32,343 INFO L290 TraceCheckUtils]: 37: Hoare triple {19607#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {19611#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 03:36:32,344 INFO L290 TraceCheckUtils]: 38: Hoare triple {19611#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {19456#false} is VALID [2022-04-08 03:36:32,344 INFO L290 TraceCheckUtils]: 39: Hoare triple {19456#false} assume !false; {19456#false} is VALID [2022-04-08 03:36:32,344 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 3 proven. 15 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 03:36:32,344 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 03:37:34,231 INFO L356 Elim1Store]: treesize reduction 20, result has 59.2 percent of original size [2022-04-08 03:37:34,270 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 0 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 6 case distinctions, treesize of input 656201695925 treesize of output 618134774101