/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/acceleratedInterpolationQvasr_64.epf -i ../../../trunk/examples/svcomp/loops/eureka_01-1.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-e106359-m [2022-04-15 12:01:36,208 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-15 12:01:36,210 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-15 12:01:36,273 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-15 12:01:36,273 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-15 12:01:36,274 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-15 12:01:36,279 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-15 12:01:36,281 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-15 12:01:36,282 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-15 12:01:36,299 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-15 12:01:36,301 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-15 12:01:36,303 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-15 12:01:36,303 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-15 12:01:36,309 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-15 12:01:36,310 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-15 12:01:36,313 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-15 12:01:36,315 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-15 12:01:36,317 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-15 12:01:36,319 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-15 12:01:36,326 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-15 12:01:36,327 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-15 12:01:36,328 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-15 12:01:36,329 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-15 12:01:36,330 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-15 12:01:36,330 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-15 12:01:36,332 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-15 12:01:36,333 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-15 12:01:36,333 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-15 12:01:36,333 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-15 12:01:36,334 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-15 12:01:36,334 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-15 12:01:36,335 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-15 12:01:36,335 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-15 12:01:36,336 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-15 12:01:36,336 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-15 12:01:36,337 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-15 12:01:36,337 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-15 12:01:36,337 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-15 12:01:36,338 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-15 12:01:36,338 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-15 12:01:36,338 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-15 12:01:36,366 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-15 12:01:36,366 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-15 12:01:36,377 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-15 12:01:36,377 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-15 12:01:36,378 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-15 12:01:36,378 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-15 12:01:36,378 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-15 12:01:36,379 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-15 12:01:36,379 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-15 12:01:36,379 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-15 12:01:36,379 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-15 12:01:36,380 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-15 12:01:36,380 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-15 12:01:36,380 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-15 12:01:36,380 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-15 12:01:36,380 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-15 12:01:36,380 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-15 12:01:36,380 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 12:01:36,380 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-15 12:01:36,381 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-15 12:01:36,381 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-15 12:01:36,381 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-15 12:01:36,381 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-15 12:01:36,381 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-15 12:01:36,381 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-15 12:01:36,718 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-15 12:01:36,745 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-15 12:01:36,748 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-15 12:01:36,749 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-15 12:01:36,765 INFO L275 PluginConnector]: CDTParser initialized [2022-04-15 12:01:36,766 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-15 12:01:36,868 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/08f748c43/ac4771d1bf934c09a9f7dcacf1558e4e/FLAG33b86772a [2022-04-15 12:01:37,313 INFO L306 CDTParser]: Found 1 translation units. [2022-04-15 12:01:37,313 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/loops/eureka_01-1.c [2022-04-15 12:01:37,327 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/08f748c43/ac4771d1bf934c09a9f7dcacf1558e4e/FLAG33b86772a [2022-04-15 12:01:37,724 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/08f748c43/ac4771d1bf934c09a9f7dcacf1558e4e [2022-04-15 12:01:37,726 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-15 12:01:37,727 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-15 12:01:37,729 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-15 12:01:37,729 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-15 12:01:37,736 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-15 12:01:37,738 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 12:01:37" (1/1) ... [2022-04-15 12:01:37,738 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@389ab0d7 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 12:01:37, skipping insertion in model container [2022-04-15 12:01:37,739 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 12:01:37" (1/1) ... [2022-04-15 12:01:37,744 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-15 12:01:37,776 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-15 12:01:38,061 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-15 12:01:38,156 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 12:01:38,179 INFO L203 MainTranslator]: Completed pre-run [2022-04-15 12:01:38,199 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-15 12:01:38,253 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 12:01:38,281 INFO L208 MainTranslator]: Completed translation [2022-04-15 12:01:38,295 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 12:01:38 WrapperNode [2022-04-15 12:01:38,295 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-15 12:01:38,297 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-15 12:01:38,297 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-15 12:01:38,298 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-15 12:01:38,308 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 12:01:38" (1/1) ... [2022-04-15 12:01:38,308 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 12:01:38" (1/1) ... [2022-04-15 12:01:38,338 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 12:01:38" (1/1) ... [2022-04-15 12:01:38,339 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 12:01:38" (1/1) ... [2022-04-15 12:01:38,389 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 12:01:38" (1/1) ... [2022-04-15 12:01:38,394 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 12:01:38" (1/1) ... [2022-04-15 12:01:38,395 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 12:01:38" (1/1) ... [2022-04-15 12:01:38,398 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-15 12:01:38,398 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-15 12:01:38,399 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-15 12:01:38,399 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-15 12:01:38,402 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 12:01:38" (1/1) ... [2022-04-15 12:01:38,409 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 12:01:38,418 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 12:01:38,449 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-15 12:01:38,482 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-15 12:01:38,567 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-15 12:01:38,567 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-15 12:01:38,567 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-15 12:01:38,567 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-15 12:01:38,567 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-15 12:01:38,568 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-15 12:01:38,568 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-15 12:01:38,568 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-15 12:01:38,568 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-15 12:01:38,568 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-15 12:01:38,569 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-15 12:01:38,576 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-15 12:01:38,576 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-15 12:01:38,576 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-15 12:01:38,577 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-04-15 12:01:38,579 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-15 12:01:38,579 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-15 12:01:38,579 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-15 12:01:38,579 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-15 12:01:38,580 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-15 12:01:38,580 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-15 12:01:38,704 INFO L234 CfgBuilder]: Building ICFG [2022-04-15 12:01:38,705 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-15 12:01:39,267 INFO L275 CfgBuilder]: Performing block encoding [2022-04-15 12:01:39,276 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-15 12:01:39,276 INFO L299 CfgBuilder]: Removed 5 assume(true) statements. [2022-04-15 12:01:39,278 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 12:01:39 BoogieIcfgContainer [2022-04-15 12:01:39,278 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-15 12:01:39,280 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-15 12:01:39,281 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-15 12:01:39,284 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-15 12:01:39,284 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 15.04 12:01:37" (1/3) ... [2022-04-15 12:01:39,285 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7ac9190f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 12:01:39, skipping insertion in model container [2022-04-15 12:01:39,285 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 12:01:38" (2/3) ... [2022-04-15 12:01:39,285 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7ac9190f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 12:01:39, skipping insertion in model container [2022-04-15 12:01:39,285 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 12:01:39" (3/3) ... [2022-04-15 12:01:39,286 INFO L111 eAbstractionObserver]: Analyzing ICFG eureka_01-1.c [2022-04-15 12:01:39,297 INFO L202 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-15 12:01:39,297 INFO L161 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-15 12:01:39,395 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-15 12:01:39,418 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-15 12:01:39,418 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-15 12:01:39,460 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-15 12:01:39,468 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2022-04-15 12:01:39,468 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 12:01:39,469 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-15 12:01:39,470 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 12:01:39,489 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 12:01:39,489 INFO L85 PathProgramCache]: Analyzing trace with hash -1703238628, now seen corresponding path program 1 times [2022-04-15 12:01:39,497 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 12:01:39,498 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [556876385] [2022-04-15 12:01:39,519 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 12:01:39,520 INFO L85 PathProgramCache]: Analyzing trace with hash -1703238628, now seen corresponding path program 2 times [2022-04-15 12:01:39,523 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 12:01:39,523 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1613232693] [2022-04-15 12:01:39,523 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 12:01:39,524 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 12:01:39,763 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:39,904 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 12:01:39,912 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:39,931 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-15 12:01:39,932 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-15 12:01:39,932 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {40#true} {40#true} #123#return; {40#true} is VALID [2022-04-15 12:01:39,934 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-15 12:01:39,934 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-15 12:01:39,934 INFO L290 TraceCheckUtils]: 2: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-15 12:01:39,935 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40#true} {40#true} #123#return; {40#true} is VALID [2022-04-15 12:01:39,935 INFO L272 TraceCheckUtils]: 4: Hoare triple {40#true} call #t~ret22 := main(); {40#true} is VALID [2022-04-15 12:01:39,936 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-15 12:01:39,936 INFO L290 TraceCheckUtils]: 6: Hoare triple {40#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {40#true} is VALID [2022-04-15 12:01:39,941 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-15 12:01:39,943 INFO L290 TraceCheckUtils]: 8: Hoare triple {40#true} assume !true; {41#false} is VALID [2022-04-15 12:01:39,943 INFO L290 TraceCheckUtils]: 9: Hoare triple {41#false} ~i~0 := 0; {41#false} is VALID [2022-04-15 12:01:39,944 INFO L290 TraceCheckUtils]: 10: Hoare triple {41#false} assume !true; {41#false} is VALID [2022-04-15 12:01:39,944 INFO L290 TraceCheckUtils]: 11: Hoare triple {41#false} ~i~0 := 0; {41#false} is VALID [2022-04-15 12:01:39,944 INFO L290 TraceCheckUtils]: 12: Hoare triple {41#false} assume !true; {41#false} is VALID [2022-04-15 12:01:39,945 INFO L290 TraceCheckUtils]: 13: Hoare triple {41#false} ~i~0 := 0; {41#false} is VALID [2022-04-15 12:01:39,945 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-15 12:01:39,945 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-15 12:01:39,946 INFO L290 TraceCheckUtils]: 16: Hoare triple {41#false} ~cond := #in~cond; {41#false} is VALID [2022-04-15 12:01:39,947 INFO L290 TraceCheckUtils]: 17: Hoare triple {41#false} assume 0 == ~cond; {41#false} is VALID [2022-04-15 12:01:39,947 INFO L290 TraceCheckUtils]: 18: Hoare triple {41#false} assume !false; {41#false} is VALID [2022-04-15 12:01:39,948 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-15 12:01:39,948 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 12:01:39,948 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1613232693] [2022-04-15 12:01:39,949 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1613232693] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 12:01:39,949 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 12:01:39,949 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 12:01:39,953 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 12:01:39,954 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [556876385] [2022-04-15 12:01:39,954 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [556876385] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 12:01:39,954 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 12:01:39,954 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 12:01:39,955 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [69958053] [2022-04-15 12:01:39,955 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 12:01:39,960 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-15 12:01:39,961 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 12:01:39,964 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-15 12:01:39,995 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-15 12:01:39,996 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-15 12:01:39,996 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 12:01:40,036 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-15 12:01:40,038 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-15 12:01:40,041 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-15 12:01:40,261 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:01:40,262 INFO L93 Difference]: Finished difference Result 63 states and 89 transitions. [2022-04-15 12:01:40,262 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-15 12:01:40,271 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-15 12:01:40,272 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 12:01:40,273 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-15 12:01:40,301 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 89 transitions. [2022-04-15 12:01:40,302 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-15 12:01:40,307 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 89 transitions. [2022-04-15 12:01:40,307 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 89 transitions. [2022-04-15 12:01:40,436 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-15 12:01:40,447 INFO L225 Difference]: With dead ends: 63 [2022-04-15 12:01:40,448 INFO L226 Difference]: Without dead ends: 32 [2022-04-15 12:01:40,451 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-15 12:01:40,456 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-15 12:01:40,458 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-15 12:01:40,472 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2022-04-15 12:01:40,484 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 32. [2022-04-15 12:01:40,484 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 12:01:40,485 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-15 12:01:40,485 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-15 12:01:40,486 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-15 12:01:40,509 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:01:40,509 INFO L93 Difference]: Finished difference Result 32 states and 38 transitions. [2022-04-15 12:01:40,516 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 38 transitions. [2022-04-15 12:01:40,516 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:01:40,517 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:01:40,517 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-15 12:01:40,517 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-15 12:01:40,520 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:01:40,520 INFO L93 Difference]: Finished difference Result 32 states and 38 transitions. [2022-04-15 12:01:40,520 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 38 transitions. [2022-04-15 12:01:40,520 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:01:40,520 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:01:40,520 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 12:01:40,521 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 12:01:40,521 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-15 12:01:40,544 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 38 transitions. [2022-04-15 12:01:40,546 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 38 transitions. Word has length 19 [2022-04-15 12:01:40,552 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 12:01:40,553 INFO L478 AbstractCegarLoop]: Abstraction has 32 states and 38 transitions. [2022-04-15 12:01:40,554 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-15 12:01:40,554 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 38 transitions. [2022-04-15 12:01:40,625 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-15 12:01:40,626 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 38 transitions. [2022-04-15 12:01:40,626 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2022-04-15 12:01:40,639 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 12:01:40,639 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-15 12:01:40,640 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-15 12:01:40,640 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 12:01:40,641 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 12:01:40,641 INFO L85 PathProgramCache]: Analyzing trace with hash -779965392, now seen corresponding path program 1 times [2022-04-15 12:01:40,641 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 12:01:40,642 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1294828641] [2022-04-15 12:01:40,643 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 12:01:40,643 INFO L85 PathProgramCache]: Analyzing trace with hash -779965392, now seen corresponding path program 2 times [2022-04-15 12:01:40,643 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 12:01:40,643 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1473815239] [2022-04-15 12:01:40,644 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 12:01:40,644 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 12:01:40,768 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:40,893 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 12:01:40,895 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:40,900 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-15 12:01:40,900 INFO L290 TraceCheckUtils]: 1: Hoare triple {302#true} assume true; {302#true} is VALID [2022-04-15 12:01:40,900 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {302#true} {302#true} #123#return; {302#true} is VALID [2022-04-15 12:01:40,901 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-15 12:01:40,901 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-15 12:01:40,901 INFO L290 TraceCheckUtils]: 2: Hoare triple {302#true} assume true; {302#true} is VALID [2022-04-15 12:01:40,901 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {302#true} {302#true} #123#return; {302#true} is VALID [2022-04-15 12:01:40,902 INFO L272 TraceCheckUtils]: 4: Hoare triple {302#true} call #t~ret22 := main(); {302#true} is VALID [2022-04-15 12:01:40,902 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-15 12:01:40,902 INFO L290 TraceCheckUtils]: 6: Hoare triple {302#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {302#true} is VALID [2022-04-15 12:01:40,902 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-15 12:01:40,903 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-15 12:01:40,903 INFO L290 TraceCheckUtils]: 9: Hoare triple {308#(<= main_~nodecount~0 0)} ~i~0 := 0; {308#(<= main_~nodecount~0 0)} is VALID [2022-04-15 12:01:40,904 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-15 12:01:40,904 INFO L290 TraceCheckUtils]: 11: Hoare triple {308#(<= main_~nodecount~0 0)} ~i~0 := 0; {308#(<= main_~nodecount~0 0)} is VALID [2022-04-15 12:01:40,905 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-15 12:01:40,905 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-15 12:01:40,906 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-15 12:01:40,906 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-15 12:01:40,906 INFO L290 TraceCheckUtils]: 16: Hoare triple {303#false} ~cond := #in~cond; {303#false} is VALID [2022-04-15 12:01:40,907 INFO L290 TraceCheckUtils]: 17: Hoare triple {303#false} assume 0 == ~cond; {303#false} is VALID [2022-04-15 12:01:40,907 INFO L290 TraceCheckUtils]: 18: Hoare triple {303#false} assume !false; {303#false} is VALID [2022-04-15 12:01:40,907 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-15 12:01:40,907 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 12:01:40,907 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1473815239] [2022-04-15 12:01:40,908 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1473815239] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 12:01:40,908 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 12:01:40,908 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 12:01:40,908 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 12:01:40,908 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1294828641] [2022-04-15 12:01:40,908 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1294828641] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 12:01:40,908 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 12:01:40,908 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 12:01:40,908 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [306942216] [2022-04-15 12:01:40,909 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 12:01:40,909 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-15 12:01:40,910 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 12:01:40,910 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-15 12:01:40,939 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-15 12:01:40,939 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-15 12:01:40,939 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 12:01:40,940 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-15 12:01:40,940 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-15 12:01:40,940 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-15 12:01:41,341 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:01:41,341 INFO L93 Difference]: Finished difference Result 80 states and 100 transitions. [2022-04-15 12:01:41,341 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-15 12:01:41,342 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-15 12:01:41,343 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 12:01:41,343 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-15 12:01:41,349 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 100 transitions. [2022-04-15 12:01:41,349 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-15 12:01:41,352 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 100 transitions. [2022-04-15 12:01:41,352 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 100 transitions. [2022-04-15 12:01:41,464 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-15 12:01:41,467 INFO L225 Difference]: With dead ends: 80 [2022-04-15 12:01:41,467 INFO L226 Difference]: Without dead ends: 48 [2022-04-15 12:01:41,468 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=27, Invalid=45, Unknown=0, NotChecked=0, Total=72 [2022-04-15 12:01:41,471 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-15 12:01:41,472 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-15 12:01:41,475 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2022-04-15 12:01:41,482 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 34. [2022-04-15 12:01:41,482 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 12:01:41,483 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-15 12:01:41,483 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-15 12:01:41,483 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-15 12:01:41,490 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:01:41,490 INFO L93 Difference]: Finished difference Result 48 states and 59 transitions. [2022-04-15 12:01:41,491 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 59 transitions. [2022-04-15 12:01:41,492 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:01:41,492 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:01:41,492 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-15 12:01:41,493 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-15 12:01:41,498 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:01:41,498 INFO L93 Difference]: Finished difference Result 48 states and 59 transitions. [2022-04-15 12:01:41,498 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 59 transitions. [2022-04-15 12:01:41,500 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:01:41,500 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:01:41,500 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 12:01:41,500 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 12:01:41,501 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-15 12:01:41,509 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 40 transitions. [2022-04-15 12:01:41,509 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 40 transitions. Word has length 19 [2022-04-15 12:01:41,509 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 12:01:41,509 INFO L478 AbstractCegarLoop]: Abstraction has 34 states and 40 transitions. [2022-04-15 12:01:41,510 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-15 12:01:41,510 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 40 transitions. [2022-04-15 12:01:41,566 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-15 12:01:41,567 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 40 transitions. [2022-04-15 12:01:41,567 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2022-04-15 12:01:41,567 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 12:01:41,567 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-15 12:01:41,567 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-15 12:01:41,568 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 12:01:41,568 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 12:01:41,568 INFO L85 PathProgramCache]: Analyzing trace with hash 470194446, now seen corresponding path program 1 times [2022-04-15 12:01:41,568 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 12:01:41,569 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [710427984] [2022-04-15 12:01:41,576 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-15 12:01:41,577 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 12:01:41,577 INFO L85 PathProgramCache]: Analyzing trace with hash 470194446, now seen corresponding path program 2 times [2022-04-15 12:01:41,577 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 12:01:41,577 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2128962537] [2022-04-15 12:01:41,577 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 12:01:41,578 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 12:01:41,621 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:41,795 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 12:01:41,798 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:41,805 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-15 12:01:41,805 INFO L290 TraceCheckUtils]: 1: Hoare triple {643#true} assume true; {643#true} is VALID [2022-04-15 12:01:41,805 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {643#true} {643#true} #123#return; {643#true} is VALID [2022-04-15 12:01:41,806 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-15 12:01:41,806 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-15 12:01:41,806 INFO L290 TraceCheckUtils]: 2: Hoare triple {643#true} assume true; {643#true} is VALID [2022-04-15 12:01:41,807 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {643#true} {643#true} #123#return; {643#true} is VALID [2022-04-15 12:01:41,807 INFO L272 TraceCheckUtils]: 4: Hoare triple {643#true} call #t~ret22 := main(); {643#true} is VALID [2022-04-15 12:01:41,807 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-15 12:01:41,807 INFO L290 TraceCheckUtils]: 6: Hoare triple {643#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {643#true} is VALID [2022-04-15 12:01:41,810 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-15 12:01:41,810 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-15 12:01:41,811 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-15 12:01:41,812 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-15 12:01:41,812 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-15 12:01:41,813 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-15 12:01:41,813 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-15 12:01:41,814 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-15 12:01:41,814 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-15 12:01:41,815 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-15 12:01:41,815 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-15 12:01:41,816 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-15 12:01:41,816 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-15 12:01:41,817 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-15 12:01:41,818 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-15 12:01:41,818 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-15 12:01:41,819 INFO L290 TraceCheckUtils]: 23: Hoare triple {653#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {644#false} is VALID [2022-04-15 12:01:41,819 INFO L290 TraceCheckUtils]: 24: Hoare triple {644#false} assume !false; {644#false} is VALID [2022-04-15 12:01:41,819 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-15 12:01:41,820 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 12:01:41,820 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2128962537] [2022-04-15 12:01:41,820 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2128962537] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 12:01:41,820 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1452269190] [2022-04-15 12:01:41,820 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 12:01:41,821 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 12:01:41,821 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 12:01:41,827 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-15 12:01:41,852 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-15 12:01:41,970 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 12:01:41,970 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 12:01:41,973 INFO L263 TraceCheckSpWp]: Trace formula consists of 275 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-15 12:01:41,985 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:41,989 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 12:01:42,193 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-15 12:01:42,351 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-15 12:01:42,425 INFO L272 TraceCheckUtils]: 0: Hoare triple {643#true} call ULTIMATE.init(); {643#true} is VALID [2022-04-15 12:01:42,425 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-15 12:01:42,425 INFO L290 TraceCheckUtils]: 2: Hoare triple {643#true} assume true; {643#true} is VALID [2022-04-15 12:01:42,425 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {643#true} {643#true} #123#return; {643#true} is VALID [2022-04-15 12:01:42,425 INFO L272 TraceCheckUtils]: 4: Hoare triple {643#true} call #t~ret22 := main(); {643#true} is VALID [2022-04-15 12:01:42,426 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-15 12:01:42,426 INFO L290 TraceCheckUtils]: 6: Hoare triple {643#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {643#true} is VALID [2022-04-15 12:01:42,428 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-15 12:01:42,429 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-15 12:01:42,429 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-15 12:01:42,430 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-15 12:01:42,430 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-15 12:01:42,431 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-15 12:01:42,432 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-15 12:01:42,432 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-15 12:01:42,433 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-15 12:01:42,433 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-15 12:01:42,434 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-15 12:01:42,434 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-15 12:01:42,435 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-15 12:01:42,435 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-15 12:01:42,436 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-15 12:01:42,436 INFO L290 TraceCheckUtils]: 22: Hoare triple {724#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {728#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 12:01:42,437 INFO L290 TraceCheckUtils]: 23: Hoare triple {728#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {644#false} is VALID [2022-04-15 12:01:42,437 INFO L290 TraceCheckUtils]: 24: Hoare triple {644#false} assume !false; {644#false} is VALID [2022-04-15 12:01:42,437 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-15 12:01:42,437 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 12:01:42,716 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-15 12:01:42,732 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-15 12:01:42,792 INFO L290 TraceCheckUtils]: 24: Hoare triple {644#false} assume !false; {644#false} is VALID [2022-04-15 12:01:42,794 INFO L290 TraceCheckUtils]: 23: Hoare triple {728#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {644#false} is VALID [2022-04-15 12:01:42,795 INFO L290 TraceCheckUtils]: 22: Hoare triple {724#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {728#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 12:01:42,796 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-15 12:01:42,797 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-15 12:01:42,797 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-15 12:01:42,800 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-15 12:01:42,801 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-15 12:01:42,801 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-15 12:01:42,802 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-15 12:01:42,802 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-15 12:01:42,802 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-15 12:01:42,803 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-15 12:01:42,803 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-15 12:01:42,804 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-15 12:01:42,811 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-15 12:01:42,812 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-15 12:01:42,814 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-15 12:01:42,815 INFO L290 TraceCheckUtils]: 6: Hoare triple {643#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {643#true} is VALID [2022-04-15 12:01:42,815 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-15 12:01:42,815 INFO L272 TraceCheckUtils]: 4: Hoare triple {643#true} call #t~ret22 := main(); {643#true} is VALID [2022-04-15 12:01:42,815 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {643#true} {643#true} #123#return; {643#true} is VALID [2022-04-15 12:01:42,815 INFO L290 TraceCheckUtils]: 2: Hoare triple {643#true} assume true; {643#true} is VALID [2022-04-15 12:01:42,816 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-15 12:01:42,816 INFO L272 TraceCheckUtils]: 0: Hoare triple {643#true} call ULTIMATE.init(); {643#true} is VALID [2022-04-15 12:01:42,816 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-15 12:01:42,816 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1452269190] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 12:01:42,816 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 12:01:42,817 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8, 8] total 17 [2022-04-15 12:01:42,817 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 12:01:42,817 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [710427984] [2022-04-15 12:01:42,818 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [710427984] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 12:01:42,818 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 12:01:42,818 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-15 12:01:42,818 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [468831805] [2022-04-15 12:01:42,818 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 12:01:42,818 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-15 12:01:42,819 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 12:01:42,819 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-15 12:01:42,842 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-15 12:01:42,842 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-15 12:01:42,843 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 12:01:42,843 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-15 12:01:42,844 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=222, Unknown=0, NotChecked=0, Total=272 [2022-04-15 12:01:42,844 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-15 12:01:43,657 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:01:43,657 INFO L93 Difference]: Finished difference Result 78 states and 97 transitions. [2022-04-15 12:01:43,657 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-15 12:01:43,658 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-15 12:01:43,660 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 12:01:43,660 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-15 12:01:43,666 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 96 transitions. [2022-04-15 12:01:43,666 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-15 12:01:43,670 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 96 transitions. [2022-04-15 12:01:43,670 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 96 transitions. [2022-04-15 12:01:43,781 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-15 12:01:43,783 INFO L225 Difference]: With dead ends: 78 [2022-04-15 12:01:43,783 INFO L226 Difference]: Without dead ends: 76 [2022-04-15 12:01:43,784 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-15 12:01:43,785 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-15 12:01:43,785 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-15 12:01:43,786 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 76 states. [2022-04-15 12:01:43,800 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 76 to 55. [2022-04-15 12:01:43,800 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 12:01:43,800 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-15 12:01:43,801 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-15 12:01:43,801 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-15 12:01:43,803 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:01:43,803 INFO L93 Difference]: Finished difference Result 76 states and 95 transitions. [2022-04-15 12:01:43,804 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 95 transitions. [2022-04-15 12:01:43,804 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:01:43,804 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:01:43,805 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-15 12:01:43,805 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-15 12:01:43,807 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:01:43,808 INFO L93 Difference]: Finished difference Result 76 states and 95 transitions. [2022-04-15 12:01:43,808 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 95 transitions. [2022-04-15 12:01:43,808 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:01:43,808 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:01:43,808 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 12:01:43,808 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 12:01:43,809 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-15 12:01:43,810 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 67 transitions. [2022-04-15 12:01:43,811 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 67 transitions. Word has length 25 [2022-04-15 12:01:43,811 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 12:01:43,811 INFO L478 AbstractCegarLoop]: Abstraction has 55 states and 67 transitions. [2022-04-15 12:01:43,811 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-15 12:01:43,812 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 55 states and 67 transitions. [2022-04-15 12:01:43,883 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-15 12:01:43,883 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 67 transitions. [2022-04-15 12:01:43,884 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2022-04-15 12:01:43,884 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 12:01:43,885 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-15 12:01:43,903 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2022-04-15 12:01:44,085 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-15 12:01:44,086 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 12:01:44,086 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 12:01:44,086 INFO L85 PathProgramCache]: Analyzing trace with hash -550873908, now seen corresponding path program 1 times [2022-04-15 12:01:44,086 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 12:01:44,086 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [434940984] [2022-04-15 12:01:44,090 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-15 12:01:44,090 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 12:01:44,090 INFO L85 PathProgramCache]: Analyzing trace with hash -550873908, now seen corresponding path program 2 times [2022-04-15 12:01:44,091 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 12:01:44,091 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1995131715] [2022-04-15 12:01:44,091 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 12:01:44,091 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 12:01:44,155 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:44,193 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 12:01:44,196 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:44,199 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-15 12:01:44,199 INFO L290 TraceCheckUtils]: 1: Hoare triple {1244#true} assume true; {1244#true} is VALID [2022-04-15 12:01:44,199 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1244#true} {1244#true} #123#return; {1244#true} is VALID [2022-04-15 12:01:44,212 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-15 12:01:44,213 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-15 12:01:44,213 INFO L290 TraceCheckUtils]: 2: Hoare triple {1244#true} assume true; {1244#true} is VALID [2022-04-15 12:01:44,213 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1244#true} {1244#true} #123#return; {1244#true} is VALID [2022-04-15 12:01:44,213 INFO L272 TraceCheckUtils]: 4: Hoare triple {1244#true} call #t~ret22 := main(); {1244#true} is VALID [2022-04-15 12:01:44,213 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-15 12:01:44,214 INFO L290 TraceCheckUtils]: 6: Hoare triple {1244#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {1244#true} is VALID [2022-04-15 12:01:44,216 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-15 12:01:44,217 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-15 12:01:44,217 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-15 12:01:44,217 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-15 12:01:44,218 INFO L290 TraceCheckUtils]: 11: Hoare triple {1245#false} assume !(~i~0 < ~nodecount~0); {1245#false} is VALID [2022-04-15 12:01:44,218 INFO L290 TraceCheckUtils]: 12: Hoare triple {1245#false} ~i~0 := 0; {1245#false} is VALID [2022-04-15 12:01:44,218 INFO L290 TraceCheckUtils]: 13: Hoare triple {1245#false} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {1245#false} is VALID [2022-04-15 12:01:44,218 INFO L290 TraceCheckUtils]: 14: Hoare triple {1245#false} assume !(~j~0 < ~edgecount~0); {1245#false} is VALID [2022-04-15 12:01:44,218 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-15 12:01:44,218 INFO L290 TraceCheckUtils]: 16: Hoare triple {1245#false} assume !(~i~0 < ~nodecount~0); {1245#false} is VALID [2022-04-15 12:01:44,218 INFO L290 TraceCheckUtils]: 17: Hoare triple {1245#false} ~i~0 := 0; {1245#false} is VALID [2022-04-15 12:01:44,218 INFO L290 TraceCheckUtils]: 18: Hoare triple {1245#false} assume !(~i~0 < ~edgecount~0); {1245#false} is VALID [2022-04-15 12:01:44,219 INFO L290 TraceCheckUtils]: 19: Hoare triple {1245#false} ~i~0 := 0; {1245#false} is VALID [2022-04-15 12:01:44,219 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-15 12:01:44,219 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-15 12:01:44,219 INFO L290 TraceCheckUtils]: 22: Hoare triple {1245#false} ~cond := #in~cond; {1245#false} is VALID [2022-04-15 12:01:44,219 INFO L290 TraceCheckUtils]: 23: Hoare triple {1245#false} assume 0 == ~cond; {1245#false} is VALID [2022-04-15 12:01:44,219 INFO L290 TraceCheckUtils]: 24: Hoare triple {1245#false} assume !false; {1245#false} is VALID [2022-04-15 12:01:44,219 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-15 12:01:44,220 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 12:01:44,220 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1995131715] [2022-04-15 12:01:44,220 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1995131715] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 12:01:44,220 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 12:01:44,220 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-15 12:01:44,220 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 12:01:44,220 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [434940984] [2022-04-15 12:01:44,221 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [434940984] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 12:01:44,221 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 12:01:44,221 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-15 12:01:44,221 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [803361253] [2022-04-15 12:01:44,221 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 12:01:44,221 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-15 12:01:44,222 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 12:01:44,222 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-15 12:01:44,240 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-15 12:01:44,240 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-15 12:01:44,240 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 12:01:44,241 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-15 12:01:44,242 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-15 12:01:44,242 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-15 12:01:44,354 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:01:44,354 INFO L93 Difference]: Finished difference Result 82 states and 101 transitions. [2022-04-15 12:01:44,354 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-15 12:01:44,354 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-15 12:01:44,354 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 12:01:44,355 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-15 12:01:44,357 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 72 transitions. [2022-04-15 12:01:44,357 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-15 12:01:44,361 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 72 transitions. [2022-04-15 12:01:44,361 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 72 transitions. [2022-04-15 12:01:44,418 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-15 12:01:44,420 INFO L225 Difference]: With dead ends: 82 [2022-04-15 12:01:44,421 INFO L226 Difference]: Without dead ends: 57 [2022-04-15 12:01:44,421 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-15 12:01:44,426 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-15 12:01:44,429 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-15 12:01:44,430 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 57 states. [2022-04-15 12:01:44,447 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 57 to 56. [2022-04-15 12:01:44,447 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 12:01:44,447 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-15 12:01:44,447 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-15 12:01:44,448 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-15 12:01:44,450 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:01:44,450 INFO L93 Difference]: Finished difference Result 57 states and 69 transitions. [2022-04-15 12:01:44,450 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 69 transitions. [2022-04-15 12:01:44,450 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:01:44,450 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:01:44,451 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-15 12:01:44,451 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-15 12:01:44,460 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:01:44,460 INFO L93 Difference]: Finished difference Result 57 states and 69 transitions. [2022-04-15 12:01:44,460 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 69 transitions. [2022-04-15 12:01:44,461 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:01:44,461 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:01:44,461 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 12:01:44,461 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 12:01:44,461 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-15 12:01:44,463 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 68 transitions. [2022-04-15 12:01:44,463 INFO L78 Accepts]: Start accepts. Automaton has 56 states and 68 transitions. Word has length 25 [2022-04-15 12:01:44,463 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 12:01:44,463 INFO L478 AbstractCegarLoop]: Abstraction has 56 states and 68 transitions. [2022-04-15 12:01:44,463 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-15 12:01:44,464 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 56 states and 68 transitions. [2022-04-15 12:01:44,536 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-15 12:01:44,536 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 68 transitions. [2022-04-15 12:01:44,541 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-15 12:01:44,542 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 12:01:44,542 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-15 12:01:44,542 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2022-04-15 12:01:44,542 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 12:01:44,543 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 12:01:44,543 INFO L85 PathProgramCache]: Analyzing trace with hash -1439064257, now seen corresponding path program 1 times [2022-04-15 12:01:44,543 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 12:01:44,543 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [825749582] [2022-04-15 12:01:44,548 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-15 12:01:44,548 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 12:01:44,548 INFO L85 PathProgramCache]: Analyzing trace with hash -1439064257, now seen corresponding path program 2 times [2022-04-15 12:01:44,548 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 12:01:44,548 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1581240110] [2022-04-15 12:01:44,548 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 12:01:44,549 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 12:01:44,611 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:44,678 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 12:01:44,682 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:44,686 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-15 12:01:44,686 INFO L290 TraceCheckUtils]: 1: Hoare triple {1645#true} assume true; {1645#true} is VALID [2022-04-15 12:01:44,686 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1645#true} {1645#true} #123#return; {1645#true} is VALID [2022-04-15 12:01:44,687 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-15 12:01:44,687 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-15 12:01:44,687 INFO L290 TraceCheckUtils]: 2: Hoare triple {1645#true} assume true; {1645#true} is VALID [2022-04-15 12:01:44,687 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1645#true} {1645#true} #123#return; {1645#true} is VALID [2022-04-15 12:01:44,687 INFO L272 TraceCheckUtils]: 4: Hoare triple {1645#true} call #t~ret22 := main(); {1645#true} is VALID [2022-04-15 12:01:44,687 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-15 12:01:44,687 INFO L290 TraceCheckUtils]: 6: Hoare triple {1645#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {1645#true} is VALID [2022-04-15 12:01:44,688 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-15 12:01:44,688 INFO L290 TraceCheckUtils]: 8: Hoare triple {1645#true} assume !!(~i~0 < ~nodecount~0); {1645#true} is VALID [2022-04-15 12:01:44,688 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-15 12:01:44,688 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-15 12:01:44,688 INFO L290 TraceCheckUtils]: 11: Hoare triple {1645#true} assume !(~i~0 < ~nodecount~0); {1645#true} is VALID [2022-04-15 12:01:44,688 INFO L290 TraceCheckUtils]: 12: Hoare triple {1645#true} ~i~0 := 0; {1645#true} is VALID [2022-04-15 12:01:44,689 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-15 12:01:44,690 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-15 12:01:44,690 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-15 12:01:44,691 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-15 12:01:44,691 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-15 12:01:44,691 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-15 12:01:44,693 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-15 12:01:44,693 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-15 12:01:44,694 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-15 12:01:44,694 INFO L290 TraceCheckUtils]: 22: Hoare triple {1646#false} ~i~0 := 0; {1646#false} is VALID [2022-04-15 12:01:44,694 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-15 12:01:44,694 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-15 12:01:44,694 INFO L290 TraceCheckUtils]: 25: Hoare triple {1646#false} ~cond := #in~cond; {1646#false} is VALID [2022-04-15 12:01:44,694 INFO L290 TraceCheckUtils]: 26: Hoare triple {1646#false} assume 0 == ~cond; {1646#false} is VALID [2022-04-15 12:01:44,694 INFO L290 TraceCheckUtils]: 27: Hoare triple {1646#false} assume !false; {1646#false} is VALID [2022-04-15 12:01:44,695 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-15 12:01:44,695 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 12:01:44,695 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1581240110] [2022-04-15 12:01:44,695 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1581240110] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 12:01:44,695 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [691757865] [2022-04-15 12:01:44,695 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 12:01:44,695 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 12:01:44,696 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 12:01:44,700 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-15 12:01:44,710 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-15 12:01:44,798 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 12:01:44,798 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 12:01:44,801 INFO L263 TraceCheckSpWp]: Trace formula consists of 293 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-15 12:01:44,823 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:44,824 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 12:01:44,963 INFO L272 TraceCheckUtils]: 0: Hoare triple {1645#true} call ULTIMATE.init(); {1645#true} is VALID [2022-04-15 12:01:44,964 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-15 12:01:44,964 INFO L290 TraceCheckUtils]: 2: Hoare triple {1645#true} assume true; {1645#true} is VALID [2022-04-15 12:01:44,964 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1645#true} {1645#true} #123#return; {1645#true} is VALID [2022-04-15 12:01:44,964 INFO L272 TraceCheckUtils]: 4: Hoare triple {1645#true} call #t~ret22 := main(); {1645#true} is VALID [2022-04-15 12:01:44,964 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-15 12:01:44,964 INFO L290 TraceCheckUtils]: 6: Hoare triple {1645#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {1645#true} is VALID [2022-04-15 12:01:44,965 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-15 12:01:44,965 INFO L290 TraceCheckUtils]: 8: Hoare triple {1645#true} assume !!(~i~0 < ~nodecount~0); {1645#true} is VALID [2022-04-15 12:01:44,965 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-15 12:01:44,965 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-15 12:01:44,965 INFO L290 TraceCheckUtils]: 11: Hoare triple {1645#true} assume !(~i~0 < ~nodecount~0); {1645#true} is VALID [2022-04-15 12:01:44,965 INFO L290 TraceCheckUtils]: 12: Hoare triple {1645#true} ~i~0 := 0; {1645#true} is VALID [2022-04-15 12:01:44,966 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-15 12:01:44,967 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-15 12:01:44,968 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-15 12:01:44,968 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-15 12:01:44,968 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-15 12:01:44,969 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-15 12:01:44,969 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-15 12:01:44,969 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-15 12:01:44,970 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-15 12:01:44,970 INFO L290 TraceCheckUtils]: 22: Hoare triple {1646#false} ~i~0 := 0; {1646#false} is VALID [2022-04-15 12:01:44,970 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-15 12:01:44,970 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-15 12:01:44,971 INFO L290 TraceCheckUtils]: 25: Hoare triple {1646#false} ~cond := #in~cond; {1646#false} is VALID [2022-04-15 12:01:44,971 INFO L290 TraceCheckUtils]: 26: Hoare triple {1646#false} assume 0 == ~cond; {1646#false} is VALID [2022-04-15 12:01:44,971 INFO L290 TraceCheckUtils]: 27: Hoare triple {1646#false} assume !false; {1646#false} is VALID [2022-04-15 12:01:44,971 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-15 12:01:44,971 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 12:01:45,090 INFO L290 TraceCheckUtils]: 27: Hoare triple {1646#false} assume !false; {1646#false} is VALID [2022-04-15 12:01:45,091 INFO L290 TraceCheckUtils]: 26: Hoare triple {1646#false} assume 0 == ~cond; {1646#false} is VALID [2022-04-15 12:01:45,091 INFO L290 TraceCheckUtils]: 25: Hoare triple {1646#false} ~cond := #in~cond; {1646#false} is VALID [2022-04-15 12:01:45,091 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-15 12:01:45,091 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-15 12:01:45,091 INFO L290 TraceCheckUtils]: 22: Hoare triple {1646#false} ~i~0 := 0; {1646#false} is VALID [2022-04-15 12:01:45,091 INFO L290 TraceCheckUtils]: 21: Hoare triple {1759#(< main_~i~0 main_~edgecount~0)} assume !(~i~0 < ~edgecount~0); {1646#false} is VALID [2022-04-15 12:01:45,092 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-15 12:01:45,092 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-15 12:01:45,107 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-15 12:01:45,108 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-15 12:01:45,108 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-15 12:01:45,109 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-15 12:01:45,110 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-15 12:01:45,110 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-15 12:01:45,110 INFO L290 TraceCheckUtils]: 12: Hoare triple {1645#true} ~i~0 := 0; {1645#true} is VALID [2022-04-15 12:01:45,110 INFO L290 TraceCheckUtils]: 11: Hoare triple {1645#true} assume !(~i~0 < ~nodecount~0); {1645#true} is VALID [2022-04-15 12:01:45,111 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-15 12:01:45,111 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-15 12:01:45,111 INFO L290 TraceCheckUtils]: 8: Hoare triple {1645#true} assume !!(~i~0 < ~nodecount~0); {1645#true} is VALID [2022-04-15 12:01:45,111 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-15 12:01:45,111 INFO L290 TraceCheckUtils]: 6: Hoare triple {1645#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {1645#true} is VALID [2022-04-15 12:01:45,111 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-15 12:01:45,111 INFO L272 TraceCheckUtils]: 4: Hoare triple {1645#true} call #t~ret22 := main(); {1645#true} is VALID [2022-04-15 12:01:45,111 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1645#true} {1645#true} #123#return; {1645#true} is VALID [2022-04-15 12:01:45,112 INFO L290 TraceCheckUtils]: 2: Hoare triple {1645#true} assume true; {1645#true} is VALID [2022-04-15 12:01:45,112 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-15 12:01:45,112 INFO L272 TraceCheckUtils]: 0: Hoare triple {1645#true} call ULTIMATE.init(); {1645#true} is VALID [2022-04-15 12:01:45,112 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-15 12:01:45,112 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [691757865] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 12:01:45,112 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 12:01:45,112 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 5, 5] total 10 [2022-04-15 12:01:45,113 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 12:01:45,113 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [825749582] [2022-04-15 12:01:45,113 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [825749582] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 12:01:45,113 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 12:01:45,113 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-15 12:01:45,113 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1710980100] [2022-04-15 12:01:45,113 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 12:01:45,114 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-15 12:01:45,114 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 12:01:45,114 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-15 12:01:45,136 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-15 12:01:45,136 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-15 12:01:45,136 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 12:01:45,137 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-15 12:01:45,137 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=64, Unknown=0, NotChecked=0, Total=90 [2022-04-15 12:01:45,137 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-15 12:01:45,548 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:01:45,549 INFO L93 Difference]: Finished difference Result 130 states and 165 transitions. [2022-04-15 12:01:45,549 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-15 12:01:45,549 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-15 12:01:45,549 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 12:01:45,549 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-15 12:01:45,553 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 93 transitions. [2022-04-15 12:01:45,553 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-15 12:01:45,556 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 93 transitions. [2022-04-15 12:01:45,556 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 93 transitions. [2022-04-15 12:01:45,654 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-15 12:01:45,658 INFO L225 Difference]: With dead ends: 130 [2022-04-15 12:01:45,658 INFO L226 Difference]: Without dead ends: 94 [2022-04-15 12:01:45,659 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-15 12:01:45,660 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-15 12:01:45,662 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-15 12:01:45,663 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 94 states. [2022-04-15 12:01:45,702 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 94 to 68. [2022-04-15 12:01:45,703 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 12:01:45,703 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-15 12:01:45,703 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-15 12:01:45,704 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-15 12:01:45,710 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:01:45,710 INFO L93 Difference]: Finished difference Result 94 states and 117 transitions. [2022-04-15 12:01:45,710 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 117 transitions. [2022-04-15 12:01:45,710 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:01:45,710 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:01:45,711 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-15 12:01:45,711 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-15 12:01:45,715 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:01:45,715 INFO L93 Difference]: Finished difference Result 94 states and 117 transitions. [2022-04-15 12:01:45,715 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 117 transitions. [2022-04-15 12:01:45,716 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:01:45,716 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:01:45,716 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 12:01:45,716 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 12:01:45,716 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-15 12:01:45,719 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 68 states to 68 states and 84 transitions. [2022-04-15 12:01:45,719 INFO L78 Accepts]: Start accepts. Automaton has 68 states and 84 transitions. Word has length 28 [2022-04-15 12:01:45,720 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 12:01:45,720 INFO L478 AbstractCegarLoop]: Abstraction has 68 states and 84 transitions. [2022-04-15 12:01:45,720 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-15 12:01:45,720 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 68 states and 84 transitions. [2022-04-15 12:01:45,835 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-15 12:01:45,835 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 84 transitions. [2022-04-15 12:01:45,836 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-15 12:01:45,836 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 12:01:45,836 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-15 12:01:45,864 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-15 12:01:46,051 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-15 12:01:46,052 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 12:01:46,052 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 12:01:46,052 INFO L85 PathProgramCache]: Analyzing trace with hash 244787668, now seen corresponding path program 1 times [2022-04-15 12:01:46,052 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 12:01:46,052 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1578096261] [2022-04-15 12:01:46,057 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-15 12:01:46,057 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 12:01:46,057 INFO L85 PathProgramCache]: Analyzing trace with hash 244787668, now seen corresponding path program 2 times [2022-04-15 12:01:46,058 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 12:01:46,058 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1382667712] [2022-04-15 12:01:46,058 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 12:01:46,058 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 12:01:46,097 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:46,161 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 12:01:46,163 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:46,167 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-15 12:01:46,167 INFO L290 TraceCheckUtils]: 1: Hoare triple {2417#true} assume true; {2417#true} is VALID [2022-04-15 12:01:46,167 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {2417#true} {2417#true} #123#return; {2417#true} is VALID [2022-04-15 12:01:46,168 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-15 12:01:46,168 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-15 12:01:46,168 INFO L290 TraceCheckUtils]: 2: Hoare triple {2417#true} assume true; {2417#true} is VALID [2022-04-15 12:01:46,168 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2417#true} {2417#true} #123#return; {2417#true} is VALID [2022-04-15 12:01:46,168 INFO L272 TraceCheckUtils]: 4: Hoare triple {2417#true} call #t~ret22 := main(); {2417#true} is VALID [2022-04-15 12:01:46,168 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-15 12:01:46,168 INFO L290 TraceCheckUtils]: 6: Hoare triple {2417#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {2417#true} is VALID [2022-04-15 12:01:46,170 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-15 12:01:46,171 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-15 12:01:46,173 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-15 12:01:46,174 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-15 12:01:46,174 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-15 12:01:46,175 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-15 12:01:46,175 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-15 12:01:46,176 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-15 12:01:46,176 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-15 12:01:46,177 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-15 12:01:46,177 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-15 12:01:46,178 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-15 12:01:46,178 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-15 12:01:46,178 INFO L290 TraceCheckUtils]: 20: Hoare triple {2418#false} ~i~0 := 0; {2418#false} is VALID [2022-04-15 12:01:46,178 INFO L290 TraceCheckUtils]: 21: Hoare triple {2418#false} assume !(~i~0 < ~edgecount~0); {2418#false} is VALID [2022-04-15 12:01:46,178 INFO L290 TraceCheckUtils]: 22: Hoare triple {2418#false} ~i~0 := 0; {2418#false} is VALID [2022-04-15 12:01:46,179 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-15 12:01:46,179 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-15 12:01:46,179 INFO L290 TraceCheckUtils]: 25: Hoare triple {2418#false} ~cond := #in~cond; {2418#false} is VALID [2022-04-15 12:01:46,179 INFO L290 TraceCheckUtils]: 26: Hoare triple {2418#false} assume 0 == ~cond; {2418#false} is VALID [2022-04-15 12:01:46,179 INFO L290 TraceCheckUtils]: 27: Hoare triple {2418#false} assume !false; {2418#false} is VALID [2022-04-15 12:01:46,180 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-15 12:01:46,180 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 12:01:46,180 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1382667712] [2022-04-15 12:01:46,180 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1382667712] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 12:01:46,180 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [879862347] [2022-04-15 12:01:46,180 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 12:01:46,180 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 12:01:46,180 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 12:01:46,181 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-15 12:01:46,190 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-15 12:01:46,279 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 12:01:46,279 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 12:01:46,280 INFO L263 TraceCheckSpWp]: Trace formula consists of 283 conjuncts, 6 conjunts are in the unsatisfiable core [2022-04-15 12:01:46,290 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:46,291 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 12:01:46,465 INFO L272 TraceCheckUtils]: 0: Hoare triple {2417#true} call ULTIMATE.init(); {2417#true} is VALID [2022-04-15 12:01:46,466 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-15 12:01:46,466 INFO L290 TraceCheckUtils]: 2: Hoare triple {2417#true} assume true; {2417#true} is VALID [2022-04-15 12:01:46,466 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2417#true} {2417#true} #123#return; {2417#true} is VALID [2022-04-15 12:01:46,466 INFO L272 TraceCheckUtils]: 4: Hoare triple {2417#true} call #t~ret22 := main(); {2417#true} is VALID [2022-04-15 12:01:46,466 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-15 12:01:46,466 INFO L290 TraceCheckUtils]: 6: Hoare triple {2417#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {2417#true} is VALID [2022-04-15 12:01:46,469 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-15 12:01:46,469 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-15 12:01:46,470 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-15 12:01:46,470 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-15 12:01:46,471 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-15 12:01:46,471 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-15 12:01:46,471 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-15 12:01:46,472 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-15 12:01:46,472 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-15 12:01:46,473 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-15 12:01:46,473 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-15 12:01:46,474 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-15 12:01:46,474 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-15 12:01:46,474 INFO L290 TraceCheckUtils]: 20: Hoare triple {2418#false} ~i~0 := 0; {2418#false} is VALID [2022-04-15 12:01:46,475 INFO L290 TraceCheckUtils]: 21: Hoare triple {2418#false} assume !(~i~0 < ~edgecount~0); {2418#false} is VALID [2022-04-15 12:01:46,475 INFO L290 TraceCheckUtils]: 22: Hoare triple {2418#false} ~i~0 := 0; {2418#false} is VALID [2022-04-15 12:01:46,475 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-15 12:01:46,475 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-15 12:01:46,475 INFO L290 TraceCheckUtils]: 25: Hoare triple {2418#false} ~cond := #in~cond; {2418#false} is VALID [2022-04-15 12:01:46,475 INFO L290 TraceCheckUtils]: 26: Hoare triple {2418#false} assume 0 == ~cond; {2418#false} is VALID [2022-04-15 12:01:46,475 INFO L290 TraceCheckUtils]: 27: Hoare triple {2418#false} assume !false; {2418#false} is VALID [2022-04-15 12:01:46,476 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-15 12:01:46,476 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 12:01:46,620 INFO L290 TraceCheckUtils]: 27: Hoare triple {2418#false} assume !false; {2418#false} is VALID [2022-04-15 12:01:46,621 INFO L290 TraceCheckUtils]: 26: Hoare triple {2418#false} assume 0 == ~cond; {2418#false} is VALID [2022-04-15 12:01:46,621 INFO L290 TraceCheckUtils]: 25: Hoare triple {2418#false} ~cond := #in~cond; {2418#false} is VALID [2022-04-15 12:01:46,621 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-15 12:01:46,621 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-15 12:01:46,621 INFO L290 TraceCheckUtils]: 22: Hoare triple {2418#false} ~i~0 := 0; {2418#false} is VALID [2022-04-15 12:01:46,621 INFO L290 TraceCheckUtils]: 21: Hoare triple {2418#false} assume !(~i~0 < ~edgecount~0); {2418#false} is VALID [2022-04-15 12:01:46,621 INFO L290 TraceCheckUtils]: 20: Hoare triple {2418#false} ~i~0 := 0; {2418#false} is VALID [2022-04-15 12:01:46,622 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-15 12:01:46,622 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-15 12:01:46,622 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-15 12:01:46,624 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-15 12:01:46,625 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-15 12:01:46,625 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-15 12:01:46,626 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-15 12:01:46,626 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-15 12:01:46,626 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-15 12:01:46,627 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-15 12:01:46,631 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-15 12:01:46,632 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-15 12:01:46,634 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-15 12:01:46,634 INFO L290 TraceCheckUtils]: 6: Hoare triple {2417#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {2417#true} is VALID [2022-04-15 12:01:46,634 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-15 12:01:46,634 INFO L272 TraceCheckUtils]: 4: Hoare triple {2417#true} call #t~ret22 := main(); {2417#true} is VALID [2022-04-15 12:01:46,634 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2417#true} {2417#true} #123#return; {2417#true} is VALID [2022-04-15 12:01:46,635 INFO L290 TraceCheckUtils]: 2: Hoare triple {2417#true} assume true; {2417#true} is VALID [2022-04-15 12:01:46,635 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-15 12:01:46,635 INFO L272 TraceCheckUtils]: 0: Hoare triple {2417#true} call ULTIMATE.init(); {2417#true} is VALID [2022-04-15 12:01:46,635 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-15 12:01:46,635 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [879862347] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 12:01:46,635 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 12:01:46,636 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 7, 7] total 12 [2022-04-15 12:01:46,636 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 12:01:46,636 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1578096261] [2022-04-15 12:01:46,636 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1578096261] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 12:01:46,636 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 12:01:46,636 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 12:01:46,636 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [508783070] [2022-04-15 12:01:46,636 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 12:01:46,637 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-15 12:01:46,637 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 12:01:46,637 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-15 12:01:46,662 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-15 12:01:46,662 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 12:01:46,663 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 12:01:46,663 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 12:01:46,663 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=37, Invalid=95, Unknown=0, NotChecked=0, Total=132 [2022-04-15 12:01:46,663 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-15 12:01:47,441 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:01:47,441 INFO L93 Difference]: Finished difference Result 178 states and 225 transitions. [2022-04-15 12:01:47,441 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-15 12:01:47,441 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-15 12:01:47,441 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 12:01:47,442 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-15 12:01:47,444 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 111 transitions. [2022-04-15 12:01:47,444 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-15 12:01:47,445 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 111 transitions. [2022-04-15 12:01:47,446 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 111 transitions. [2022-04-15 12:01:47,547 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-15 12:01:47,550 INFO L225 Difference]: With dead ends: 178 [2022-04-15 12:01:47,551 INFO L226 Difference]: Without dead ends: 148 [2022-04-15 12:01:47,551 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-15 12:01:47,552 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-15 12:01:47,552 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-15 12:01:47,553 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 148 states. [2022-04-15 12:01:47,643 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 148 to 87. [2022-04-15 12:01:47,643 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 12:01:47,644 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-15 12:01:47,644 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-15 12:01:47,644 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-15 12:01:47,651 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:01:47,651 INFO L93 Difference]: Finished difference Result 148 states and 189 transitions. [2022-04-15 12:01:47,651 INFO L276 IsEmpty]: Start isEmpty. Operand 148 states and 189 transitions. [2022-04-15 12:01:47,651 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:01:47,652 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:01:47,652 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-15 12:01:47,652 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-15 12:01:47,658 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:01:47,658 INFO L93 Difference]: Finished difference Result 148 states and 189 transitions. [2022-04-15 12:01:47,659 INFO L276 IsEmpty]: Start isEmpty. Operand 148 states and 189 transitions. [2022-04-15 12:01:47,659 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:01:47,659 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:01:47,659 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 12:01:47,659 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 12:01:47,660 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-15 12:01:47,662 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 87 states to 87 states and 110 transitions. [2022-04-15 12:01:47,663 INFO L78 Accepts]: Start accepts. Automaton has 87 states and 110 transitions. Word has length 28 [2022-04-15 12:01:47,663 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 12:01:47,663 INFO L478 AbstractCegarLoop]: Abstraction has 87 states and 110 transitions. [2022-04-15 12:01:47,663 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-15 12:01:47,663 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 87 states and 110 transitions. [2022-04-15 12:01:47,813 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-15 12:01:47,814 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 110 transitions. [2022-04-15 12:01:47,814 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2022-04-15 12:01:47,814 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 12:01:47,814 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-15 12:01:47,831 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Ended with exit code 0 [2022-04-15 12:01:48,015 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-15 12:01:48,015 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 12:01:48,016 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 12:01:48,016 INFO L85 PathProgramCache]: Analyzing trace with hash 777875589, now seen corresponding path program 1 times [2022-04-15 12:01:48,016 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 12:01:48,016 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [831423763] [2022-04-15 12:01:48,018 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-15 12:01:48,018 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 12:01:48,018 INFO L85 PathProgramCache]: Analyzing trace with hash 777875589, now seen corresponding path program 2 times [2022-04-15 12:01:48,018 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 12:01:48,018 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [300738503] [2022-04-15 12:01:48,019 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 12:01:48,019 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 12:01:48,106 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:48,496 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 12:01:48,498 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:48,504 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-15 12:01:48,504 INFO L290 TraceCheckUtils]: 1: Hoare triple {3437#true} assume true; {3437#true} is VALID [2022-04-15 12:01:48,505 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {3437#true} {3437#true} #123#return; {3437#true} is VALID [2022-04-15 12:01:48,505 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-15 12:01:48,505 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-15 12:01:48,505 INFO L290 TraceCheckUtils]: 2: Hoare triple {3437#true} assume true; {3437#true} is VALID [2022-04-15 12:01:48,506 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3437#true} {3437#true} #123#return; {3437#true} is VALID [2022-04-15 12:01:48,506 INFO L272 TraceCheckUtils]: 4: Hoare triple {3437#true} call #t~ret22 := main(); {3437#true} is VALID [2022-04-15 12:01:48,506 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-15 12:01:48,506 INFO L290 TraceCheckUtils]: 6: Hoare triple {3437#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {3437#true} is VALID [2022-04-15 12:01:48,509 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-15 12:01:48,510 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-15 12:01:48,511 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-15 12:01:48,511 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-15 12:01:48,512 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-15 12:01:48,512 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-15 12:01:48,513 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-15 12:01:48,514 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-15 12:01:48,515 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-15 12:01:48,515 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-15 12:01:48,516 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-15 12:01:48,516 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-15 12:01:48,517 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-15 12:01:48,517 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-15 12:01:48,518 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-15 12:01:48,518 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-15 12:01:48,519 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-15 12:01:48,519 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-15 12:01:48,520 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-15 12:01:48,520 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-15 12:01:48,521 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-15 12:01:48,521 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-15 12:01:48,522 INFO L290 TraceCheckUtils]: 29: Hoare triple {3452#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {3438#false} is VALID [2022-04-15 12:01:48,522 INFO L290 TraceCheckUtils]: 30: Hoare triple {3438#false} assume !false; {3438#false} is VALID [2022-04-15 12:01:48,522 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-15 12:01:48,522 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 12:01:48,523 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [300738503] [2022-04-15 12:01:48,523 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [300738503] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 12:01:48,523 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1417654691] [2022-04-15 12:01:48,523 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 12:01:48,523 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 12:01:48,523 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 12:01:48,527 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-15 12:01:48,529 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-15 12:01:48,624 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 12:01:48,624 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 12:01:48,626 INFO L263 TraceCheckSpWp]: Trace formula consists of 307 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-15 12:01:48,640 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:48,641 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 12:01:48,714 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-15 12:01:48,880 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-15 12:01:49,213 INFO L356 Elim1Store]: treesize reduction 25, result has 21.9 percent of original size [2022-04-15 12:01:49,214 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-15 12:01:50,031 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-15 12:01:50,124 INFO L272 TraceCheckUtils]: 0: Hoare triple {3437#true} call ULTIMATE.init(); {3437#true} is VALID [2022-04-15 12:01:50,124 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-15 12:01:50,124 INFO L290 TraceCheckUtils]: 2: Hoare triple {3437#true} assume true; {3437#true} is VALID [2022-04-15 12:01:50,124 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3437#true} {3437#true} #123#return; {3437#true} is VALID [2022-04-15 12:01:50,125 INFO L272 TraceCheckUtils]: 4: Hoare triple {3437#true} call #t~ret22 := main(); {3437#true} is VALID [2022-04-15 12:01:50,125 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-15 12:01:50,125 INFO L290 TraceCheckUtils]: 6: Hoare triple {3437#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {3437#true} is VALID [2022-04-15 12:01:50,127 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-15 12:01:50,128 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-15 12:01:50,128 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-15 12:01:50,129 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-15 12:01:50,129 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-15 12:01:50,130 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-15 12:01:50,130 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-15 12:01:50,131 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-15 12:01:50,132 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-15 12:01:50,133 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-15 12:01:50,137 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-15 12:01:50,138 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-15 12:01:50,139 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-15 12:01:50,140 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-15 12:01:50,141 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-15 12:01:50,141 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-15 12:01:50,142 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-15 12:01:50,143 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-15 12:01:50,144 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-15 12:01:50,144 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-15 12:01:50,145 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-15 12:01:50,146 INFO L290 TraceCheckUtils]: 28: Hoare triple {3545#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3549#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 12:01:50,146 INFO L290 TraceCheckUtils]: 29: Hoare triple {3549#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3438#false} is VALID [2022-04-15 12:01:50,146 INFO L290 TraceCheckUtils]: 30: Hoare triple {3438#false} assume !false; {3438#false} is VALID [2022-04-15 12:01:50,146 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-15 12:01:50,146 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 12:01:52,479 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-15 12:01:53,182 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-15 12:01:54,250 WARN L833 $PredicateComparison]: unable to prove that (forall ((v_main_~x~0_9 Int) (v_ArrVal_192 Int) (v_ArrVal_191 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_191))) (or (<= 0 (select (store .cse0 (+ (* v_main_~x~0_9 4) |c_main_~#distance~0.offset|) v_ArrVal_192) |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_~#Dest~0.offset|) v_main_~x~0_9)) (not (<= 0 v_ArrVal_191))))) is different from false [2022-04-15 12:01:55,425 INFO L290 TraceCheckUtils]: 30: Hoare triple {3438#false} assume !false; {3438#false} is VALID [2022-04-15 12:01:55,426 INFO L290 TraceCheckUtils]: 29: Hoare triple {3549#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3438#false} is VALID [2022-04-15 12:01:55,426 INFO L290 TraceCheckUtils]: 28: Hoare triple {3545#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3549#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 12:01:55,427 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-15 12:01:55,427 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-15 12:01:55,428 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-15 12:01:55,428 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-15 12:01:55,428 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-15 12:01:55,429 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-15 12:01:55,429 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-15 12:01:55,430 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-15 12:01:55,430 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-15 12:01:55,431 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-15 12:01:55,431 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-15 12:01:55,431 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-15 12:01:55,432 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-15 12:01:55,434 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-15 12:01:55,435 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-15 12:01:55,437 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-15 12:01:55,441 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-15 12:01:55,442 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-15 12:01:55,444 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-15 12:01:55,444 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-15 12:01:55,448 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-15 12:01:55,448 INFO L290 TraceCheckUtils]: 6: Hoare triple {3437#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {3437#true} is VALID [2022-04-15 12:01:55,448 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-15 12:01:55,448 INFO L272 TraceCheckUtils]: 4: Hoare triple {3437#true} call #t~ret22 := main(); {3437#true} is VALID [2022-04-15 12:01:55,449 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3437#true} {3437#true} #123#return; {3437#true} is VALID [2022-04-15 12:01:55,449 INFO L290 TraceCheckUtils]: 2: Hoare triple {3437#true} assume true; {3437#true} is VALID [2022-04-15 12:01:55,449 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-15 12:01:55,449 INFO L272 TraceCheckUtils]: 0: Hoare triple {3437#true} call ULTIMATE.init(); {3437#true} is VALID [2022-04-15 12:01:55,449 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-15 12:01:55,449 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1417654691] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 12:01:55,450 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 12:01:55,450 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 11, 11] total 29 [2022-04-15 12:01:55,450 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 12:01:55,450 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [831423763] [2022-04-15 12:01:55,450 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [831423763] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 12:01:55,450 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 12:01:55,450 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-15 12:01:55,450 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [920808890] [2022-04-15 12:01:55,450 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 12:01:55,451 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-15 12:01:55,451 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 12:01:55,451 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-15 12:01:55,480 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-15 12:01:55,481 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-15 12:01:55,481 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 12:01:55,481 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-15 12:01:55,482 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=103, Invalid=556, Unknown=3, NotChecked=150, Total=812 [2022-04-15 12:01:55,482 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-15 12:01:57,745 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:01:57,745 INFO L93 Difference]: Finished difference Result 177 states and 227 transitions. [2022-04-15 12:01:57,746 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-15 12:01:57,746 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-15 12:01:57,746 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 12:01:57,746 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-15 12:01:57,748 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 140 transitions. [2022-04-15 12:01:57,749 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-15 12:01:57,751 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 140 transitions. [2022-04-15 12:01:57,751 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 140 transitions. [2022-04-15 12:01:57,963 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-15 12:01:57,966 INFO L225 Difference]: With dead ends: 177 [2022-04-15 12:01:57,966 INFO L226 Difference]: Without dead ends: 175 [2022-04-15 12:01:57,967 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 89 GetRequests, 48 SyntacticMatches, 1 SemanticMatches, 40 ConstructedPredicates, 3 IntricatePredicates, 0 DeprecatedPredicates, 311 ImplicationChecksByTransitivity, 3.8s TimeCoverageRelationStatistics Valid=297, Invalid=1194, Unknown=3, NotChecked=228, Total=1722 [2022-04-15 12:01:57,967 INFO L913 BasicCegarLoop]: 26 mSDtfsCounter, 187 mSDsluCounter, 33 mSDsCounter, 0 mSdLazyCounter, 411 mSolverCounterSat, 81 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s 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.7s IncrementalHoareTripleChecker+Time [2022-04-15 12:01:57,968 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.7s Time] [2022-04-15 12:01:57,968 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 175 states. [2022-04-15 12:01:58,165 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 175 to 89. [2022-04-15 12:01:58,165 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 12:01:58,166 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-15 12:01:58,166 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-15 12:01:58,166 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-15 12:01:58,171 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:01:58,171 INFO L93 Difference]: Finished difference Result 175 states and 225 transitions. [2022-04-15 12:01:58,171 INFO L276 IsEmpty]: Start isEmpty. Operand 175 states and 225 transitions. [2022-04-15 12:01:58,171 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:01:58,172 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:01:58,172 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-15 12:01:58,172 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-15 12:01:58,194 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:01:58,194 INFO L93 Difference]: Finished difference Result 175 states and 225 transitions. [2022-04-15 12:01:58,194 INFO L276 IsEmpty]: Start isEmpty. Operand 175 states and 225 transitions. [2022-04-15 12:01:58,194 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:01:58,195 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:01:58,195 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 12:01:58,195 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 12:01:58,195 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-15 12:01:58,197 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 89 states to 89 states and 114 transitions. [2022-04-15 12:01:58,197 INFO L78 Accepts]: Start accepts. Automaton has 89 states and 114 transitions. Word has length 31 [2022-04-15 12:01:58,198 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 12:01:58,198 INFO L478 AbstractCegarLoop]: Abstraction has 89 states and 114 transitions. [2022-04-15 12:01:58,198 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-15 12:01:58,198 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 89 states and 114 transitions. [2022-04-15 12:01:58,399 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-15 12:01:58,399 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 114 transitions. [2022-04-15 12:01:58,400 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2022-04-15 12:01:58,400 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 12:01:58,400 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-15 12:01:58,428 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-15 12:01:58,600 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-15 12:01:58,601 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 12:01:58,601 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 12:01:58,601 INFO L85 PathProgramCache]: Analyzing trace with hash 1819082994, now seen corresponding path program 3 times [2022-04-15 12:01:58,601 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 12:01:58,601 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1677327304] [2022-04-15 12:01:58,606 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-15 12:01:58,607 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 12:01:58,607 INFO L85 PathProgramCache]: Analyzing trace with hash 1819082994, now seen corresponding path program 4 times [2022-04-15 12:01:58,607 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 12:01:58,607 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [246125526] [2022-04-15 12:01:58,607 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 12:01:58,607 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 12:01:58,666 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:58,841 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 12:01:58,860 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:58,865 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-15 12:01:58,865 INFO L290 TraceCheckUtils]: 1: Hoare triple {4562#true} assume true; {4562#true} is VALID [2022-04-15 12:01:58,865 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {4562#true} {4562#true} #123#return; {4562#true} is VALID [2022-04-15 12:01:58,866 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-15 12:01:58,866 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-15 12:01:58,866 INFO L290 TraceCheckUtils]: 2: Hoare triple {4562#true} assume true; {4562#true} is VALID [2022-04-15 12:01:58,866 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4562#true} {4562#true} #123#return; {4562#true} is VALID [2022-04-15 12:01:58,866 INFO L272 TraceCheckUtils]: 4: Hoare triple {4562#true} call #t~ret22 := main(); {4562#true} is VALID [2022-04-15 12:01:58,867 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-15 12:01:58,867 INFO L290 TraceCheckUtils]: 6: Hoare triple {4562#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {4562#true} is VALID [2022-04-15 12:01:58,884 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-15 12:01:58,884 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-15 12:01:58,885 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-15 12:01:58,886 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-15 12:01:58,886 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-15 12:01:58,887 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-15 12:01:58,887 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-15 12:01:58,888 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-15 12:01:58,888 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-15 12:01:58,889 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-15 12:01:58,889 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-15 12:01:58,889 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-15 12:01:58,890 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-15 12:01:58,890 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-15 12:01:58,891 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-15 12:01:58,891 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-15 12:01:58,892 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-15 12:01:58,892 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-15 12:01:58,893 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-15 12:01:58,893 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-15 12:01:58,894 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-15 12:01:58,894 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-15 12:01:58,895 INFO L290 TraceCheckUtils]: 29: Hoare triple {4574#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {4563#false} is VALID [2022-04-15 12:01:58,895 INFO L290 TraceCheckUtils]: 30: Hoare triple {4563#false} assume !false; {4563#false} is VALID [2022-04-15 12:01:58,895 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-15 12:01:58,895 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 12:01:58,895 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [246125526] [2022-04-15 12:01:58,896 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [246125526] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 12:01:58,896 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [458562246] [2022-04-15 12:01:58,896 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 12:01:58,896 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 12:01:58,896 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 12:01:58,897 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-15 12:01:58,898 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-15 12:01:58,950 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 12:01:58,951 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 12:01:58,951 INFO L263 TraceCheckSpWp]: Trace formula consists of 76 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-15 12:01:58,968 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:58,969 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 12:01:59,036 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-15 12:01:59,126 INFO L356 Elim1Store]: treesize reduction 40, result has 23.1 percent of original size [2022-04-15 12:01:59,127 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-15 12:02:00,786 INFO L356 Elim1Store]: treesize reduction 10, result has 23.1 percent of original size [2022-04-15 12:02:00,787 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-15 12:02:00,913 INFO L272 TraceCheckUtils]: 0: Hoare triple {4562#true} call ULTIMATE.init(); {4562#true} is VALID [2022-04-15 12:02:00,913 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-15 12:02:00,913 INFO L290 TraceCheckUtils]: 2: Hoare triple {4562#true} assume true; {4562#true} is VALID [2022-04-15 12:02:00,913 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4562#true} {4562#true} #123#return; {4562#true} is VALID [2022-04-15 12:02:00,918 INFO L272 TraceCheckUtils]: 4: Hoare triple {4562#true} call #t~ret22 := main(); {4562#true} is VALID [2022-04-15 12:02:00,919 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-15 12:02:00,919 INFO L290 TraceCheckUtils]: 6: Hoare triple {4562#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {4562#true} is VALID [2022-04-15 12:02:00,919 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-15 12:02:00,919 INFO L290 TraceCheckUtils]: 8: Hoare triple {4562#true} assume !!(~i~0 < ~nodecount~0); {4562#true} is VALID [2022-04-15 12:02:00,920 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-15 12:02:00,921 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-15 12:02:00,921 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-15 12:02:00,922 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-15 12:02:00,926 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-15 12:02:00,932 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-15 12:02:00,933 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-15 12:02:00,933 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-15 12:02:00,934 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-15 12:02:00,936 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-15 12:02:00,937 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-15 12:02:00,937 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-15 12:02:00,938 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-15 12:02:00,942 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-15 12:02:00,943 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-15 12:02:00,943 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-15 12:02:00,944 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-15 12:02:00,945 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-15 12:02:00,946 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-15 12:02:00,946 INFO L290 TraceCheckUtils]: 28: Hoare triple {4672#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4676#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 12:02:00,946 INFO L290 TraceCheckUtils]: 29: Hoare triple {4676#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4563#false} is VALID [2022-04-15 12:02:00,947 INFO L290 TraceCheckUtils]: 30: Hoare triple {4563#false} assume !false; {4563#false} is VALID [2022-04-15 12:02:00,947 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-15 12:02:00,947 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 12:02:01,739 INFO L290 TraceCheckUtils]: 30: Hoare triple {4563#false} assume !false; {4563#false} is VALID [2022-04-15 12:02:01,739 INFO L290 TraceCheckUtils]: 29: Hoare triple {4676#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4563#false} is VALID [2022-04-15 12:02:01,740 INFO L290 TraceCheckUtils]: 28: Hoare triple {4672#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4676#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 12:02:01,740 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-15 12:02:01,741 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-15 12:02:01,741 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-15 12:02:01,742 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-15 12:02:01,742 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-15 12:02:01,742 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-15 12:02:01,743 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-15 12:02:01,744 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-15 12:02:01,744 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-15 12:02:01,745 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-15 12:02:01,745 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-15 12:02:01,746 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-15 12:02:01,747 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-15 12:02:01,781 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-15 12:02:01,797 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-15 12:02:01,815 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-15 12:02:01,824 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-15 12:02:01,825 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-15 12:02:01,825 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-15 12:02:01,825 INFO L290 TraceCheckUtils]: 8: Hoare triple {4562#true} assume !!(~i~0 < ~nodecount~0); {4562#true} is VALID [2022-04-15 12:02:01,825 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-15 12:02:01,827 INFO L290 TraceCheckUtils]: 6: Hoare triple {4562#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {4562#true} is VALID [2022-04-15 12:02:01,827 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-15 12:02:01,827 INFO L272 TraceCheckUtils]: 4: Hoare triple {4562#true} call #t~ret22 := main(); {4562#true} is VALID [2022-04-15 12:02:01,827 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4562#true} {4562#true} #123#return; {4562#true} is VALID [2022-04-15 12:02:01,827 INFO L290 TraceCheckUtils]: 2: Hoare triple {4562#true} assume true; {4562#true} is VALID [2022-04-15 12:02:01,827 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-15 12:02:01,827 INFO L272 TraceCheckUtils]: 0: Hoare triple {4562#true} call ULTIMATE.init(); {4562#true} is VALID [2022-04-15 12:02:01,828 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-15 12:02:01,828 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [458562246] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 12:02:01,828 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 12:02:01,828 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 16, 16] total 35 [2022-04-15 12:02:01,828 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 12:02:01,828 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1677327304] [2022-04-15 12:02:01,828 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1677327304] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 12:02:01,829 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 12:02:01,829 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-15 12:02:01,829 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [911769131] [2022-04-15 12:02:01,829 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 12:02:01,830 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-15 12:02:01,830 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 12:02:01,830 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-15 12:02:01,854 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-15 12:02:01,854 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-15 12:02:01,854 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 12:02:01,855 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-15 12:02:01,856 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=195, Invalid=995, Unknown=0, NotChecked=0, Total=1190 [2022-04-15 12:02:01,856 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-15 12:02:03,658 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:03,659 INFO L93 Difference]: Finished difference Result 218 states and 287 transitions. [2022-04-15 12:02:03,659 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-15 12:02:03,659 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-15 12:02:03,659 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 12:02:03,660 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-15 12:02:03,661 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 120 transitions. [2022-04-15 12:02:03,661 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-15 12:02:03,663 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 120 transitions. [2022-04-15 12:02:03,683 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 120 transitions. [2022-04-15 12:02:03,834 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-15 12:02:03,839 INFO L225 Difference]: With dead ends: 218 [2022-04-15 12:02:03,839 INFO L226 Difference]: Without dead ends: 216 [2022-04-15 12:02:03,840 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 83 GetRequests, 38 SyntacticMatches, 2 SemanticMatches, 43 ConstructedPredicates, 0 IntricatePredicates, 1 DeprecatedPredicates, 489 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=337, Invalid=1643, Unknown=0, NotChecked=0, Total=1980 [2022-04-15 12:02:03,840 INFO L913 BasicCegarLoop]: 28 mSDtfsCounter, 121 mSDsluCounter, 38 mSDsCounter, 0 mSdLazyCounter, 419 mSolverCounterSat, 48 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s 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.6s IncrementalHoareTripleChecker+Time [2022-04-15 12:02:03,840 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.6s Time] [2022-04-15 12:02:03,841 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 216 states. [2022-04-15 12:02:04,029 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 216 to 112. [2022-04-15 12:02:04,030 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 12:02:04,030 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-15 12:02:04,030 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-15 12:02:04,031 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-15 12:02:04,037 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:04,037 INFO L93 Difference]: Finished difference Result 216 states and 285 transitions. [2022-04-15 12:02:04,037 INFO L276 IsEmpty]: Start isEmpty. Operand 216 states and 285 transitions. [2022-04-15 12:02:04,038 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:02:04,038 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:02:04,038 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-15 12:02:04,038 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-15 12:02:04,044 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:04,044 INFO L93 Difference]: Finished difference Result 216 states and 285 transitions. [2022-04-15 12:02:04,045 INFO L276 IsEmpty]: Start isEmpty. Operand 216 states and 285 transitions. [2022-04-15 12:02:04,045 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:02:04,045 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:02:04,045 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 12:02:04,045 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 12:02:04,046 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-15 12:02:04,049 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 112 states to 112 states and 148 transitions. [2022-04-15 12:02:04,049 INFO L78 Accepts]: Start accepts. Automaton has 112 states and 148 transitions. Word has length 31 [2022-04-15 12:02:04,049 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 12:02:04,049 INFO L478 AbstractCegarLoop]: Abstraction has 112 states and 148 transitions. [2022-04-15 12:02:04,049 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-15 12:02:04,049 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 112 states and 148 transitions. [2022-04-15 12:02:04,318 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-15 12:02:04,318 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 148 transitions. [2022-04-15 12:02:04,319 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-15 12:02:04,319 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 12:02:04,319 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-15 12:02:04,346 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-15 12:02:04,519 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-15 12:02:04,520 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 12:02:04,520 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 12:02:04,520 INFO L85 PathProgramCache]: Analyzing trace with hash -12240024, now seen corresponding path program 1 times [2022-04-15 12:02:04,520 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 12:02:04,520 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1356845426] [2022-04-15 12:02:04,523 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-15 12:02:04,524 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 12:02:04,524 INFO L85 PathProgramCache]: Analyzing trace with hash -12240024, now seen corresponding path program 2 times [2022-04-15 12:02:04,524 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 12:02:04,524 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [303163791] [2022-04-15 12:02:04,524 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 12:02:04,524 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 12:02:04,542 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:04,652 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 12:02:04,654 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:04,659 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-15 12:02:04,659 INFO L290 TraceCheckUtils]: 1: Hoare triple {5897#true} assume true; {5897#true} is VALID [2022-04-15 12:02:04,660 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {5897#true} {5897#true} #123#return; {5897#true} is VALID [2022-04-15 12:02:04,660 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 21 [2022-04-15 12:02:04,661 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:04,669 INFO L290 TraceCheckUtils]: 0: Hoare triple {5897#true} ~cond := #in~cond; {5897#true} is VALID [2022-04-15 12:02:04,669 INFO L290 TraceCheckUtils]: 1: Hoare triple {5897#true} assume !(0 == ~cond); {5897#true} is VALID [2022-04-15 12:02:04,670 INFO L290 TraceCheckUtils]: 2: Hoare triple {5897#true} assume true; {5897#true} is VALID [2022-04-15 12:02:04,670 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-15 12:02:04,671 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-15 12:02:04,671 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-15 12:02:04,671 INFO L290 TraceCheckUtils]: 2: Hoare triple {5897#true} assume true; {5897#true} is VALID [2022-04-15 12:02:04,671 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5897#true} {5897#true} #123#return; {5897#true} is VALID [2022-04-15 12:02:04,671 INFO L272 TraceCheckUtils]: 4: Hoare triple {5897#true} call #t~ret22 := main(); {5897#true} is VALID [2022-04-15 12:02:04,671 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-15 12:02:04,671 INFO L290 TraceCheckUtils]: 6: Hoare triple {5897#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {5897#true} is VALID [2022-04-15 12:02:04,672 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-15 12:02:04,673 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-15 12:02:04,673 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-15 12:02:04,674 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-15 12:02:04,674 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-15 12:02:04,675 INFO L290 TraceCheckUtils]: 12: Hoare triple {5904#(<= main_~nodecount~0 1)} ~i~0 := 0; {5904#(<= main_~nodecount~0 1)} is VALID [2022-04-15 12:02:04,675 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-15 12:02:04,675 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-15 12:02:04,676 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-15 12:02:04,676 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-15 12:02:04,676 INFO L290 TraceCheckUtils]: 17: Hoare triple {5904#(<= main_~nodecount~0 1)} ~i~0 := 0; {5904#(<= main_~nodecount~0 1)} is VALID [2022-04-15 12:02:04,676 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-15 12:02:04,677 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-15 12:02:04,677 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-15 12:02:04,677 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-15 12:02:04,678 INFO L290 TraceCheckUtils]: 22: Hoare triple {5897#true} ~cond := #in~cond; {5897#true} is VALID [2022-04-15 12:02:04,678 INFO L290 TraceCheckUtils]: 23: Hoare triple {5897#true} assume !(0 == ~cond); {5897#true} is VALID [2022-04-15 12:02:04,678 INFO L290 TraceCheckUtils]: 24: Hoare triple {5897#true} assume true; {5897#true} is VALID [2022-04-15 12:02:04,678 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-15 12:02:04,679 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-15 12:02:04,679 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-15 12:02:04,680 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-15 12:02:04,680 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-15 12:02:04,680 INFO L290 TraceCheckUtils]: 30: Hoare triple {5898#false} ~cond := #in~cond; {5898#false} is VALID [2022-04-15 12:02:04,680 INFO L290 TraceCheckUtils]: 31: Hoare triple {5898#false} assume 0 == ~cond; {5898#false} is VALID [2022-04-15 12:02:04,680 INFO L290 TraceCheckUtils]: 32: Hoare triple {5898#false} assume !false; {5898#false} is VALID [2022-04-15 12:02:04,680 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-15 12:02:04,680 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 12:02:04,680 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [303163791] [2022-04-15 12:02:04,681 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [303163791] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 12:02:04,681 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1283598231] [2022-04-15 12:02:04,681 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 12:02:04,681 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 12:02:04,681 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 12:02:04,682 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-15 12:02:04,683 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-15 12:02:04,780 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 12:02:04,780 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 12:02:04,781 INFO L263 TraceCheckSpWp]: Trace formula consists of 290 conjuncts, 6 conjunts are in the unsatisfiable core [2022-04-15 12:02:04,791 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:04,792 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 12:02:05,000 INFO L272 TraceCheckUtils]: 0: Hoare triple {5897#true} call ULTIMATE.init(); {5897#true} is VALID [2022-04-15 12:02:05,001 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-15 12:02:05,001 INFO L290 TraceCheckUtils]: 2: Hoare triple {5897#true} assume true; {5897#true} is VALID [2022-04-15 12:02:05,001 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5897#true} {5897#true} #123#return; {5897#true} is VALID [2022-04-15 12:02:05,001 INFO L272 TraceCheckUtils]: 4: Hoare triple {5897#true} call #t~ret22 := main(); {5897#true} is VALID [2022-04-15 12:02:05,001 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-15 12:02:05,001 INFO L290 TraceCheckUtils]: 6: Hoare triple {5897#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {5897#true} is VALID [2022-04-15 12:02:05,004 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-15 12:02:05,004 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-15 12:02:05,004 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-15 12:02:05,005 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-15 12:02:05,005 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-15 12:02:05,006 INFO L290 TraceCheckUtils]: 12: Hoare triple {5904#(<= main_~nodecount~0 1)} ~i~0 := 0; {5904#(<= main_~nodecount~0 1)} is VALID [2022-04-15 12:02:05,006 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-15 12:02:05,007 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-15 12:02:05,007 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-15 12:02:05,007 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-15 12:02:05,008 INFO L290 TraceCheckUtils]: 17: Hoare triple {5904#(<= main_~nodecount~0 1)} ~i~0 := 0; {5904#(<= main_~nodecount~0 1)} is VALID [2022-04-15 12:02:05,008 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-15 12:02:05,009 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-15 12:02:05,009 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-15 12:02:05,009 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-15 12:02:05,009 INFO L290 TraceCheckUtils]: 22: Hoare triple {5897#true} ~cond := #in~cond; {5897#true} is VALID [2022-04-15 12:02:05,009 INFO L290 TraceCheckUtils]: 23: Hoare triple {5897#true} assume !(0 == ~cond); {5897#true} is VALID [2022-04-15 12:02:05,009 INFO L290 TraceCheckUtils]: 24: Hoare triple {5897#true} assume true; {5897#true} is VALID [2022-04-15 12:02:05,010 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-15 12:02:05,011 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-15 12:02:05,011 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-15 12:02:05,012 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-15 12:02:05,012 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-15 12:02:05,012 INFO L290 TraceCheckUtils]: 30: Hoare triple {5898#false} ~cond := #in~cond; {5898#false} is VALID [2022-04-15 12:02:05,012 INFO L290 TraceCheckUtils]: 31: Hoare triple {5898#false} assume 0 == ~cond; {5898#false} is VALID [2022-04-15 12:02:05,012 INFO L290 TraceCheckUtils]: 32: Hoare triple {5898#false} assume !false; {5898#false} is VALID [2022-04-15 12:02:05,012 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-15 12:02:05,012 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 12:02:05,182 INFO L290 TraceCheckUtils]: 32: Hoare triple {5898#false} assume !false; {5898#false} is VALID [2022-04-15 12:02:05,182 INFO L290 TraceCheckUtils]: 31: Hoare triple {5898#false} assume 0 == ~cond; {5898#false} is VALID [2022-04-15 12:02:05,183 INFO L290 TraceCheckUtils]: 30: Hoare triple {5898#false} ~cond := #in~cond; {5898#false} is VALID [2022-04-15 12:02:05,183 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-15 12:02:05,183 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-15 12:02:05,184 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-15 12:02:05,184 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-15 12:02:05,185 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-15 12:02:05,185 INFO L290 TraceCheckUtils]: 24: Hoare triple {5897#true} assume true; {5897#true} is VALID [2022-04-15 12:02:05,185 INFO L290 TraceCheckUtils]: 23: Hoare triple {5897#true} assume !(0 == ~cond); {5897#true} is VALID [2022-04-15 12:02:05,185 INFO L290 TraceCheckUtils]: 22: Hoare triple {5897#true} ~cond := #in~cond; {5897#true} is VALID [2022-04-15 12:02:05,185 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-15 12:02:05,186 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-15 12:02:05,186 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-15 12:02:05,186 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-15 12:02:05,187 INFO L290 TraceCheckUtils]: 17: Hoare triple {5904#(<= main_~nodecount~0 1)} ~i~0 := 0; {5904#(<= main_~nodecount~0 1)} is VALID [2022-04-15 12:02:05,187 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-15 12:02:05,187 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-15 12:02:05,188 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-15 12:02:05,188 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-15 12:02:05,188 INFO L290 TraceCheckUtils]: 12: Hoare triple {5904#(<= main_~nodecount~0 1)} ~i~0 := 0; {5904#(<= main_~nodecount~0 1)} is VALID [2022-04-15 12:02:05,189 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-15 12:02:05,189 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-15 12:02:05,190 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-15 12:02:05,190 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-15 12:02:05,192 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-15 12:02:05,192 INFO L290 TraceCheckUtils]: 6: Hoare triple {5897#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {5897#true} is VALID [2022-04-15 12:02:05,192 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-15 12:02:05,193 INFO L272 TraceCheckUtils]: 4: Hoare triple {5897#true} call #t~ret22 := main(); {5897#true} is VALID [2022-04-15 12:02:05,193 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5897#true} {5897#true} #123#return; {5897#true} is VALID [2022-04-15 12:02:05,194 INFO L290 TraceCheckUtils]: 2: Hoare triple {5897#true} assume true; {5897#true} is VALID [2022-04-15 12:02:05,194 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-15 12:02:05,194 INFO L272 TraceCheckUtils]: 0: Hoare triple {5897#true} call ULTIMATE.init(); {5897#true} is VALID [2022-04-15 12:02:05,194 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-15 12:02:05,194 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1283598231] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 12:02:05,194 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 12:02:05,194 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 7, 7] total 12 [2022-04-15 12:02:05,195 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 12:02:05,195 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1356845426] [2022-04-15 12:02:05,195 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1356845426] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 12:02:05,195 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 12:02:05,195 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 12:02:05,195 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [996740333] [2022-04-15 12:02:05,195 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 12:02:05,196 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-15 12:02:05,196 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 12:02:05,196 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-15 12:02:05,225 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-15 12:02:05,225 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 12:02:05,225 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 12:02:05,226 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 12:02:05,226 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=37, Invalid=95, Unknown=0, NotChecked=0, Total=132 [2022-04-15 12:02:05,226 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-15 12:02:06,537 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:06,537 INFO L93 Difference]: Finished difference Result 254 states and 333 transitions. [2022-04-15 12:02:06,537 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-15 12:02:06,538 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-15 12:02:06,538 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 12:02:06,538 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-15 12:02:06,542 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 136 transitions. [2022-04-15 12:02:06,543 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-15 12:02:06,553 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 136 transitions. [2022-04-15 12:02:06,553 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 136 transitions. [2022-04-15 12:02:06,684 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-15 12:02:06,690 INFO L225 Difference]: With dead ends: 254 [2022-04-15 12:02:06,690 INFO L226 Difference]: Without dead ends: 185 [2022-04-15 12:02:06,690 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-15 12:02:06,699 INFO L913 BasicCegarLoop]: 26 mSDtfsCounter, 165 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 170 mSolverCounterSat, 66 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s 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.3s IncrementalHoareTripleChecker+Time [2022-04-15 12:02:06,700 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.3s Time] [2022-04-15 12:02:06,700 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 185 states. [2022-04-15 12:02:07,008 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 185 to 131. [2022-04-15 12:02:07,008 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 12:02:07,009 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-15 12:02:07,012 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-15 12:02:07,019 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-15 12:02:07,023 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:07,024 INFO L93 Difference]: Finished difference Result 185 states and 243 transitions. [2022-04-15 12:02:07,024 INFO L276 IsEmpty]: Start isEmpty. Operand 185 states and 243 transitions. [2022-04-15 12:02:07,024 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:02:07,024 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:02:07,025 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-15 12:02:07,025 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-15 12:02:07,028 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:07,028 INFO L93 Difference]: Finished difference Result 185 states and 243 transitions. [2022-04-15 12:02:07,029 INFO L276 IsEmpty]: Start isEmpty. Operand 185 states and 243 transitions. [2022-04-15 12:02:07,029 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:02:07,029 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:02:07,029 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 12:02:07,029 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 12:02:07,029 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-15 12:02:07,036 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 131 states to 131 states and 172 transitions. [2022-04-15 12:02:07,036 INFO L78 Accepts]: Start accepts. Automaton has 131 states and 172 transitions. Word has length 33 [2022-04-15 12:02:07,037 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 12:02:07,037 INFO L478 AbstractCegarLoop]: Abstraction has 131 states and 172 transitions. [2022-04-15 12:02:07,037 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-15 12:02:07,037 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 131 states and 172 transitions. [2022-04-15 12:02:07,355 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-15 12:02:07,355 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 172 transitions. [2022-04-15 12:02:07,356 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-15 12:02:07,356 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 12:02:07,356 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-15 12:02:07,383 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-15 12:02:07,556 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-15 12:02:07,557 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 12:02:07,557 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 12:02:07,557 INFO L85 PathProgramCache]: Analyzing trace with hash -1882894858, now seen corresponding path program 3 times [2022-04-15 12:02:07,557 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 12:02:07,557 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [424668635] [2022-04-15 12:02:07,565 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-15 12:02:07,566 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 12:02:07,566 INFO L85 PathProgramCache]: Analyzing trace with hash -1882894858, now seen corresponding path program 4 times [2022-04-15 12:02:07,566 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 12:02:07,566 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1197506172] [2022-04-15 12:02:07,566 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 12:02:07,566 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 12:02:07,620 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:07,679 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 12:02:07,680 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:07,685 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-15 12:02:07,685 INFO L290 TraceCheckUtils]: 1: Hoare triple {7265#true} assume true; {7265#true} is VALID [2022-04-15 12:02:07,685 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {7265#true} {7265#true} #123#return; {7265#true} is VALID [2022-04-15 12:02:07,686 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-15 12:02:07,686 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-15 12:02:07,686 INFO L290 TraceCheckUtils]: 2: Hoare triple {7265#true} assume true; {7265#true} is VALID [2022-04-15 12:02:07,686 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7265#true} {7265#true} #123#return; {7265#true} is VALID [2022-04-15 12:02:07,686 INFO L272 TraceCheckUtils]: 4: Hoare triple {7265#true} call #t~ret22 := main(); {7265#true} is VALID [2022-04-15 12:02:07,686 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-15 12:02:07,686 INFO L290 TraceCheckUtils]: 6: Hoare triple {7265#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {7265#true} is VALID [2022-04-15 12:02:07,687 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-15 12:02:07,687 INFO L290 TraceCheckUtils]: 8: Hoare triple {7265#true} assume !!(~i~0 < ~nodecount~0); {7265#true} is VALID [2022-04-15 12:02:07,687 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-15 12:02:07,687 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-15 12:02:07,687 INFO L290 TraceCheckUtils]: 11: Hoare triple {7265#true} assume !(~i~0 < ~nodecount~0); {7265#true} is VALID [2022-04-15 12:02:07,687 INFO L290 TraceCheckUtils]: 12: Hoare triple {7265#true} ~i~0 := 0; {7265#true} is VALID [2022-04-15 12:02:07,687 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-15 12:02:07,688 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-15 12:02:07,688 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-15 12:02:07,688 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-15 12:02:07,689 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-15 12:02:07,690 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-15 12:02:07,690 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-15 12:02:07,690 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-15 12:02:07,691 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-15 12:02:07,691 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-15 12:02:07,691 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-15 12:02:07,692 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-15 12:02:07,692 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-15 12:02:07,693 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-15 12:02:07,693 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-15 12:02:07,693 INFO L290 TraceCheckUtils]: 28: Hoare triple {7266#false} ~i~0 := 0; {7266#false} is VALID [2022-04-15 12:02:07,693 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-15 12:02:07,694 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-15 12:02:07,694 INFO L290 TraceCheckUtils]: 31: Hoare triple {7266#false} ~cond := #in~cond; {7266#false} is VALID [2022-04-15 12:02:07,695 INFO L290 TraceCheckUtils]: 32: Hoare triple {7266#false} assume 0 == ~cond; {7266#false} is VALID [2022-04-15 12:02:07,695 INFO L290 TraceCheckUtils]: 33: Hoare triple {7266#false} assume !false; {7266#false} is VALID [2022-04-15 12:02:07,695 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-15 12:02:07,695 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 12:02:07,695 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1197506172] [2022-04-15 12:02:07,695 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1197506172] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 12:02:07,695 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [720839844] [2022-04-15 12:02:07,695 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 12:02:07,696 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 12:02:07,696 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 12:02:07,697 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-15 12:02:07,698 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-15 12:02:07,763 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 12:02:07,764 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 12:02:07,765 INFO L263 TraceCheckSpWp]: Trace formula consists of 112 conjuncts, 6 conjunts are in the unsatisfiable core [2022-04-15 12:02:07,775 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:07,777 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 12:02:08,088 INFO L272 TraceCheckUtils]: 0: Hoare triple {7265#true} call ULTIMATE.init(); {7265#true} is VALID [2022-04-15 12:02:08,089 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-15 12:02:08,089 INFO L290 TraceCheckUtils]: 2: Hoare triple {7265#true} assume true; {7265#true} is VALID [2022-04-15 12:02:08,089 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7265#true} {7265#true} #123#return; {7265#true} is VALID [2022-04-15 12:02:08,089 INFO L272 TraceCheckUtils]: 4: Hoare triple {7265#true} call #t~ret22 := main(); {7265#true} is VALID [2022-04-15 12:02:08,089 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-15 12:02:08,089 INFO L290 TraceCheckUtils]: 6: Hoare triple {7265#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {7265#true} is VALID [2022-04-15 12:02:08,089 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-15 12:02:08,089 INFO L290 TraceCheckUtils]: 8: Hoare triple {7265#true} assume !!(~i~0 < ~nodecount~0); {7265#true} is VALID [2022-04-15 12:02:08,089 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-15 12:02:08,090 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-15 12:02:08,090 INFO L290 TraceCheckUtils]: 11: Hoare triple {7265#true} assume !(~i~0 < ~nodecount~0); {7265#true} is VALID [2022-04-15 12:02:08,090 INFO L290 TraceCheckUtils]: 12: Hoare triple {7265#true} ~i~0 := 0; {7265#true} is VALID [2022-04-15 12:02:08,090 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-15 12:02:08,091 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-15 12:02:08,091 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-15 12:02:08,092 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-15 12:02:08,092 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-15 12:02:08,093 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-15 12:02:08,093 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-15 12:02:08,094 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-15 12:02:08,094 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-15 12:02:08,094 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-15 12:02:08,095 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-15 12:02:08,095 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-15 12:02:08,096 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-15 12:02:08,097 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-15 12:02:08,097 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-15 12:02:08,097 INFO L290 TraceCheckUtils]: 28: Hoare triple {7266#false} ~i~0 := 0; {7266#false} is VALID [2022-04-15 12:02:08,097 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-15 12:02:08,098 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-15 12:02:08,098 INFO L290 TraceCheckUtils]: 31: Hoare triple {7266#false} ~cond := #in~cond; {7266#false} is VALID [2022-04-15 12:02:08,098 INFO L290 TraceCheckUtils]: 32: Hoare triple {7266#false} assume 0 == ~cond; {7266#false} is VALID [2022-04-15 12:02:08,098 INFO L290 TraceCheckUtils]: 33: Hoare triple {7266#false} assume !false; {7266#false} is VALID [2022-04-15 12:02:08,098 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-15 12:02:08,098 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 12:02:08,326 INFO L290 TraceCheckUtils]: 33: Hoare triple {7266#false} assume !false; {7266#false} is VALID [2022-04-15 12:02:08,327 INFO L290 TraceCheckUtils]: 32: Hoare triple {7266#false} assume 0 == ~cond; {7266#false} is VALID [2022-04-15 12:02:08,327 INFO L290 TraceCheckUtils]: 31: Hoare triple {7266#false} ~cond := #in~cond; {7266#false} is VALID [2022-04-15 12:02:08,327 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-15 12:02:08,327 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-15 12:02:08,327 INFO L290 TraceCheckUtils]: 28: Hoare triple {7266#false} ~i~0 := 0; {7266#false} is VALID [2022-04-15 12:02:08,328 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-15 12:02:08,329 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-15 12:02:08,329 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-15 12:02:08,330 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-15 12:02:08,330 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-15 12:02:08,331 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-15 12:02:08,331 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-15 12:02:08,331 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-15 12:02:08,332 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-15 12:02:08,332 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-15 12:02:08,333 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-15 12:02:08,334 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-15 12:02:08,334 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-15 12:02:08,334 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-15 12:02:08,335 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-15 12:02:08,335 INFO L290 TraceCheckUtils]: 12: Hoare triple {7265#true} ~i~0 := 0; {7265#true} is VALID [2022-04-15 12:02:08,335 INFO L290 TraceCheckUtils]: 11: Hoare triple {7265#true} assume !(~i~0 < ~nodecount~0); {7265#true} is VALID [2022-04-15 12:02:08,335 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-15 12:02:08,335 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-15 12:02:08,335 INFO L290 TraceCheckUtils]: 8: Hoare triple {7265#true} assume !!(~i~0 < ~nodecount~0); {7265#true} is VALID [2022-04-15 12:02:08,336 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-15 12:02:08,336 INFO L290 TraceCheckUtils]: 6: Hoare triple {7265#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {7265#true} is VALID [2022-04-15 12:02:08,336 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-15 12:02:08,336 INFO L272 TraceCheckUtils]: 4: Hoare triple {7265#true} call #t~ret22 := main(); {7265#true} is VALID [2022-04-15 12:02:08,336 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7265#true} {7265#true} #123#return; {7265#true} is VALID [2022-04-15 12:02:08,336 INFO L290 TraceCheckUtils]: 2: Hoare triple {7265#true} assume true; {7265#true} is VALID [2022-04-15 12:02:08,336 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-15 12:02:08,336 INFO L272 TraceCheckUtils]: 0: Hoare triple {7265#true} call ULTIMATE.init(); {7265#true} is VALID [2022-04-15 12:02:08,337 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-15 12:02:08,337 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [720839844] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 12:02:08,337 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 12:02:08,337 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 7, 7] total 12 [2022-04-15 12:02:08,337 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 12:02:08,337 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [424668635] [2022-04-15 12:02:08,337 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [424668635] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 12:02:08,338 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 12:02:08,338 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 12:02:08,338 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [72545155] [2022-04-15 12:02:08,338 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 12:02:08,338 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-15 12:02:08,338 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 12:02:08,339 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-15 12:02:08,368 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-15 12:02:08,368 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 12:02:08,369 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 12:02:08,369 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 12:02:08,369 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=97, Unknown=0, NotChecked=0, Total=132 [2022-04-15 12:02:08,369 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-15 12:02:09,841 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:09,842 INFO L93 Difference]: Finished difference Result 240 states and 310 transitions. [2022-04-15 12:02:09,842 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-15 12:02:09,842 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-15 12:02:09,842 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 12:02:09,842 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-15 12:02:09,846 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 104 transitions. [2022-04-15 12:02:09,846 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-15 12:02:09,849 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 104 transitions. [2022-04-15 12:02:09,849 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 104 transitions. [2022-04-15 12:02:09,952 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-15 12:02:09,957 INFO L225 Difference]: With dead ends: 240 [2022-04-15 12:02:09,957 INFO L226 Difference]: Without dead ends: 219 [2022-04-15 12:02:09,958 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 84 GetRequests, 64 SyntacticMatches, 2 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 59 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=98, Invalid=282, Unknown=0, NotChecked=0, Total=380 [2022-04-15 12:02:09,958 INFO L913 BasicCegarLoop]: 48 mSDtfsCounter, 120 mSDsluCounter, 22 mSDsCounter, 0 mSdLazyCounter, 232 mSolverCounterSat, 39 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s 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.3s IncrementalHoareTripleChecker+Time [2022-04-15 12:02:09,959 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.3s Time] [2022-04-15 12:02:09,959 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 219 states. [2022-04-15 12:02:10,480 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 219 to 174. [2022-04-15 12:02:10,480 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 12:02:10,481 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-15 12:02:10,482 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-15 12:02:10,482 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-15 12:02:10,506 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:10,506 INFO L93 Difference]: Finished difference Result 219 states and 286 transitions. [2022-04-15 12:02:10,507 INFO L276 IsEmpty]: Start isEmpty. Operand 219 states and 286 transitions. [2022-04-15 12:02:10,507 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:02:10,507 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:02:10,508 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-15 12:02:10,508 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-15 12:02:10,514 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:10,514 INFO L93 Difference]: Finished difference Result 219 states and 286 transitions. [2022-04-15 12:02:10,514 INFO L276 IsEmpty]: Start isEmpty. Operand 219 states and 286 transitions. [2022-04-15 12:02:10,515 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:02:10,515 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:02:10,515 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 12:02:10,515 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 12:02:10,516 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-15 12:02:10,545 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 174 states to 174 states and 229 transitions. [2022-04-15 12:02:10,545 INFO L78 Accepts]: Start accepts. Automaton has 174 states and 229 transitions. Word has length 34 [2022-04-15 12:02:10,545 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 12:02:10,545 INFO L478 AbstractCegarLoop]: Abstraction has 174 states and 229 transitions. [2022-04-15 12:02:10,546 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-15 12:02:10,546 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 174 states and 229 transitions. [2022-04-15 12:02:11,045 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-15 12:02:11,046 INFO L276 IsEmpty]: Start isEmpty. Operand 174 states and 229 transitions. [2022-04-15 12:02:11,047 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-15 12:02:11,047 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 12:02:11,047 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-15 12:02:11,075 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-15 12:02:11,247 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-15 12:02:11,248 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 12:02:11,248 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 12:02:11,248 INFO L85 PathProgramCache]: Analyzing trace with hash -1856507910, now seen corresponding path program 5 times [2022-04-15 12:02:11,248 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 12:02:11,248 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [266708098] [2022-04-15 12:02:11,253 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-15 12:02:11,253 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 12:02:11,253 INFO L85 PathProgramCache]: Analyzing trace with hash -1856507910, now seen corresponding path program 6 times [2022-04-15 12:02:11,253 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 12:02:11,253 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [204534001] [2022-04-15 12:02:11,253 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 12:02:11,254 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 12:02:11,308 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:11,372 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 12:02:11,373 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:11,383 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-15 12:02:11,383 INFO L290 TraceCheckUtils]: 1: Hoare triple {8765#true} assume true; {8765#true} is VALID [2022-04-15 12:02:11,383 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {8765#true} {8765#true} #123#return; {8765#true} is VALID [2022-04-15 12:02:11,384 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-15 12:02:11,384 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-15 12:02:11,384 INFO L290 TraceCheckUtils]: 2: Hoare triple {8765#true} assume true; {8765#true} is VALID [2022-04-15 12:02:11,384 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8765#true} {8765#true} #123#return; {8765#true} is VALID [2022-04-15 12:02:11,384 INFO L272 TraceCheckUtils]: 4: Hoare triple {8765#true} call #t~ret22 := main(); {8765#true} is VALID [2022-04-15 12:02:11,384 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-15 12:02:11,384 INFO L290 TraceCheckUtils]: 6: Hoare triple {8765#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {8765#true} is VALID [2022-04-15 12:02:11,386 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-15 12:02:11,387 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-15 12:02:11,387 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-15 12:02:11,388 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-15 12:02:11,403 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-15 12:02:11,404 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-15 12:02:11,404 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-15 12:02:11,404 INFO L290 TraceCheckUtils]: 14: Hoare triple {8766#false} assume !!(~i~0 < ~nodecount~0); {8766#false} is VALID [2022-04-15 12:02:11,404 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-15 12:02:11,404 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-15 12:02:11,405 INFO L290 TraceCheckUtils]: 17: Hoare triple {8766#false} assume !(~i~0 < ~nodecount~0); {8766#false} is VALID [2022-04-15 12:02:11,405 INFO L290 TraceCheckUtils]: 18: Hoare triple {8766#false} ~i~0 := 0; {8766#false} is VALID [2022-04-15 12:02:11,405 INFO L290 TraceCheckUtils]: 19: Hoare triple {8766#false} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {8766#false} is VALID [2022-04-15 12:02:11,405 INFO L290 TraceCheckUtils]: 20: Hoare triple {8766#false} assume !(~j~0 < ~edgecount~0); {8766#false} is VALID [2022-04-15 12:02:11,405 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-15 12:02:11,405 INFO L290 TraceCheckUtils]: 22: Hoare triple {8766#false} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {8766#false} is VALID [2022-04-15 12:02:11,405 INFO L290 TraceCheckUtils]: 23: Hoare triple {8766#false} assume !(~j~0 < ~edgecount~0); {8766#false} is VALID [2022-04-15 12:02:11,405 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-15 12:02:11,405 INFO L290 TraceCheckUtils]: 25: Hoare triple {8766#false} assume !(~i~0 < ~nodecount~0); {8766#false} is VALID [2022-04-15 12:02:11,405 INFO L290 TraceCheckUtils]: 26: Hoare triple {8766#false} ~i~0 := 0; {8766#false} is VALID [2022-04-15 12:02:11,405 INFO L290 TraceCheckUtils]: 27: Hoare triple {8766#false} assume !(~i~0 < ~edgecount~0); {8766#false} is VALID [2022-04-15 12:02:11,406 INFO L290 TraceCheckUtils]: 28: Hoare triple {8766#false} ~i~0 := 0; {8766#false} is VALID [2022-04-15 12:02:11,406 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-15 12:02:11,406 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-15 12:02:11,406 INFO L290 TraceCheckUtils]: 31: Hoare triple {8766#false} ~cond := #in~cond; {8766#false} is VALID [2022-04-15 12:02:11,406 INFO L290 TraceCheckUtils]: 32: Hoare triple {8766#false} assume 0 == ~cond; {8766#false} is VALID [2022-04-15 12:02:11,406 INFO L290 TraceCheckUtils]: 33: Hoare triple {8766#false} assume !false; {8766#false} is VALID [2022-04-15 12:02:11,406 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-15 12:02:11,406 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 12:02:11,407 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [204534001] [2022-04-15 12:02:11,407 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [204534001] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 12:02:11,407 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1851073083] [2022-04-15 12:02:11,407 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 12:02:11,407 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 12:02:11,407 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 12:02:11,412 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-15 12:02:11,451 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-15 12:02:11,555 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 2 check-sat command(s) [2022-04-15 12:02:11,556 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 12:02:11,557 INFO L263 TraceCheckSpWp]: Trace formula consists of 269 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-15 12:02:11,573 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:11,574 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 12:02:11,718 INFO L272 TraceCheckUtils]: 0: Hoare triple {8765#true} call ULTIMATE.init(); {8765#true} is VALID [2022-04-15 12:02:11,719 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-15 12:02:11,719 INFO L290 TraceCheckUtils]: 2: Hoare triple {8765#true} assume true; {8765#true} is VALID [2022-04-15 12:02:11,719 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8765#true} {8765#true} #123#return; {8765#true} is VALID [2022-04-15 12:02:11,719 INFO L272 TraceCheckUtils]: 4: Hoare triple {8765#true} call #t~ret22 := main(); {8765#true} is VALID [2022-04-15 12:02:11,719 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-15 12:02:11,719 INFO L290 TraceCheckUtils]: 6: Hoare triple {8765#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {8765#true} is VALID [2022-04-15 12:02:11,721 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-15 12:02:11,722 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-15 12:02:11,722 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-15 12:02:11,723 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-15 12:02:11,724 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-15 12:02:11,724 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-15 12:02:11,724 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-15 12:02:11,725 INFO L290 TraceCheckUtils]: 14: Hoare triple {8766#false} assume !!(~i~0 < ~nodecount~0); {8766#false} is VALID [2022-04-15 12:02:11,725 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-15 12:02:11,725 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-15 12:02:11,725 INFO L290 TraceCheckUtils]: 17: Hoare triple {8766#false} assume !(~i~0 < ~nodecount~0); {8766#false} is VALID [2022-04-15 12:02:11,725 INFO L290 TraceCheckUtils]: 18: Hoare triple {8766#false} ~i~0 := 0; {8766#false} is VALID [2022-04-15 12:02:11,725 INFO L290 TraceCheckUtils]: 19: Hoare triple {8766#false} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {8766#false} is VALID [2022-04-15 12:02:11,725 INFO L290 TraceCheckUtils]: 20: Hoare triple {8766#false} assume !(~j~0 < ~edgecount~0); {8766#false} is VALID [2022-04-15 12:02:11,725 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-15 12:02:11,725 INFO L290 TraceCheckUtils]: 22: Hoare triple {8766#false} assume !!(~i~0 < ~nodecount~0);~j~0 := 0; {8766#false} is VALID [2022-04-15 12:02:11,726 INFO L290 TraceCheckUtils]: 23: Hoare triple {8766#false} assume !(~j~0 < ~edgecount~0); {8766#false} is VALID [2022-04-15 12:02:11,726 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-15 12:02:11,726 INFO L290 TraceCheckUtils]: 25: Hoare triple {8766#false} assume !(~i~0 < ~nodecount~0); {8766#false} is VALID [2022-04-15 12:02:11,726 INFO L290 TraceCheckUtils]: 26: Hoare triple {8766#false} ~i~0 := 0; {8766#false} is VALID [2022-04-15 12:02:11,726 INFO L290 TraceCheckUtils]: 27: Hoare triple {8766#false} assume !(~i~0 < ~edgecount~0); {8766#false} is VALID [2022-04-15 12:02:11,726 INFO L290 TraceCheckUtils]: 28: Hoare triple {8766#false} ~i~0 := 0; {8766#false} is VALID [2022-04-15 12:02:11,726 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-15 12:02:11,726 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-15 12:02:11,726 INFO L290 TraceCheckUtils]: 31: Hoare triple {8766#false} ~cond := #in~cond; {8766#false} is VALID [2022-04-15 12:02:11,727 INFO L290 TraceCheckUtils]: 32: Hoare triple {8766#false} assume 0 == ~cond; {8766#false} is VALID [2022-04-15 12:02:11,727 INFO L290 TraceCheckUtils]: 33: Hoare triple {8766#false} assume !false; {8766#false} is VALID [2022-04-15 12:02:11,727 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-15 12:02:11,727 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 12:02:11,727 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1851073083] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 12:02:11,727 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-15 12:02:11,727 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [5] total 7 [2022-04-15 12:02:11,728 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 12:02:11,728 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [266708098] [2022-04-15 12:02:11,728 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [266708098] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 12:02:11,728 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 12:02:11,728 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-15 12:02:11,728 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2060600013] [2022-04-15 12:02:11,728 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 12:02:11,729 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-15 12:02:11,729 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 12:02:11,729 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-15 12:02:11,751 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-15 12:02:11,751 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-15 12:02:11,751 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 12:02:11,752 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-15 12:02:11,752 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-04-15 12:02:11,752 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-15 12:02:12,426 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:12,427 INFO L93 Difference]: Finished difference Result 292 states and 382 transitions. [2022-04-15 12:02:12,427 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-15 12:02:12,427 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-15 12:02:12,427 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 12:02:12,427 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-15 12:02:12,429 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 88 transitions. [2022-04-15 12:02:12,429 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-15 12:02:12,429 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 88 transitions. [2022-04-15 12:02:12,430 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 88 transitions. [2022-04-15 12:02:12,502 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-15 12:02:12,505 INFO L225 Difference]: With dead ends: 292 [2022-04-15 12:02:12,505 INFO L226 Difference]: Without dead ends: 154 [2022-04-15 12:02:12,506 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-15 12:02:12,506 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-15 12:02:12,506 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-15 12:02:12,507 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 154 states. [2022-04-15 12:02:12,983 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 154 to 139. [2022-04-15 12:02:12,983 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 12:02:12,984 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-15 12:02:12,984 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-15 12:02:12,984 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-15 12:02:12,987 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:12,987 INFO L93 Difference]: Finished difference Result 154 states and 193 transitions. [2022-04-15 12:02:12,987 INFO L276 IsEmpty]: Start isEmpty. Operand 154 states and 193 transitions. [2022-04-15 12:02:12,987 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:02:12,987 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:02:12,987 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-15 12:02:12,988 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-15 12:02:12,990 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:12,990 INFO L93 Difference]: Finished difference Result 154 states and 193 transitions. [2022-04-15 12:02:12,991 INFO L276 IsEmpty]: Start isEmpty. Operand 154 states and 193 transitions. [2022-04-15 12:02:12,991 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:02:12,991 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:02:12,991 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 12:02:12,991 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 12:02:12,992 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-15 12:02:12,994 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 139 states to 139 states and 175 transitions. [2022-04-15 12:02:12,994 INFO L78 Accepts]: Start accepts. Automaton has 139 states and 175 transitions. Word has length 34 [2022-04-15 12:02:12,994 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 12:02:12,994 INFO L478 AbstractCegarLoop]: Abstraction has 139 states and 175 transitions. [2022-04-15 12:02:12,995 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-15 12:02:12,995 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 139 states and 175 transitions. [2022-04-15 12:02:13,496 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-15 12:02:13,497 INFO L276 IsEmpty]: Start isEmpty. Operand 139 states and 175 transitions. [2022-04-15 12:02:13,497 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-15 12:02:13,497 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 12:02:13,497 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-15 12:02:13,525 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-15 12:02:13,698 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-15 12:02:13,698 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 12:02:13,698 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 12:02:13,699 INFO L85 PathProgramCache]: Analyzing trace with hash -1637653192, now seen corresponding path program 7 times [2022-04-15 12:02:13,699 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 12:02:13,699 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1451871543] [2022-04-15 12:02:13,703 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-15 12:02:13,703 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 12:02:13,703 INFO L85 PathProgramCache]: Analyzing trace with hash -1637653192, now seen corresponding path program 8 times [2022-04-15 12:02:13,703 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 12:02:13,703 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1258761475] [2022-04-15 12:02:13,704 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 12:02:13,704 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 12:02:13,741 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:13,833 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 12:02:13,834 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:13,839 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-15 12:02:13,840 INFO L290 TraceCheckUtils]: 1: Hoare triple {10046#true} assume true; {10046#true} is VALID [2022-04-15 12:02:13,840 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {10046#true} {10046#true} #123#return; {10046#true} is VALID [2022-04-15 12:02:13,840 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-15 12:02:13,840 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-15 12:02:13,841 INFO L290 TraceCheckUtils]: 2: Hoare triple {10046#true} assume true; {10046#true} is VALID [2022-04-15 12:02:13,841 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10046#true} {10046#true} #123#return; {10046#true} is VALID [2022-04-15 12:02:13,841 INFO L272 TraceCheckUtils]: 4: Hoare triple {10046#true} call #t~ret22 := main(); {10046#true} is VALID [2022-04-15 12:02:13,841 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-15 12:02:13,841 INFO L290 TraceCheckUtils]: 6: Hoare triple {10046#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {10046#true} is VALID [2022-04-15 12:02:13,841 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-15 12:02:13,842 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-15 12:02:13,842 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-15 12:02:13,843 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-15 12:02:13,843 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-15 12:02:13,843 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-15 12:02:13,844 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-15 12:02:13,844 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-15 12:02:13,845 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-15 12:02:13,845 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-15 12:02:13,846 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-15 12:02:13,846 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-15 12:02:13,847 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-15 12:02:13,847 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-15 12:02:13,848 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-15 12:02:13,848 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-15 12:02:13,848 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-15 12:02:13,849 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-15 12:02:13,849 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-15 12:02:13,849 INFO L290 TraceCheckUtils]: 26: Hoare triple {10047#false} ~i~0 := 0; {10047#false} is VALID [2022-04-15 12:02:13,850 INFO L290 TraceCheckUtils]: 27: Hoare triple {10047#false} assume !(~i~0 < ~edgecount~0); {10047#false} is VALID [2022-04-15 12:02:13,850 INFO L290 TraceCheckUtils]: 28: Hoare triple {10047#false} ~i~0 := 0; {10047#false} is VALID [2022-04-15 12:02:13,850 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-15 12:02:13,850 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-15 12:02:13,850 INFO L290 TraceCheckUtils]: 31: Hoare triple {10047#false} ~cond := #in~cond; {10047#false} is VALID [2022-04-15 12:02:13,850 INFO L290 TraceCheckUtils]: 32: Hoare triple {10047#false} assume 0 == ~cond; {10047#false} is VALID [2022-04-15 12:02:13,850 INFO L290 TraceCheckUtils]: 33: Hoare triple {10047#false} assume !false; {10047#false} is VALID [2022-04-15 12:02:13,850 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-15 12:02:13,851 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 12:02:13,851 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1258761475] [2022-04-15 12:02:13,851 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1258761475] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 12:02:13,851 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [143886419] [2022-04-15 12:02:13,851 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 12:02:13,851 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 12:02:13,851 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 12:02:13,856 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-15 12:02:13,858 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-15 12:02:13,957 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 12:02:13,957 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 12:02:13,958 INFO L263 TraceCheckSpWp]: Trace formula consists of 297 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 12:02:13,974 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:13,978 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 12:02:14,232 INFO L272 TraceCheckUtils]: 0: Hoare triple {10046#true} call ULTIMATE.init(); {10046#true} is VALID [2022-04-15 12:02:14,233 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-15 12:02:14,233 INFO L290 TraceCheckUtils]: 2: Hoare triple {10046#true} assume true; {10046#true} is VALID [2022-04-15 12:02:14,233 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10046#true} {10046#true} #123#return; {10046#true} is VALID [2022-04-15 12:02:14,233 INFO L272 TraceCheckUtils]: 4: Hoare triple {10046#true} call #t~ret22 := main(); {10046#true} is VALID [2022-04-15 12:02:14,233 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-15 12:02:14,233 INFO L290 TraceCheckUtils]: 6: Hoare triple {10046#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {10046#true} is VALID [2022-04-15 12:02:14,235 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-15 12:02:14,236 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-15 12:02:14,236 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-15 12:02:14,237 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-15 12:02:14,237 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-15 12:02:14,237 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-15 12:02:14,238 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-15 12:02:14,238 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-15 12:02:14,239 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-15 12:02:14,239 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-15 12:02:14,240 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-15 12:02:14,240 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-15 12:02:14,240 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-15 12:02:14,241 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-15 12:02:14,242 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-15 12:02:14,242 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-15 12:02:14,242 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-15 12:02:14,243 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-15 12:02:14,244 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-15 12:02:14,244 INFO L290 TraceCheckUtils]: 26: Hoare triple {10047#false} ~i~0 := 0; {10047#false} is VALID [2022-04-15 12:02:14,244 INFO L290 TraceCheckUtils]: 27: Hoare triple {10047#false} assume !(~i~0 < ~edgecount~0); {10047#false} is VALID [2022-04-15 12:02:14,244 INFO L290 TraceCheckUtils]: 28: Hoare triple {10047#false} ~i~0 := 0; {10047#false} is VALID [2022-04-15 12:02:14,244 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-15 12:02:14,244 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-15 12:02:14,244 INFO L290 TraceCheckUtils]: 31: Hoare triple {10047#false} ~cond := #in~cond; {10047#false} is VALID [2022-04-15 12:02:14,244 INFO L290 TraceCheckUtils]: 32: Hoare triple {10047#false} assume 0 == ~cond; {10047#false} is VALID [2022-04-15 12:02:14,244 INFO L290 TraceCheckUtils]: 33: Hoare triple {10047#false} assume !false; {10047#false} is VALID [2022-04-15 12:02:14,245 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-15 12:02:14,245 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 12:02:14,532 INFO L290 TraceCheckUtils]: 33: Hoare triple {10047#false} assume !false; {10047#false} is VALID [2022-04-15 12:02:14,532 INFO L290 TraceCheckUtils]: 32: Hoare triple {10047#false} assume 0 == ~cond; {10047#false} is VALID [2022-04-15 12:02:14,532 INFO L290 TraceCheckUtils]: 31: Hoare triple {10047#false} ~cond := #in~cond; {10047#false} is VALID [2022-04-15 12:02:14,532 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-15 12:02:14,532 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-15 12:02:14,532 INFO L290 TraceCheckUtils]: 28: Hoare triple {10047#false} ~i~0 := 0; {10047#false} is VALID [2022-04-15 12:02:14,532 INFO L290 TraceCheckUtils]: 27: Hoare triple {10047#false} assume !(~i~0 < ~edgecount~0); {10047#false} is VALID [2022-04-15 12:02:14,532 INFO L290 TraceCheckUtils]: 26: Hoare triple {10047#false} ~i~0 := 0; {10047#false} is VALID [2022-04-15 12:02:14,533 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-15 12:02:14,534 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-15 12:02:14,534 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-15 12:02:14,534 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-15 12:02:14,535 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-15 12:02:14,535 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-15 12:02:14,535 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-15 12:02:14,536 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-15 12:02:14,536 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-15 12:02:14,537 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-15 12:02:14,537 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-15 12:02:14,537 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-15 12:02:14,538 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-15 12:02:14,538 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-15 12:02:14,539 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-15 12:02:14,539 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-15 12:02:14,539 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-15 12:02:14,543 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-15 12:02:14,545 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-15 12:02:14,545 INFO L290 TraceCheckUtils]: 6: Hoare triple {10046#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {10046#true} is VALID [2022-04-15 12:02:14,545 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-15 12:02:14,545 INFO L272 TraceCheckUtils]: 4: Hoare triple {10046#true} call #t~ret22 := main(); {10046#true} is VALID [2022-04-15 12:02:14,545 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10046#true} {10046#true} #123#return; {10046#true} is VALID [2022-04-15 12:02:14,545 INFO L290 TraceCheckUtils]: 2: Hoare triple {10046#true} assume true; {10046#true} is VALID [2022-04-15 12:02:14,545 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-15 12:02:14,546 INFO L272 TraceCheckUtils]: 0: Hoare triple {10046#true} call ULTIMATE.init(); {10046#true} is VALID [2022-04-15 12:02:14,546 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-15 12:02:14,546 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [143886419] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 12:02:14,546 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 12:02:14,546 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9, 9] total 15 [2022-04-15 12:02:14,546 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 12:02:14,546 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1451871543] [2022-04-15 12:02:14,547 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1451871543] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 12:02:14,547 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 12:02:14,547 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-15 12:02:14,547 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [257033048] [2022-04-15 12:02:14,547 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 12:02:14,547 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-15 12:02:14,547 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 12:02:14,548 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-15 12:02:14,592 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-15 12:02:14,592 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-15 12:02:14,592 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 12:02:14,594 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-15 12:02:14,594 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=55, Invalid=155, Unknown=0, NotChecked=0, Total=210 [2022-04-15 12:02:14,594 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-15 12:02:16,859 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:16,860 INFO L93 Difference]: Finished difference Result 296 states and 374 transitions. [2022-04-15 12:02:16,860 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-15 12:02:16,860 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-15 12:02:16,860 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 12:02:16,860 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-15 12:02:16,862 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 151 transitions. [2022-04-15 12:02:16,862 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-15 12:02:16,864 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 151 transitions. [2022-04-15 12:02:16,864 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 151 transitions. [2022-04-15 12:02:16,997 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-15 12:02:17,003 INFO L225 Difference]: With dead ends: 296 [2022-04-15 12:02:17,003 INFO L226 Difference]: Without dead ends: 275 [2022-04-15 12:02:17,004 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-15 12:02:17,004 INFO L913 BasicCegarLoop]: 65 mSDtfsCounter, 168 mSDsluCounter, 32 mSDsCounter, 0 mSdLazyCounter, 482 mSolverCounterSat, 76 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s 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.5s IncrementalHoareTripleChecker+Time [2022-04-15 12:02:17,004 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.5s Time] [2022-04-15 12:02:17,005 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 275 states. [2022-04-15 12:02:17,487 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 275 to 154. [2022-04-15 12:02:17,488 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 12:02:17,488 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-15 12:02:17,488 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-15 12:02:17,488 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-15 12:02:17,495 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:17,495 INFO L93 Difference]: Finished difference Result 275 states and 349 transitions. [2022-04-15 12:02:17,495 INFO L276 IsEmpty]: Start isEmpty. Operand 275 states and 349 transitions. [2022-04-15 12:02:17,495 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:02:17,496 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:02:17,496 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-15 12:02:17,496 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-15 12:02:17,502 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:17,502 INFO L93 Difference]: Finished difference Result 275 states and 349 transitions. [2022-04-15 12:02:17,503 INFO L276 IsEmpty]: Start isEmpty. Operand 275 states and 349 transitions. [2022-04-15 12:02:17,503 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:02:17,503 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:02:17,503 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 12:02:17,503 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 12:02:17,504 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-15 12:02:17,506 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 154 states to 154 states and 195 transitions. [2022-04-15 12:02:17,507 INFO L78 Accepts]: Start accepts. Automaton has 154 states and 195 transitions. Word has length 34 [2022-04-15 12:02:17,507 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 12:02:17,507 INFO L478 AbstractCegarLoop]: Abstraction has 154 states and 195 transitions. [2022-04-15 12:02:17,507 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-15 12:02:17,507 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 154 states and 195 transitions. [2022-04-15 12:02:17,840 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-15 12:02:17,840 INFO L276 IsEmpty]: Start isEmpty. Operand 154 states and 195 transitions. [2022-04-15 12:02:17,841 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-15 12:02:17,841 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 12:02:17,841 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-15 12:02:17,858 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-15 12:02:18,041 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-15 12:02:18,042 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 12:02:18,042 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 12:02:18,042 INFO L85 PathProgramCache]: Analyzing trace with hash -1470221714, now seen corresponding path program 5 times [2022-04-15 12:02:18,042 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 12:02:18,042 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1252765467] [2022-04-15 12:02:18,044 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-15 12:02:18,045 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 12:02:18,045 INFO L85 PathProgramCache]: Analyzing trace with hash -1470221714, now seen corresponding path program 6 times [2022-04-15 12:02:18,045 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 12:02:18,045 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2140264161] [2022-04-15 12:02:18,045 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 12:02:18,045 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 12:02:18,138 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:18,775 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 12:02:18,776 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:18,779 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-15 12:02:18,779 INFO L290 TraceCheckUtils]: 1: Hoare triple {11735#true} assume true; {11735#true} is VALID [2022-04-15 12:02:18,779 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {11735#true} {11735#true} #123#return; {11735#true} is VALID [2022-04-15 12:02:18,779 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-15 12:02:18,780 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-15 12:02:18,780 INFO L290 TraceCheckUtils]: 2: Hoare triple {11735#true} assume true; {11735#true} is VALID [2022-04-15 12:02:18,780 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11735#true} {11735#true} #123#return; {11735#true} is VALID [2022-04-15 12:02:18,780 INFO L272 TraceCheckUtils]: 4: Hoare triple {11735#true} call #t~ret22 := main(); {11735#true} is VALID [2022-04-15 12:02:18,780 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-15 12:02:18,780 INFO L290 TraceCheckUtils]: 6: Hoare triple {11735#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {11735#true} is VALID [2022-04-15 12:02:18,783 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-15 12:02:18,783 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-15 12:02:18,784 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-15 12:02:18,784 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-15 12:02:18,785 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-15 12:02:18,785 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-15 12:02:18,786 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-15 12:02:18,786 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-15 12:02:18,788 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-15 12:02:18,788 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-15 12:02:18,789 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-15 12:02:18,789 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-15 12:02:18,790 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-15 12:02:18,790 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-15 12:02:18,791 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-15 12:02:18,791 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-15 12:02:18,791 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-15 12:02:18,792 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-15 12:02:18,792 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-15 12:02:18,793 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-15 12:02:18,795 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-15 12:02:18,795 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-15 12:02:18,795 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-15 12:02:18,796 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-15 12:02:18,796 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-15 12:02:18,797 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-15 12:02:18,797 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-15 12:02:18,797 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-15 12:02:18,798 INFO L290 TraceCheckUtils]: 35: Hoare triple {11753#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {11736#false} is VALID [2022-04-15 12:02:18,798 INFO L290 TraceCheckUtils]: 36: Hoare triple {11736#false} assume !false; {11736#false} is VALID [2022-04-15 12:02:18,798 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-15 12:02:18,798 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 12:02:18,799 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2140264161] [2022-04-15 12:02:18,799 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2140264161] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 12:02:18,799 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1560744323] [2022-04-15 12:02:18,799 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 12:02:18,799 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 12:02:18,799 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 12:02:18,800 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-15 12:02:18,804 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-15 12:02:18,920 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-15 12:02:18,920 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 12:02:18,922 INFO L263 TraceCheckSpWp]: Trace formula consists of 339 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-15 12:02:18,938 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:18,939 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 12:02:19,031 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-15 12:02:19,221 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-15 12:02:19,222 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-15 12:02:19,223 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-15 12:02:19,225 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-15 12:02:19,556 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-15 12:02:19,557 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-15 12:02:19,558 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-15 12:02:19,559 INFO L173 IndexEqualityManager]: detected equality via solver [2022-04-15 12:02:19,560 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-15 12:02:19,570 INFO L356 Elim1Store]: treesize reduction 25, result has 21.9 percent of original size [2022-04-15 12:02:19,570 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-15 12:02:19,895 INFO L356 Elim1Store]: treesize reduction 25, result has 21.9 percent of original size [2022-04-15 12:02:19,896 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-15 12:02:21,038 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-15 12:02:21,193 INFO L272 TraceCheckUtils]: 0: Hoare triple {11735#true} call ULTIMATE.init(); {11735#true} is VALID [2022-04-15 12:02:21,194 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-15 12:02:21,194 INFO L290 TraceCheckUtils]: 2: Hoare triple {11735#true} assume true; {11735#true} is VALID [2022-04-15 12:02:21,194 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11735#true} {11735#true} #123#return; {11735#true} is VALID [2022-04-15 12:02:21,194 INFO L272 TraceCheckUtils]: 4: Hoare triple {11735#true} call #t~ret22 := main(); {11735#true} is VALID [2022-04-15 12:02:21,194 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-15 12:02:21,194 INFO L290 TraceCheckUtils]: 6: Hoare triple {11735#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {11735#true} is VALID [2022-04-15 12:02:21,198 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-15 12:02:21,198 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-15 12:02:21,199 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-15 12:02:21,200 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-15 12:02:21,200 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-15 12:02:21,201 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-15 12:02:21,202 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-15 12:02:21,203 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-15 12:02:21,204 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-15 12:02:21,204 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-15 12:02:21,206 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-15 12:02:21,207 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-15 12:02:21,208 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-15 12:02:21,209 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-15 12:02:21,210 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-15 12:02:21,211 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-15 12:02:21,211 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-15 12:02:21,213 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-15 12:02:21,214 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-15 12:02:21,214 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-15 12:02:21,216 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-15 12:02:21,216 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-15 12:02:21,217 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-15 12:02:21,218 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-15 12:02:21,219 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-15 12:02:21,220 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-15 12:02:21,220 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-15 12:02:21,221 INFO L290 TraceCheckUtils]: 34: Hoare triple {11866#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11870#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 12:02:21,221 INFO L290 TraceCheckUtils]: 35: Hoare triple {11870#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11736#false} is VALID [2022-04-15 12:02:21,221 INFO L290 TraceCheckUtils]: 36: Hoare triple {11736#false} assume !false; {11736#false} is VALID [2022-04-15 12:02:21,222 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-15 12:02:21,222 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 12:02:23,550 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-15 12:02:24,119 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-15 12:02:25,005 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-15 12:02:27,328 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-15 12:02:28,335 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-15 12:02:32,907 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-15 12:02:35,953 INFO L290 TraceCheckUtils]: 36: Hoare triple {11736#false} assume !false; {11736#false} is VALID [2022-04-15 12:02:35,954 INFO L290 TraceCheckUtils]: 35: Hoare triple {11870#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11736#false} is VALID [2022-04-15 12:02:35,954 INFO L290 TraceCheckUtils]: 34: Hoare triple {11866#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11870#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 12:02:35,955 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-15 12:02:35,955 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-15 12:02:35,956 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-15 12:02:35,956 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-15 12:02:35,956 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-15 12:02:35,957 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-15 12:02:35,957 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-15 12:02:35,957 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-15 12:02:35,957 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-15 12:02:35,958 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-15 12:02:35,958 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-15 12:02:35,958 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-15 12:02:35,959 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-15 12:02:35,959 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-15 12:02:35,960 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-15 12:02:35,961 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-15 12:02:35,963 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-15 12:02:35,964 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-15 12:02:35,966 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-15 12:02:35,968 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-15 12:02:35,969 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-15 12:02:35,970 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-15 12:02:35,971 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-15 12:02:35,971 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-15 12:02:35,973 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-15 12:02:35,974 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-15 12:02:35,978 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-15 12:02:35,978 INFO L290 TraceCheckUtils]: 6: Hoare triple {11735#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {11735#true} is VALID [2022-04-15 12:02:35,978 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-15 12:02:35,979 INFO L272 TraceCheckUtils]: 4: Hoare triple {11735#true} call #t~ret22 := main(); {11735#true} is VALID [2022-04-15 12:02:35,979 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11735#true} {11735#true} #123#return; {11735#true} is VALID [2022-04-15 12:02:35,979 INFO L290 TraceCheckUtils]: 2: Hoare triple {11735#true} assume true; {11735#true} is VALID [2022-04-15 12:02:35,979 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-15 12:02:35,979 INFO L272 TraceCheckUtils]: 0: Hoare triple {11735#true} call ULTIMATE.init(); {11735#true} is VALID [2022-04-15 12:02:35,979 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-15 12:02:35,980 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1560744323] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 12:02:35,980 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 12:02:35,980 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 13, 14] total 37 [2022-04-15 12:02:35,980 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 12:02:35,980 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1252765467] [2022-04-15 12:02:35,980 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1252765467] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 12:02:35,980 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 12:02:35,981 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-15 12:02:35,981 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [861019031] [2022-04-15 12:02:35,981 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 12:02:35,981 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-15 12:02:35,981 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 12:02:35,982 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-15 12:02:36,025 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-15 12:02:36,025 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-15 12:02:36,025 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 12:02:36,026 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-15 12:02:36,026 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=132, Invalid=816, Unknown=6, NotChecked=378, Total=1332 [2022-04-15 12:02:36,026 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-15 12:02:38,391 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:38,392 INFO L93 Difference]: Finished difference Result 187 states and 232 transitions. [2022-04-15 12:02:38,392 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-15 12:02:38,392 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-15 12:02:38,392 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 12:02:38,392 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-15 12:02:38,394 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 89 transitions. [2022-04-15 12:02:38,394 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-15 12:02:38,396 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 89 transitions. [2022-04-15 12:02:38,396 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 89 transitions. [2022-04-15 12:02:38,606 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-15 12:02:38,608 INFO L225 Difference]: With dead ends: 187 [2022-04-15 12:02:38,608 INFO L226 Difference]: Without dead ends: 164 [2022-04-15 12:02:38,609 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 104 GetRequests, 55 SyntacticMatches, 2 SemanticMatches, 47 ConstructedPredicates, 6 IntricatePredicates, 0 DeprecatedPredicates, 407 ImplicationChecksByTransitivity, 8.9s TimeCoverageRelationStatistics Valid=271, Invalid=1553, Unknown=6, NotChecked=522, Total=2352 [2022-04-15 12:02:38,610 INFO L913 BasicCegarLoop]: 34 mSDtfsCounter, 88 mSDsluCounter, 41 mSDsCounter, 0 mSdLazyCounter, 479 mSolverCounterSat, 59 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s 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.6s IncrementalHoareTripleChecker+Time [2022-04-15 12:02:38,610 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.6s Time] [2022-04-15 12:02:38,610 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 164 states. [2022-04-15 12:02:39,285 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 164 to 157. [2022-04-15 12:02:39,285 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 12:02:39,285 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-15 12:02:39,289 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-15 12:02:39,290 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-15 12:02:39,309 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:39,309 INFO L93 Difference]: Finished difference Result 164 states and 207 transitions. [2022-04-15 12:02:39,309 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 207 transitions. [2022-04-15 12:02:39,315 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:02:39,315 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:02:39,315 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-15 12:02:39,317 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-15 12:02:39,321 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:39,322 INFO L93 Difference]: Finished difference Result 164 states and 207 transitions. [2022-04-15 12:02:39,322 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 207 transitions. [2022-04-15 12:02:39,322 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:02:39,322 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:02:39,322 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 12:02:39,322 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 12:02:39,323 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-15 12:02:39,338 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 157 states to 157 states and 199 transitions. [2022-04-15 12:02:39,338 INFO L78 Accepts]: Start accepts. Automaton has 157 states and 199 transitions. Word has length 37 [2022-04-15 12:02:39,338 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 12:02:39,338 INFO L478 AbstractCegarLoop]: Abstraction has 157 states and 199 transitions. [2022-04-15 12:02:39,338 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-15 12:02:39,338 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 157 states and 199 transitions. [2022-04-15 12:02:39,839 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-15 12:02:39,839 INFO L276 IsEmpty]: Start isEmpty. Operand 157 states and 199 transitions. [2022-04-15 12:02:39,840 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-15 12:02:39,840 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 12:02:39,840 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-15 12:02:39,887 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-15 12:02:40,040 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-15 12:02:40,041 INFO L403 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 12:02:40,041 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 12:02:40,041 INFO L85 PathProgramCache]: Analyzing trace with hash -651731607, now seen corresponding path program 1 times [2022-04-15 12:02:40,041 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 12:02:40,041 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [555599356] [2022-04-15 12:02:40,045 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-15 12:02:40,046 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 12:02:40,046 INFO L85 PathProgramCache]: Analyzing trace with hash -651731607, now seen corresponding path program 2 times [2022-04-15 12:02:40,046 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 12:02:40,046 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [783307347] [2022-04-15 12:02:40,046 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 12:02:40,046 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 12:02:40,065 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:40,150 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 12:02:40,151 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:40,167 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-15 12:02:40,168 INFO L290 TraceCheckUtils]: 1: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-15 12:02:40,168 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {13036#true} {13036#true} #123#return; {13036#true} is VALID [2022-04-15 12:02:40,168 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-15 12:02:40,169 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-15 12:02:40,169 INFO L290 TraceCheckUtils]: 2: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-15 12:02:40,169 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13036#true} {13036#true} #123#return; {13036#true} is VALID [2022-04-15 12:02:40,169 INFO L272 TraceCheckUtils]: 4: Hoare triple {13036#true} call #t~ret22 := main(); {13036#true} is VALID [2022-04-15 12:02:40,169 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-15 12:02:40,169 INFO L290 TraceCheckUtils]: 6: Hoare triple {13036#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {13036#true} is VALID [2022-04-15 12:02:40,169 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-15 12:02:40,169 INFO L290 TraceCheckUtils]: 8: Hoare triple {13036#true} assume !!(~i~0 < ~nodecount~0); {13036#true} is VALID [2022-04-15 12:02:40,169 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-15 12:02:40,169 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-15 12:02:40,170 INFO L290 TraceCheckUtils]: 11: Hoare triple {13036#true} assume !!(~i~0 < ~nodecount~0); {13036#true} is VALID [2022-04-15 12:02:40,170 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-15 12:02:40,170 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-15 12:02:40,170 INFO L290 TraceCheckUtils]: 14: Hoare triple {13036#true} assume !(~i~0 < ~nodecount~0); {13036#true} is VALID [2022-04-15 12:02:40,170 INFO L290 TraceCheckUtils]: 15: Hoare triple {13036#true} ~i~0 := 0; {13036#true} is VALID [2022-04-15 12:02:40,170 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-15 12:02:40,171 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-15 12:02:40,171 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-15 12:02:40,171 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-15 12:02:40,172 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-15 12:02:40,172 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-15 12:02:40,172 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-15 12:02:40,172 INFO L290 TraceCheckUtils]: 23: Hoare triple {13037#false} assume !(~j~0 < ~edgecount~0); {13037#false} is VALID [2022-04-15 12:02:40,173 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-15 12:02:40,173 INFO L290 TraceCheckUtils]: 25: Hoare triple {13037#false} assume !(~i~0 < ~nodecount~0); {13037#false} is VALID [2022-04-15 12:02:40,173 INFO L290 TraceCheckUtils]: 26: Hoare triple {13037#false} ~i~0 := 0; {13037#false} is VALID [2022-04-15 12:02:40,173 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-15 12:02:40,173 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-15 12:02:40,173 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-15 12:02:40,173 INFO L290 TraceCheckUtils]: 30: Hoare triple {13037#false} assume !(~i~0 < ~edgecount~0); {13037#false} is VALID [2022-04-15 12:02:40,173 INFO L290 TraceCheckUtils]: 31: Hoare triple {13037#false} ~i~0 := 0; {13037#false} is VALID [2022-04-15 12:02:40,173 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-15 12:02:40,173 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-15 12:02:40,173 INFO L290 TraceCheckUtils]: 34: Hoare triple {13037#false} ~cond := #in~cond; {13037#false} is VALID [2022-04-15 12:02:40,173 INFO L290 TraceCheckUtils]: 35: Hoare triple {13037#false} assume 0 == ~cond; {13037#false} is VALID [2022-04-15 12:02:40,174 INFO L290 TraceCheckUtils]: 36: Hoare triple {13037#false} assume !false; {13037#false} is VALID [2022-04-15 12:02:40,174 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-15 12:02:40,174 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 12:02:40,174 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [783307347] [2022-04-15 12:02:40,174 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [783307347] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 12:02:40,174 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 12:02:40,174 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 12:02:40,174 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 12:02:40,175 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [555599356] [2022-04-15 12:02:40,175 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [555599356] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 12:02:40,175 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 12:02:40,175 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 12:02:40,175 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1099821867] [2022-04-15 12:02:40,175 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 12:02:40,176 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-15 12:02:40,176 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 12:02:40,177 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-15 12:02:40,221 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-15 12:02:40,221 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-15 12:02:40,221 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 12:02:40,221 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-15 12:02:40,221 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-15 12:02:40,222 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-15 12:02:41,262 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:41,262 INFO L93 Difference]: Finished difference Result 247 states and 314 transitions. [2022-04-15 12:02:41,262 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 12:02:41,262 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-15 12:02:41,262 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 12:02:41,262 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-15 12:02:41,264 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 83 transitions. [2022-04-15 12:02:41,264 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-15 12:02:41,265 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 83 transitions. [2022-04-15 12:02:41,265 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 83 transitions. [2022-04-15 12:02:41,368 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-15 12:02:41,372 INFO L225 Difference]: With dead ends: 247 [2022-04-15 12:02:41,372 INFO L226 Difference]: Without dead ends: 177 [2022-04-15 12:02:41,373 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-15 12:02:41,373 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-15 12:02:41,373 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-15 12:02:41,374 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 177 states. [2022-04-15 12:02:42,051 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 177 to 157. [2022-04-15 12:02:42,051 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 12:02:42,054 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-15 12:02:42,055 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-15 12:02:42,055 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-15 12:02:42,058 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:42,059 INFO L93 Difference]: Finished difference Result 177 states and 223 transitions. [2022-04-15 12:02:42,059 INFO L276 IsEmpty]: Start isEmpty. Operand 177 states and 223 transitions. [2022-04-15 12:02:42,059 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:02:42,059 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:02:42,060 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-15 12:02:42,060 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-15 12:02:42,063 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:42,063 INFO L93 Difference]: Finished difference Result 177 states and 223 transitions. [2022-04-15 12:02:42,063 INFO L276 IsEmpty]: Start isEmpty. Operand 177 states and 223 transitions. [2022-04-15 12:02:42,064 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:02:42,064 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:02:42,064 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 12:02:42,064 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 12:02:42,064 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-15 12:02:42,067 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 157 states to 157 states and 196 transitions. [2022-04-15 12:02:42,068 INFO L78 Accepts]: Start accepts. Automaton has 157 states and 196 transitions. Word has length 37 [2022-04-15 12:02:42,068 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 12:02:42,068 INFO L478 AbstractCegarLoop]: Abstraction has 157 states and 196 transitions. [2022-04-15 12:02:42,068 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-15 12:02:42,068 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 157 states and 196 transitions. [2022-04-15 12:02:42,586 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-15 12:02:42,586 INFO L276 IsEmpty]: Start isEmpty. Operand 157 states and 196 transitions. [2022-04-15 12:02:42,587 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-15 12:02:42,587 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 12:02:42,587 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-15 12:02:42,587 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable13 [2022-04-15 12:02:42,588 INFO L403 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 12:02:42,588 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 12:02:42,588 INFO L85 PathProgramCache]: Analyzing trace with hash 1411406606, now seen corresponding path program 9 times [2022-04-15 12:02:42,588 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 12:02:42,588 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [460869081] [2022-04-15 12:02:42,592 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-15 12:02:42,592 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 12:02:42,592 INFO L85 PathProgramCache]: Analyzing trace with hash 1411406606, now seen corresponding path program 10 times [2022-04-15 12:02:42,592 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 12:02:42,592 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1482689006] [2022-04-15 12:02:42,592 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 12:02:42,592 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 12:02:42,622 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:42,813 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 12:02:42,815 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:42,817 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-15 12:02:42,817 INFO L290 TraceCheckUtils]: 1: Hoare triple {14213#true} assume true; {14213#true} is VALID [2022-04-15 12:02:42,817 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {14213#true} {14213#true} #123#return; {14213#true} is VALID [2022-04-15 12:02:42,818 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-15 12:02:42,818 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-15 12:02:42,818 INFO L290 TraceCheckUtils]: 2: Hoare triple {14213#true} assume true; {14213#true} is VALID [2022-04-15 12:02:42,818 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14213#true} {14213#true} #123#return; {14213#true} is VALID [2022-04-15 12:02:42,818 INFO L272 TraceCheckUtils]: 4: Hoare triple {14213#true} call #t~ret22 := main(); {14213#true} is VALID [2022-04-15 12:02:42,818 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-15 12:02:42,819 INFO L290 TraceCheckUtils]: 6: Hoare triple {14213#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {14213#true} is VALID [2022-04-15 12:02:42,821 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-15 12:02:42,821 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-15 12:02:42,822 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-15 12:02:42,822 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-15 12:02:42,823 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-15 12:02:42,831 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-15 12:02:42,839 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-15 12:02:42,847 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-15 12:02:42,855 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-15 12:02:42,859 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-15 12:02:42,860 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-15 12:02:42,860 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-15 12:02:42,861 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-15 12:02:42,861 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-15 12:02:42,861 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-15 12:02:42,862 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-15 12:02:42,862 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-15 12:02:42,863 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-15 12:02:42,867 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-15 12:02:42,868 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-15 12:02:42,871 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-15 12:02:42,872 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-15 12:02:42,872 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-15 12:02:42,873 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-15 12:02:42,873 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-15 12:02:42,874 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-15 12:02:42,879 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-15 12:02:42,880 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-15 12:02:42,880 INFO L290 TraceCheckUtils]: 35: Hoare triple {14226#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {14214#false} is VALID [2022-04-15 12:02:42,880 INFO L290 TraceCheckUtils]: 36: Hoare triple {14214#false} assume !false; {14214#false} is VALID [2022-04-15 12:02:42,880 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-15 12:02:42,881 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 12:02:42,881 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1482689006] [2022-04-15 12:02:42,881 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1482689006] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 12:02:42,881 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [568663978] [2022-04-15 12:02:42,881 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 12:02:42,881 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 12:02:42,881 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 12:02:42,882 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-15 12:02:42,883 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-15 12:02:42,972 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 12:02:42,972 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 12:02:42,973 INFO L263 TraceCheckSpWp]: Trace formula consists of 90 conjuncts, 29 conjunts are in the unsatisfiable core [2022-04-15 12:02:43,014 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:43,015 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 12:02:43,109 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-15 12:02:43,171 INFO L356 Elim1Store]: treesize reduction 40, result has 23.1 percent of original size [2022-04-15 12:02:43,171 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-15 12:02:43,243 INFO L356 Elim1Store]: treesize reduction 40, result has 23.1 percent of original size [2022-04-15 12:02:43,243 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-15 12:02:45,180 INFO L356 Elim1Store]: treesize reduction 10, result has 23.1 percent of original size [2022-04-15 12:02:45,180 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-15 12:02:45,284 INFO L272 TraceCheckUtils]: 0: Hoare triple {14213#true} call ULTIMATE.init(); {14213#true} is VALID [2022-04-15 12:02:45,285 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-15 12:02:45,285 INFO L290 TraceCheckUtils]: 2: Hoare triple {14213#true} assume true; {14213#true} is VALID [2022-04-15 12:02:45,285 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14213#true} {14213#true} #123#return; {14213#true} is VALID [2022-04-15 12:02:45,285 INFO L272 TraceCheckUtils]: 4: Hoare triple {14213#true} call #t~ret22 := main(); {14213#true} is VALID [2022-04-15 12:02:45,285 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-15 12:02:45,285 INFO L290 TraceCheckUtils]: 6: Hoare triple {14213#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {14213#true} is VALID [2022-04-15 12:02:45,285 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-15 12:02:45,285 INFO L290 TraceCheckUtils]: 8: Hoare triple {14213#true} assume !!(~i~0 < ~nodecount~0); {14213#true} is VALID [2022-04-15 12:02:45,286 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-15 12:02:45,286 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-15 12:02:45,287 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-15 12:02:45,288 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-15 12:02:45,288 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-15 12:02:45,289 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-15 12:02:45,290 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-15 12:02:45,291 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-15 12:02:45,294 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-15 12:02:45,295 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-15 12:02:45,296 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-15 12:02:45,296 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-15 12:02:45,297 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-15 12:02:45,298 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-15 12:02:45,298 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-15 12:02:45,299 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-15 12:02:45,300 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-15 12:02:45,300 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-15 12:02:45,301 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-15 12:02:45,302 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-15 12:02:45,302 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-15 12:02:45,303 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-15 12:02:45,304 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-15 12:02:45,305 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-15 12:02:45,305 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-15 12:02:45,306 INFO L290 TraceCheckUtils]: 34: Hoare triple {14344#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {14348#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 12:02:45,306 INFO L290 TraceCheckUtils]: 35: Hoare triple {14348#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14214#false} is VALID [2022-04-15 12:02:45,306 INFO L290 TraceCheckUtils]: 36: Hoare triple {14214#false} assume !false; {14214#false} is VALID [2022-04-15 12:02:45,306 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-15 12:02:45,307 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 12:02:46,176 INFO L290 TraceCheckUtils]: 36: Hoare triple {14214#false} assume !false; {14214#false} is VALID [2022-04-15 12:02:46,177 INFO L290 TraceCheckUtils]: 35: Hoare triple {14348#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14214#false} is VALID [2022-04-15 12:02:46,177 INFO L290 TraceCheckUtils]: 34: Hoare triple {14344#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {14348#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 12:02:46,178 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-15 12:02:46,178 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-15 12:02:46,179 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-15 12:02:46,179 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-15 12:02:46,179 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-15 12:02:46,180 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-15 12:02:46,180 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-15 12:02:46,180 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-15 12:02:46,181 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-15 12:02:46,182 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-15 12:02:46,182 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-15 12:02:46,183 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-15 12:02:46,183 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-15 12:02:46,184 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-15 12:02:46,184 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-15 12:02:46,184 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-15 12:02:46,185 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-15 12:02:46,185 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-15 12:02:46,186 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-15 12:02:46,186 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-15 12:02:46,187 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-15 12:02:46,187 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-15 12:02:46,188 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-15 12:02:46,188 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-15 12:02:46,189 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-15 12:02:46,189 INFO L290 TraceCheckUtils]: 8: Hoare triple {14213#true} assume !!(~i~0 < ~nodecount~0); {14213#true} is VALID [2022-04-15 12:02:46,189 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-15 12:02:46,189 INFO L290 TraceCheckUtils]: 6: Hoare triple {14213#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {14213#true} is VALID [2022-04-15 12:02:46,189 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-15 12:02:46,189 INFO L272 TraceCheckUtils]: 4: Hoare triple {14213#true} call #t~ret22 := main(); {14213#true} is VALID [2022-04-15 12:02:46,189 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14213#true} {14213#true} #123#return; {14213#true} is VALID [2022-04-15 12:02:46,189 INFO L290 TraceCheckUtils]: 2: Hoare triple {14213#true} assume true; {14213#true} is VALID [2022-04-15 12:02:46,189 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-15 12:02:46,190 INFO L272 TraceCheckUtils]: 0: Hoare triple {14213#true} call ULTIMATE.init(); {14213#true} is VALID [2022-04-15 12:02:46,190 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-15 12:02:46,190 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [568663978] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 12:02:46,190 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 12:02:46,190 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 18, 18] total 40 [2022-04-15 12:02:46,190 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 12:02:46,191 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [460869081] [2022-04-15 12:02:46,191 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [460869081] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 12:02:46,191 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 12:02:46,191 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-15 12:02:46,191 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2074043815] [2022-04-15 12:02:46,191 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 12:02:46,191 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-15 12:02:46,191 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 12:02:46,191 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-15 12:02:46,214 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-15 12:02:46,214 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-15 12:02:46,215 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 12:02:46,215 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-15 12:02:46,215 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=244, Invalid=1316, Unknown=0, NotChecked=0, Total=1560 [2022-04-15 12:02:46,216 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-15 12:02:48,185 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:48,185 INFO L93 Difference]: Finished difference Result 237 states and 298 transitions. [2022-04-15 12:02:48,185 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-15 12:02:48,186 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-15 12:02:48,186 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 12:02:48,186 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-15 12:02:48,191 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 87 transitions. [2022-04-15 12:02:48,192 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-15 12:02:48,195 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 87 transitions. [2022-04-15 12:02:48,195 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 87 transitions. [2022-04-15 12:02:48,289 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-15 12:02:48,293 INFO L225 Difference]: With dead ends: 237 [2022-04-15 12:02:48,293 INFO L226 Difference]: Without dead ends: 235 [2022-04-15 12:02:48,295 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 94 GetRequests, 46 SyntacticMatches, 3 SemanticMatches, 45 ConstructedPredicates, 0 IntricatePredicates, 1 DeprecatedPredicates, 578 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=335, Invalid=1826, Unknown=1, NotChecked=0, Total=2162 [2022-04-15 12:02:48,297 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-15 12:02:48,297 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-15 12:02:48,297 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 235 states. [2022-04-15 12:02:48,903 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 235 to 162. [2022-04-15 12:02:48,903 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 12:02:48,903 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-15 12:02:48,904 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-15 12:02:48,904 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-15 12:02:48,910 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:48,910 INFO L93 Difference]: Finished difference Result 235 states and 296 transitions. [2022-04-15 12:02:48,910 INFO L276 IsEmpty]: Start isEmpty. Operand 235 states and 296 transitions. [2022-04-15 12:02:48,911 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:02:48,911 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:02:48,911 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-15 12:02:48,911 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-15 12:02:48,917 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:48,917 INFO L93 Difference]: Finished difference Result 235 states and 296 transitions. [2022-04-15 12:02:48,917 INFO L276 IsEmpty]: Start isEmpty. Operand 235 states and 296 transitions. [2022-04-15 12:02:48,918 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:02:48,918 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:02:48,918 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 12:02:48,918 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 12:02:48,919 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-15 12:02:48,923 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 162 states to 162 states and 203 transitions. [2022-04-15 12:02:48,923 INFO L78 Accepts]: Start accepts. Automaton has 162 states and 203 transitions. Word has length 37 [2022-04-15 12:02:48,923 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 12:02:48,923 INFO L478 AbstractCegarLoop]: Abstraction has 162 states and 203 transitions. [2022-04-15 12:02:48,923 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-15 12:02:48,924 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 162 states and 203 transitions. [2022-04-15 12:02:49,388 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-15 12:02:49,388 INFO L276 IsEmpty]: Start isEmpty. Operand 162 states and 203 transitions. [2022-04-15 12:02:49,388 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-15 12:02:49,389 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 12:02:49,389 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-15 12:02:49,415 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-15 12:02:49,589 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-15 12:02:49,589 INFO L403 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 12:02:49,590 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 12:02:49,590 INFO L85 PathProgramCache]: Analyzing trace with hash 524779340, now seen corresponding path program 1 times [2022-04-15 12:02:49,590 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 12:02:49,590 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [477356149] [2022-04-15 12:02:49,599 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-15 12:02:49,599 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 12:02:49,599 INFO L85 PathProgramCache]: Analyzing trace with hash 524779340, now seen corresponding path program 2 times [2022-04-15 12:02:49,599 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 12:02:49,599 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [515860303] [2022-04-15 12:02:49,599 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 12:02:49,599 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 12:02:49,627 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:49,792 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 12:02:49,794 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:49,822 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-15 12:02:49,823 INFO L290 TraceCheckUtils]: 1: Hoare triple {15764#(<= 899 ~INFINITY~0)} assume true; {15764#(<= 899 ~INFINITY~0)} is VALID [2022-04-15 12:02:49,823 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {15764#(<= 899 ~INFINITY~0)} {15759#true} #123#return; {15764#(<= 899 ~INFINITY~0)} is VALID [2022-04-15 12:02:49,823 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 27 [2022-04-15 12:02:49,824 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:49,827 INFO L290 TraceCheckUtils]: 0: Hoare triple {15759#true} ~cond := #in~cond; {15759#true} is VALID [2022-04-15 12:02:49,827 INFO L290 TraceCheckUtils]: 1: Hoare triple {15759#true} assume !(0 == ~cond); {15759#true} is VALID [2022-04-15 12:02:49,827 INFO L290 TraceCheckUtils]: 2: Hoare triple {15759#true} assume true; {15759#true} is VALID [2022-04-15 12:02:49,828 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-15 12:02:49,828 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-15 12:02:49,829 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-15 12:02:49,829 INFO L290 TraceCheckUtils]: 2: Hoare triple {15764#(<= 899 ~INFINITY~0)} assume true; {15764#(<= 899 ~INFINITY~0)} is VALID [2022-04-15 12:02:49,832 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15764#(<= 899 ~INFINITY~0)} {15759#true} #123#return; {15764#(<= 899 ~INFINITY~0)} is VALID [2022-04-15 12:02:49,832 INFO L272 TraceCheckUtils]: 4: Hoare triple {15764#(<= 899 ~INFINITY~0)} call #t~ret22 := main(); {15764#(<= 899 ~INFINITY~0)} is VALID [2022-04-15 12:02:49,832 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-15 12:02:49,833 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-15 12:02:49,835 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-15 12:02:49,835 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-15 12:02:49,838 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-15 12:02:49,838 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-15 12:02:49,839 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-15 12:02:49,840 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-15 12:02:49,840 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-15 12:02:49,841 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-15 12:02:49,841 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-15 12:02:49,841 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-15 12:02:49,842 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-15 12:02:49,842 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-15 12:02:49,843 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-15 12:02:49,843 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-15 12:02:49,844 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-15 12:02:49,844 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-15 12:02:49,845 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-15 12:02:49,845 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-15 12:02:49,845 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-15 12:02:49,846 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-15 12:02:49,846 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-15 12:02:49,846 INFO L290 TraceCheckUtils]: 28: Hoare triple {15759#true} ~cond := #in~cond; {15759#true} is VALID [2022-04-15 12:02:49,846 INFO L290 TraceCheckUtils]: 29: Hoare triple {15759#true} assume !(0 == ~cond); {15759#true} is VALID [2022-04-15 12:02:49,846 INFO L290 TraceCheckUtils]: 30: Hoare triple {15759#true} assume true; {15759#true} is VALID [2022-04-15 12:02:49,847 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-15 12:02:49,847 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-15 12:02:49,848 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-15 12:02:49,848 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-15 12:02:49,849 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-15 12:02:49,849 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-15 12:02:49,850 INFO L290 TraceCheckUtils]: 37: Hoare triple {15777#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {15760#false} is VALID [2022-04-15 12:02:49,850 INFO L290 TraceCheckUtils]: 38: Hoare triple {15760#false} assume !false; {15760#false} is VALID [2022-04-15 12:02:49,850 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-15 12:02:49,850 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 12:02:49,850 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [515860303] [2022-04-15 12:02:49,850 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [515860303] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 12:02:49,851 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [485917128] [2022-04-15 12:02:49,851 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 12:02:49,851 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 12:02:49,851 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 12:02:49,852 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-15 12:02:49,853 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-15 12:02:49,953 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 12:02:49,953 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 12:02:49,954 INFO L263 TraceCheckSpWp]: Trace formula consists of 304 conjuncts, 16 conjunts are in the unsatisfiable core [2022-04-15 12:02:49,964 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:49,965 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 12:02:50,080 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-15 12:02:52,343 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-15 12:02:52,399 INFO L272 TraceCheckUtils]: 0: Hoare triple {15759#true} call ULTIMATE.init(); {15759#true} is VALID [2022-04-15 12:02:52,400 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-15 12:02:52,400 INFO L290 TraceCheckUtils]: 2: Hoare triple {15764#(<= 899 ~INFINITY~0)} assume true; {15764#(<= 899 ~INFINITY~0)} is VALID [2022-04-15 12:02:52,401 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15764#(<= 899 ~INFINITY~0)} {15759#true} #123#return; {15764#(<= 899 ~INFINITY~0)} is VALID [2022-04-15 12:02:52,401 INFO L272 TraceCheckUtils]: 4: Hoare triple {15764#(<= 899 ~INFINITY~0)} call #t~ret22 := main(); {15764#(<= 899 ~INFINITY~0)} is VALID [2022-04-15 12:02:52,402 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-15 12:02:52,402 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-15 12:02:52,404 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-15 12:02:52,405 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-15 12:02:52,405 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-15 12:02:52,406 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-15 12:02:52,406 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-15 12:02:52,407 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-15 12:02:52,408 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-15 12:02:52,408 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-15 12:02:52,408 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-15 12:02:52,409 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-15 12:02:52,409 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-15 12:02:52,410 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-15 12:02:52,410 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-15 12:02:52,411 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-15 12:02:52,411 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-15 12:02:52,411 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-15 12:02:52,412 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-15 12:02:52,412 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-15 12:02:52,412 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-15 12:02:52,413 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-15 12:02:52,414 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-15 12:02:52,414 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-15 12:02:52,414 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-15 12:02:52,415 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-15 12:02:52,415 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-15 12:02:52,416 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-15 12:02:52,416 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-15 12:02:52,416 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-15 12:02:52,417 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-15 12:02:52,417 INFO L290 TraceCheckUtils]: 36: Hoare triple {15893#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15897#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 12:02:52,418 INFO L290 TraceCheckUtils]: 37: Hoare triple {15897#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15760#false} is VALID [2022-04-15 12:02:52,418 INFO L290 TraceCheckUtils]: 38: Hoare triple {15760#false} assume !false; {15760#false} is VALID [2022-04-15 12:02:52,418 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-15 12:02:52,418 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 12:02:54,694 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-15 12:02:54,714 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-15 12:02:54,998 INFO L290 TraceCheckUtils]: 38: Hoare triple {15760#false} assume !false; {15760#false} is VALID [2022-04-15 12:02:54,998 INFO L290 TraceCheckUtils]: 37: Hoare triple {15897#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15760#false} is VALID [2022-04-15 12:02:54,999 INFO L290 TraceCheckUtils]: 36: Hoare triple {15893#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15897#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 12:02:54,999 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-15 12:02:55,000 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-15 12:02:55,001 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-15 12:02:55,001 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-15 12:02:55,002 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-15 12:02:55,002 INFO L290 TraceCheckUtils]: 30: Hoare triple {15759#true} assume true; {15759#true} is VALID [2022-04-15 12:02:55,002 INFO L290 TraceCheckUtils]: 29: Hoare triple {15759#true} assume !(0 == ~cond); {15759#true} is VALID [2022-04-15 12:02:55,002 INFO L290 TraceCheckUtils]: 28: Hoare triple {15759#true} ~cond := #in~cond; {15759#true} is VALID [2022-04-15 12:02:55,003 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-15 12:02:55,020 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-15 12:02:55,021 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-15 12:02:55,021 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-15 12:02:55,022 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-15 12:02:55,022 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-15 12:02:55,022 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-15 12:02:55,023 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-15 12:02:55,023 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-15 12:02:55,024 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-15 12:02:55,024 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-15 12:02:55,025 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-15 12:02:55,025 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-15 12:02:55,026 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-15 12:02:55,026 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-15 12:02:55,027 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-15 12:02:55,028 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-15 12:02:55,028 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-15 12:02:55,029 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-15 12:02:55,029 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-15 12:02:55,032 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-15 12:02:55,032 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-15 12:02:55,032 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-15 12:02:55,033 INFO L272 TraceCheckUtils]: 4: Hoare triple {16003#(<= 0 ~INFINITY~0)} call #t~ret22 := main(); {16003#(<= 0 ~INFINITY~0)} is VALID [2022-04-15 12:02:55,033 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16003#(<= 0 ~INFINITY~0)} {15759#true} #123#return; {16003#(<= 0 ~INFINITY~0)} is VALID [2022-04-15 12:02:55,034 INFO L290 TraceCheckUtils]: 2: Hoare triple {16003#(<= 0 ~INFINITY~0)} assume true; {16003#(<= 0 ~INFINITY~0)} is VALID [2022-04-15 12:02:55,045 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-15 12:02:55,046 INFO L272 TraceCheckUtils]: 0: Hoare triple {15759#true} call ULTIMATE.init(); {15759#true} is VALID [2022-04-15 12:02:55,046 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-15 12:02:55,046 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [485917128] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 12:02:55,046 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 12:02:55,046 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 12, 11] total 28 [2022-04-15 12:02:55,047 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 12:02:55,047 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [477356149] [2022-04-15 12:02:55,047 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [477356149] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 12:02:55,047 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 12:02:55,047 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-15 12:02:55,047 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1868624315] [2022-04-15 12:02:55,047 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 12:02:55,048 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-15 12:02:55,048 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 12:02:55,048 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-15 12:02:55,109 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-15 12:02:55,109 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-15 12:02:55,109 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 12:02:55,109 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-15 12:02:55,110 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=100, Invalid=654, Unknown=2, NotChecked=0, Total=756 [2022-04-15 12:02:55,110 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-15 12:02:58,033 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:58,033 INFO L93 Difference]: Finished difference Result 232 states and 291 transitions. [2022-04-15 12:02:58,033 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-15 12:02:58,033 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-15 12:02:58,033 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 12:02:58,033 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-15 12:02:58,035 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 125 transitions. [2022-04-15 12:02:58,035 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-15 12:02:58,037 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 125 transitions. [2022-04-15 12:02:58,037 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 125 transitions. [2022-04-15 12:02:58,202 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-15 12:02:58,206 INFO L225 Difference]: With dead ends: 232 [2022-04-15 12:02:58,207 INFO L226 Difference]: Without dead ends: 230 [2022-04-15 12:02:58,207 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-15 12:02:58,208 INFO L913 BasicCegarLoop]: 39 mSDtfsCounter, 243 mSDsluCounter, 27 mSDsCounter, 0 mSdLazyCounter, 485 mSolverCounterSat, 80 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s 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.7s IncrementalHoareTripleChecker+Time [2022-04-15 12:02:58,208 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.7s Time] [2022-04-15 12:02:58,209 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 230 states. [2022-04-15 12:02:59,512 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 230 to 170. [2022-04-15 12:02:59,512 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 12:02:59,513 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-15 12:02:59,513 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-15 12:02:59,513 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-15 12:02:59,535 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:59,535 INFO L93 Difference]: Finished difference Result 230 states and 289 transitions. [2022-04-15 12:02:59,535 INFO L276 IsEmpty]: Start isEmpty. Operand 230 states and 289 transitions. [2022-04-15 12:02:59,536 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:02:59,536 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:02:59,536 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-15 12:02:59,536 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-15 12:02:59,542 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:59,542 INFO L93 Difference]: Finished difference Result 230 states and 289 transitions. [2022-04-15 12:02:59,542 INFO L276 IsEmpty]: Start isEmpty. Operand 230 states and 289 transitions. [2022-04-15 12:02:59,543 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:02:59,543 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:02:59,543 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 12:02:59,543 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 12:02:59,543 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-15 12:02:59,547 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 170 states to 170 states and 211 transitions. [2022-04-15 12:02:59,547 INFO L78 Accepts]: Start accepts. Automaton has 170 states and 211 transitions. Word has length 39 [2022-04-15 12:02:59,547 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 12:02:59,547 INFO L478 AbstractCegarLoop]: Abstraction has 170 states and 211 transitions. [2022-04-15 12:02:59,548 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-15 12:02:59,548 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 170 states and 211 transitions. [2022-04-15 12:03:00,365 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-15 12:03:00,365 INFO L276 IsEmpty]: Start isEmpty. Operand 170 states and 211 transitions. [2022-04-15 12:03:00,366 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-04-15 12:03:00,366 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 12:03:00,366 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-15 12:03:00,395 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-15 12:03:00,566 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-15 12:03:00,567 INFO L403 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 12:03:00,567 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 12:03:00,567 INFO L85 PathProgramCache]: Analyzing trace with hash 994866975, now seen corresponding path program 7 times [2022-04-15 12:03:00,567 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 12:03:00,567 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [672308274] [2022-04-15 12:03:00,570 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-15 12:03:00,570 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 12:03:00,570 INFO L85 PathProgramCache]: Analyzing trace with hash 994866975, now seen corresponding path program 8 times [2022-04-15 12:03:00,571 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 12:03:00,571 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1092986340] [2022-04-15 12:03:00,571 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 12:03:00,571 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 12:03:00,611 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:03:00,994 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 12:03:00,996 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:03:01,012 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-15 12:03:01,012 INFO L290 TraceCheckUtils]: 1: Hoare triple {17314#true} assume true; {17314#true} is VALID [2022-04-15 12:03:01,012 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {17314#true} {17314#true} #123#return; {17314#true} is VALID [2022-04-15 12:03:01,013 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-15 12:03:01,013 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-15 12:03:01,013 INFO L290 TraceCheckUtils]: 2: Hoare triple {17314#true} assume true; {17314#true} is VALID [2022-04-15 12:03:01,013 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17314#true} {17314#true} #123#return; {17314#true} is VALID [2022-04-15 12:03:01,013 INFO L272 TraceCheckUtils]: 4: Hoare triple {17314#true} call #t~ret22 := main(); {17314#true} is VALID [2022-04-15 12:03:01,013 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-15 12:03:01,014 INFO L290 TraceCheckUtils]: 6: Hoare triple {17314#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {17314#true} is VALID [2022-04-15 12:03:01,014 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-15 12:03:01,014 INFO L290 TraceCheckUtils]: 8: Hoare triple {17314#true} assume !!(~i~0 < ~nodecount~0); {17314#true} is VALID [2022-04-15 12:03:01,014 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-15 12:03:01,014 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-15 12:03:01,014 INFO L290 TraceCheckUtils]: 11: Hoare triple {17314#true} assume !(~i~0 < ~nodecount~0); {17314#true} is VALID [2022-04-15 12:03:01,014 INFO L290 TraceCheckUtils]: 12: Hoare triple {17314#true} ~i~0 := 0; {17314#true} is VALID [2022-04-15 12:03:01,015 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-15 12:03:01,015 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-15 12:03:01,015 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-15 12:03:01,016 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-15 12:03:01,016 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-15 12:03:01,017 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-15 12:03:01,017 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-15 12:03:01,018 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-15 12:03:01,018 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-15 12:03:01,019 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-15 12:03:01,019 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-15 12:03:01,019 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-15 12:03:01,020 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-15 12:03:01,020 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-15 12:03:01,021 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-15 12:03:01,021 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-15 12:03:01,022 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-15 12:03:01,022 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-15 12:03:01,023 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-15 12:03:01,023 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-15 12:03:01,024 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-15 12:03:01,024 INFO L290 TraceCheckUtils]: 34: Hoare triple {17315#false} ~i~0 := 0; {17315#false} is VALID [2022-04-15 12:03:01,024 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-15 12:03:01,024 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-15 12:03:01,024 INFO L290 TraceCheckUtils]: 37: Hoare triple {17315#false} ~cond := #in~cond; {17315#false} is VALID [2022-04-15 12:03:01,024 INFO L290 TraceCheckUtils]: 38: Hoare triple {17315#false} assume 0 == ~cond; {17315#false} is VALID [2022-04-15 12:03:01,024 INFO L290 TraceCheckUtils]: 39: Hoare triple {17315#false} assume !false; {17315#false} is VALID [2022-04-15 12:03:01,025 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-15 12:03:01,025 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 12:03:01,025 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1092986340] [2022-04-15 12:03:01,025 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1092986340] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 12:03:01,025 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [509867979] [2022-04-15 12:03:01,025 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 12:03:01,025 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 12:03:01,026 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 12:03:01,045 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-15 12:03:01,047 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-15 12:03:01,169 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 12:03:01,170 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 12:03:01,171 INFO L263 TraceCheckSpWp]: Trace formula consists of 357 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 12:03:01,188 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:03:01,191 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 12:03:01,460 INFO L272 TraceCheckUtils]: 0: Hoare triple {17314#true} call ULTIMATE.init(); {17314#true} is VALID [2022-04-15 12:03:01,461 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-15 12:03:01,461 INFO L290 TraceCheckUtils]: 2: Hoare triple {17314#true} assume true; {17314#true} is VALID [2022-04-15 12:03:01,461 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17314#true} {17314#true} #123#return; {17314#true} is VALID [2022-04-15 12:03:01,461 INFO L272 TraceCheckUtils]: 4: Hoare triple {17314#true} call #t~ret22 := main(); {17314#true} is VALID [2022-04-15 12:03:01,461 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-15 12:03:01,461 INFO L290 TraceCheckUtils]: 6: Hoare triple {17314#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {17314#true} is VALID [2022-04-15 12:03:01,461 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-15 12:03:01,461 INFO L290 TraceCheckUtils]: 8: Hoare triple {17314#true} assume !!(~i~0 < ~nodecount~0); {17314#true} is VALID [2022-04-15 12:03:01,461 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-15 12:03:01,461 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-15 12:03:01,461 INFO L290 TraceCheckUtils]: 11: Hoare triple {17314#true} assume !(~i~0 < ~nodecount~0); {17314#true} is VALID [2022-04-15 12:03:01,462 INFO L290 TraceCheckUtils]: 12: Hoare triple {17314#true} ~i~0 := 0; {17314#true} is VALID [2022-04-15 12:03:01,462 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-15 12:03:01,462 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-15 12:03:01,463 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-15 12:03:01,463 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-15 12:03:01,464 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-15 12:03:01,464 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-15 12:03:01,465 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-15 12:03:01,465 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-15 12:03:01,466 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-15 12:03:01,466 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-15 12:03:01,466 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-15 12:03:01,467 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-15 12:03:01,467 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-15 12:03:01,468 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-15 12:03:01,468 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-15 12:03:01,469 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-15 12:03:01,469 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-15 12:03:01,470 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-15 12:03:01,470 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-15 12:03:01,471 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-15 12:03:01,471 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-15 12:03:01,471 INFO L290 TraceCheckUtils]: 34: Hoare triple {17315#false} ~i~0 := 0; {17315#false} is VALID [2022-04-15 12:03:01,472 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-15 12:03:01,472 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-15 12:03:01,472 INFO L290 TraceCheckUtils]: 37: Hoare triple {17315#false} ~cond := #in~cond; {17315#false} is VALID [2022-04-15 12:03:01,472 INFO L290 TraceCheckUtils]: 38: Hoare triple {17315#false} assume 0 == ~cond; {17315#false} is VALID [2022-04-15 12:03:01,472 INFO L290 TraceCheckUtils]: 39: Hoare triple {17315#false} assume !false; {17315#false} is VALID [2022-04-15 12:03:01,473 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-15 12:03:01,473 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 12:03:01,679 INFO L290 TraceCheckUtils]: 39: Hoare triple {17315#false} assume !false; {17315#false} is VALID [2022-04-15 12:03:01,679 INFO L290 TraceCheckUtils]: 38: Hoare triple {17315#false} assume 0 == ~cond; {17315#false} is VALID [2022-04-15 12:03:01,679 INFO L290 TraceCheckUtils]: 37: Hoare triple {17315#false} ~cond := #in~cond; {17315#false} is VALID [2022-04-15 12:03:01,679 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-15 12:03:01,679 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-15 12:03:01,680 INFO L290 TraceCheckUtils]: 34: Hoare triple {17315#false} ~i~0 := 0; {17315#false} is VALID [2022-04-15 12:03:01,680 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-15 12:03:01,681 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-15 12:03:01,681 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-15 12:03:01,681 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-15 12:03:01,682 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-15 12:03:01,682 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-15 12:03:01,683 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-15 12:03:01,683 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-15 12:03:01,683 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-15 12:03:01,684 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-15 12:03:01,684 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-15 12:03:01,684 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-15 12:03:01,685 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-15 12:03:01,686 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-15 12:03:01,686 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-15 12:03:01,687 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-15 12:03:01,687 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-15 12:03:01,687 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-15 12:03:01,688 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-15 12:03:01,688 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-15 12:03:01,689 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-15 12:03:01,689 INFO L290 TraceCheckUtils]: 12: Hoare triple {17314#true} ~i~0 := 0; {17314#true} is VALID [2022-04-15 12:03:01,689 INFO L290 TraceCheckUtils]: 11: Hoare triple {17314#true} assume !(~i~0 < ~nodecount~0); {17314#true} is VALID [2022-04-15 12:03:01,689 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-15 12:03:01,689 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-15 12:03:01,689 INFO L290 TraceCheckUtils]: 8: Hoare triple {17314#true} assume !!(~i~0 < ~nodecount~0); {17314#true} is VALID [2022-04-15 12:03:01,689 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-15 12:03:01,689 INFO L290 TraceCheckUtils]: 6: Hoare triple {17314#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {17314#true} is VALID [2022-04-15 12:03:01,689 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-15 12:03:01,690 INFO L272 TraceCheckUtils]: 4: Hoare triple {17314#true} call #t~ret22 := main(); {17314#true} is VALID [2022-04-15 12:03:01,690 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17314#true} {17314#true} #123#return; {17314#true} is VALID [2022-04-15 12:03:01,690 INFO L290 TraceCheckUtils]: 2: Hoare triple {17314#true} assume true; {17314#true} is VALID [2022-04-15 12:03:01,690 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-15 12:03:01,703 INFO L272 TraceCheckUtils]: 0: Hoare triple {17314#true} call ULTIMATE.init(); {17314#true} is VALID [2022-04-15 12:03:01,704 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-15 12:03:01,704 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [509867979] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 12:03:01,704 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 12:03:01,704 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9, 9] total 15 [2022-04-15 12:03:01,704 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 12:03:01,704 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [672308274] [2022-04-15 12:03:01,704 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [672308274] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 12:03:01,705 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 12:03:01,705 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-15 12:03:01,705 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1007616678] [2022-04-15 12:03:01,705 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 12:03:01,705 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-15 12:03:01,705 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 12:03:01,705 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-15 12:03:01,754 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-15 12:03:01,754 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-15 12:03:01,755 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 12:03:01,755 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-15 12:03:01,755 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=53, Invalid=157, Unknown=0, NotChecked=0, Total=210 [2022-04-15 12:03:01,755 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-15 12:03:05,440 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:03:05,440 INFO L93 Difference]: Finished difference Result 366 states and 463 transitions. [2022-04-15 12:03:05,441 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-15 12:03:05,441 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-15 12:03:05,441 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 12:03:05,441 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-15 12:03:05,443 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 136 transitions. [2022-04-15 12:03:05,444 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-15 12:03:05,447 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 136 transitions. [2022-04-15 12:03:05,447 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 136 transitions. [2022-04-15 12:03:05,584 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-15 12:03:05,592 INFO L225 Difference]: With dead ends: 366 [2022-04-15 12:03:05,592 INFO L226 Difference]: Without dead ends: 337 [2022-04-15 12:03:05,593 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 102 GetRequests, 75 SyntacticMatches, 2 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 145 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=170, Invalid=532, Unknown=0, NotChecked=0, Total=702 [2022-04-15 12:03:05,593 INFO L913 BasicCegarLoop]: 56 mSDtfsCounter, 141 mSDsluCounter, 32 mSDsCounter, 0 mSdLazyCounter, 445 mSolverCounterSat, 57 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s 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.5s IncrementalHoareTripleChecker+Time [2022-04-15 12:03:05,594 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.5s Time] [2022-04-15 12:03:05,594 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 337 states. [2022-04-15 12:03:07,315 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 337 to 227. [2022-04-15 12:03:07,315 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 12:03:07,316 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-15 12:03:07,316 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-15 12:03:07,316 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-15 12:03:07,328 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:03:07,328 INFO L93 Difference]: Finished difference Result 337 states and 431 transitions. [2022-04-15 12:03:07,328 INFO L276 IsEmpty]: Start isEmpty. Operand 337 states and 431 transitions. [2022-04-15 12:03:07,330 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:03:07,330 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:03:07,331 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-15 12:03:07,331 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-15 12:03:07,338 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:03:07,339 INFO L93 Difference]: Finished difference Result 337 states and 431 transitions. [2022-04-15 12:03:07,339 INFO L276 IsEmpty]: Start isEmpty. Operand 337 states and 431 transitions. [2022-04-15 12:03:07,340 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:03:07,340 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:03:07,340 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 12:03:07,340 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 12:03:07,340 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-15 12:03:07,345 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 227 states to 227 states and 290 transitions. [2022-04-15 12:03:07,345 INFO L78 Accepts]: Start accepts. Automaton has 227 states and 290 transitions. Word has length 40 [2022-04-15 12:03:07,345 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 12:03:07,345 INFO L478 AbstractCegarLoop]: Abstraction has 227 states and 290 transitions. [2022-04-15 12:03:07,345 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-15 12:03:07,345 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 227 states and 290 transitions. [2022-04-15 12:03:08,121 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-15 12:03:08,121 INFO L276 IsEmpty]: Start isEmpty. Operand 227 states and 290 transitions. [2022-04-15 12:03:08,122 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-04-15 12:03:08,122 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 12:03:08,122 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-15 12:03:08,149 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Forceful destruction successful, exit code 0 [2022-04-15 12:03:08,322 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-15 12:03:08,323 INFO L403 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 12:03:08,323 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 12:03:08,323 INFO L85 PathProgramCache]: Analyzing trace with hash -1497733084, now seen corresponding path program 3 times [2022-04-15 12:03:08,323 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 12:03:08,324 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [460549524] [2022-04-15 12:03:08,328 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-15 12:03:08,328 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 12:03:08,328 INFO L85 PathProgramCache]: Analyzing trace with hash -1497733084, now seen corresponding path program 4 times [2022-04-15 12:03:08,328 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 12:03:08,328 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [643955986] [2022-04-15 12:03:08,328 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 12:03:08,328 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 12:03:08,413 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:03:09,400 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 12:03:09,401 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:03:09,405 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-15 12:03:09,405 INFO L290 TraceCheckUtils]: 1: Hoare triple {19455#true} assume true; {19455#true} is VALID [2022-04-15 12:03:09,405 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {19455#true} {19455#true} #123#return; {19455#true} is VALID [2022-04-15 12:03:09,406 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-15 12:03:09,406 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-15 12:03:09,406 INFO L290 TraceCheckUtils]: 2: Hoare triple {19455#true} assume true; {19455#true} is VALID [2022-04-15 12:03:09,406 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {19455#true} {19455#true} #123#return; {19455#true} is VALID [2022-04-15 12:03:09,406 INFO L272 TraceCheckUtils]: 4: Hoare triple {19455#true} call #t~ret22 := main(); {19455#true} is VALID [2022-04-15 12:03:09,406 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-15 12:03:09,406 INFO L290 TraceCheckUtils]: 6: Hoare triple {19455#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {19455#true} is VALID [2022-04-15 12:03:09,410 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-15 12:03:09,411 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-15 12:03:09,412 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-15 12:03:09,412 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-15 12:03:09,413 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-15 12:03:09,414 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-15 12:03:09,414 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-15 12:03:09,415 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-15 12:03:09,415 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-15 12:03:09,416 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-15 12:03:09,417 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-15 12:03:09,417 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-15 12:03:09,418 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-15 12:03:09,419 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-15 12:03:09,419 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-15 12:03:09,420 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-15 12:03:09,420 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-15 12:03:09,421 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-15 12:03:09,422 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-15 12:03:09,422 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-15 12:03:09,423 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-15 12:03:09,423 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-15 12:03:09,424 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-15 12:03:09,424 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-15 12:03:09,425 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-15 12:03:09,425 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-15 12:03:09,426 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-15 12:03:09,426 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-15 12:03:09,427 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-15 12:03:09,427 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-15 12:03:09,428 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-15 12:03:09,428 INFO L290 TraceCheckUtils]: 38: Hoare triple {19473#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {19456#false} is VALID [2022-04-15 12:03:09,428 INFO L290 TraceCheckUtils]: 39: Hoare triple {19456#false} assume !false; {19456#false} is VALID [2022-04-15 12:03:09,429 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-15 12:03:09,429 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 12:03:09,429 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [643955986] [2022-04-15 12:03:09,429 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [643955986] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 12:03:09,429 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [695958805] [2022-04-15 12:03:09,429 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 12:03:09,429 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 12:03:09,429 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 12:03:09,432 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-15 12:03:09,453 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-15 12:03:09,583 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 12:03:09,583 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 12:03:09,585 INFO L263 TraceCheckSpWp]: Trace formula consists of 339 conjuncts, 65 conjunts are in the unsatisfiable core [2022-04-15 12:03:09,609 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:03:09,611 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 12:03:09,662 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-15 12:03:09,778 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-15 12:03:09,953 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-15 12:03:09,955 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-15 12:03:10,816 INFO L356 Elim1Store]: treesize reduction 22, result has 50.0 percent of original size [2022-04-15 12:03:10,817 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-15 12:03:12,351 INFO L356 Elim1Store]: treesize reduction 122, result has 40.5 percent of original size [2022-04-15 12:03:12,351 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-15 12:03:27,489 INFO L356 Elim1Store]: treesize reduction 23, result has 56.6 percent of original size [2022-04-15 12:03:27,490 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-15 12:03:27,872 INFO L272 TraceCheckUtils]: 0: Hoare triple {19455#true} call ULTIMATE.init(); {19455#true} is VALID [2022-04-15 12:03:27,872 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-15 12:03:27,872 INFO L290 TraceCheckUtils]: 2: Hoare triple {19455#true} assume true; {19455#true} is VALID [2022-04-15 12:03:27,872 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {19455#true} {19455#true} #123#return; {19455#true} is VALID [2022-04-15 12:03:27,872 INFO L272 TraceCheckUtils]: 4: Hoare triple {19455#true} call #t~ret22 := main(); {19455#true} is VALID [2022-04-15 12:03:27,872 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-15 12:03:27,873 INFO L290 TraceCheckUtils]: 6: Hoare triple {19455#true} assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); {19455#true} is VALID [2022-04-15 12:03:27,875 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-15 12:03:27,876 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-15 12:03:27,876 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-15 12:03:27,877 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-15 12:03:27,877 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-15 12:03:27,878 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-15 12:03:27,879 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-15 12:03:27,880 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-15 12:03:27,881 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-15 12:03:27,881 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-15 12:03:27,882 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-15 12:03:27,884 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-15 12:03:27,885 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-15 12:03:27,886 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-15 12:03:27,887 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-15 12:03:27,888 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-15 12:03:27,890 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-15 12:03:27,894 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-15 12:03:27,896 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-15 12:03:27,898 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-15 12:03:27,899 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-15 12:03:27,901 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-15 12:03:27,902 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-15 12:03:27,911 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-15 12:03:27,913 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-15 12:03:27,914 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-15 12:03:27,915 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-15 12:03:27,916 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-15 12:03:27,917 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-15 12:03:27,917 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-15 12:03:27,918 INFO L290 TraceCheckUtils]: 37: Hoare triple {19607#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {19611#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 12:03:27,918 INFO L290 TraceCheckUtils]: 38: Hoare triple {19611#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {19456#false} is VALID [2022-04-15 12:03:27,918 INFO L290 TraceCheckUtils]: 39: Hoare triple {19456#false} assume !false; {19456#false} is VALID [2022-04-15 12:03:27,919 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-15 12:03:27,919 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 12:04:46,747 WARN L232 SmtUtils]: Spent 10.86s on a formula simplification. DAG size of input: 33 DAG size of output: 22 (called from [L 353] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.arrays.Elim1Store.elim1) [2022-04-15 12:04:46,749 INFO L356 Elim1Store]: treesize reduction 20, result has 59.2 percent of original size [2022-04-15 12:04:46,820 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