./Ultimate.py --spec ../../sv-benchmarks/c/properties/unreach-call.prp --file ../../sv-benchmarks/c/loops/eureka_01_false-unreach-call_true-termination.i --full-output --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version aa418289 Calling Ultimate with: java -Dosgi.configuration.area=/tmp/vcloud-vcloud-master/worker/working_dir_838ae831-646e-48d0-9298-884fec51bd75/bin-2019/uautomizer/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_838ae831-646e-48d0-9298-884fec51bd75/bin-2019/uautomizer/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_838ae831-646e-48d0-9298-884fec51bd75/bin-2019/uautomizer/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_838ae831-646e-48d0-9298-884fec51bd75/bin-2019/uautomizer/config/AutomizerReach.xml -i ../../sv-benchmarks/c/loops/eureka_01_false-unreach-call_true-termination.i -s /tmp/vcloud-vcloud-master/worker/working_dir_838ae831-646e-48d0-9298-884fec51bd75/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_838ae831-646e-48d0-9298-884fec51bd75/bin-2019/uautomizer --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(__VERIFIER_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 70bf824eb1ce7a6b047f1b7928100a687c12a44d ........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................ Execution finished normally Writing output log to file Ultimate.log Writing human readable error path to file UltimateCounterExample.errorpath Result: FALSE --- Real Ultimate output --- This is Ultimate 0.1.23-aa41828 [2018-11-23 00:40:29,331 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 00:40:29,332 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 00:40:29,340 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 00:40:29,340 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 00:40:29,341 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 00:40:29,341 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 00:40:29,342 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 00:40:29,343 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 00:40:29,344 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 00:40:29,345 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 00:40:29,345 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 00:40:29,346 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 00:40:29,347 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 00:40:29,347 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 00:40:29,348 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 00:40:29,349 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 00:40:29,350 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 00:40:29,351 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 00:40:29,352 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 00:40:29,353 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 00:40:29,354 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 00:40:29,356 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 00:40:29,356 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 00:40:29,356 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 00:40:29,357 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 00:40:29,357 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 00:40:29,358 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 00:40:29,359 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 00:40:29,360 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 00:40:29,360 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 00:40:29,360 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 00:40:29,360 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 00:40:29,360 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 00:40:29,361 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 00:40:29,362 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 00:40:29,362 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_838ae831-646e-48d0-9298-884fec51bd75/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Default.epf [2018-11-23 00:40:29,371 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 00:40:29,371 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 00:40:29,371 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 00:40:29,372 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 00:40:29,372 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 00:40:29,372 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 00:40:29,372 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 00:40:29,372 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 00:40:29,373 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 00:40:29,373 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 00:40:29,373 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 00:40:29,373 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 00:40:29,373 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 00:40:29,373 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 00:40:29,373 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 00:40:29,373 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 00:40:29,373 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 00:40:29,373 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 00:40:29,374 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 00:40:29,375 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 00:40:29,375 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 00:40:29,375 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 00:40:29,375 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 00:40:29,375 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 00:40:29,375 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 00:40:29,375 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 00:40:29,375 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 00:40:29,375 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-23 00:40:29,375 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 00:40:29,376 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-23 00:40:29,376 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /tmp/vcloud-vcloud-master/worker/working_dir_838ae831-646e-48d0-9298-884fec51bd75/bin-2019/uautomizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G ! call(__VERIFIER_error())) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 70bf824eb1ce7a6b047f1b7928100a687c12a44d [2018-11-23 00:40:29,401 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 00:40:29,408 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 00:40:29,410 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 00:40:29,411 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 00:40:29,411 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 00:40:29,412 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_838ae831-646e-48d0-9298-884fec51bd75/bin-2019/uautomizer/../../sv-benchmarks/c/loops/eureka_01_false-unreach-call_true-termination.i [2018-11-23 00:40:29,449 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_838ae831-646e-48d0-9298-884fec51bd75/bin-2019/uautomizer/data/67cf7e667/8bf023ca76544de988334d819e0be1a9/FLAGfd1d51512 [2018-11-23 00:40:29,757 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 00:40:29,757 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_838ae831-646e-48d0-9298-884fec51bd75/sv-benchmarks/c/loops/eureka_01_false-unreach-call_true-termination.i [2018-11-23 00:40:29,762 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_838ae831-646e-48d0-9298-884fec51bd75/bin-2019/uautomizer/data/67cf7e667/8bf023ca76544de988334d819e0be1a9/FLAGfd1d51512 [2018-11-23 00:40:29,772 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_838ae831-646e-48d0-9298-884fec51bd75/bin-2019/uautomizer/data/67cf7e667/8bf023ca76544de988334d819e0be1a9 [2018-11-23 00:40:29,775 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 00:40:29,776 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 00:40:29,776 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 00:40:29,776 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 00:40:29,779 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 00:40:29,779 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 12:40:29" (1/1) ... [2018-11-23 00:40:29,781 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@2ab0a94f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:40:29, skipping insertion in model container [2018-11-23 00:40:29,781 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 12:40:29" (1/1) ... [2018-11-23 00:40:29,787 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 00:40:29,801 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 00:40:29,925 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 00:40:29,928 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 00:40:29,954 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 00:40:29,968 INFO L195 MainTranslator]: Completed translation [2018-11-23 00:40:29,968 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:40:29 WrapperNode [2018-11-23 00:40:29,968 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 00:40:29,969 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 00:40:29,969 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 00:40:29,969 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 00:40:29,976 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:40:29" (1/1) ... [2018-11-23 00:40:29,986 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:40:29" (1/1) ... [2018-11-23 00:40:29,993 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 00:40:29,994 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 00:40:29,994 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 00:40:29,994 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 00:40:30,038 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:40:29" (1/1) ... [2018-11-23 00:40:30,039 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:40:29" (1/1) ... [2018-11-23 00:40:30,041 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:40:29" (1/1) ... [2018-11-23 00:40:30,041 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:40:29" (1/1) ... [2018-11-23 00:40:30,053 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:40:29" (1/1) ... [2018-11-23 00:40:30,058 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:40:29" (1/1) ... [2018-11-23 00:40:30,059 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:40:29" (1/1) ... [2018-11-23 00:40:30,061 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 00:40:30,062 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 00:40:30,062 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 00:40:30,062 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 00:40:30,063 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:40:29" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_838ae831-646e-48d0-9298-884fec51bd75/bin-2019/uautomizer/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 00:40:30,099 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-23 00:40:30,099 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 00:40:30,099 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 00:40:30,099 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 00:40:30,100 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 00:40:30,100 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 00:40:30,100 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-23 00:40:30,100 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2018-11-23 00:40:30,100 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 00:40:30,100 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 00:40:30,100 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2018-11-23 00:40:30,100 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2018-11-23 00:40:30,100 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 00:40:30,357 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 00:40:30,357 INFO L280 CfgBuilder]: Removed 5 assue(true) statements. [2018-11-23 00:40:30,358 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 12:40:30 BoogieIcfgContainer [2018-11-23 00:40:30,358 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 00:40:30,358 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 00:40:30,359 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 00:40:30,360 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 00:40:30,361 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 12:40:29" (1/3) ... [2018-11-23 00:40:30,361 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@58d05e76 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 12:40:30, skipping insertion in model container [2018-11-23 00:40:30,361 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:40:29" (2/3) ... [2018-11-23 00:40:30,362 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@58d05e76 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 12:40:30, skipping insertion in model container [2018-11-23 00:40:30,362 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 12:40:30" (3/3) ... [2018-11-23 00:40:30,363 INFO L112 eAbstractionObserver]: Analyzing ICFG eureka_01_false-unreach-call_true-termination.i [2018-11-23 00:40:30,370 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 00:40:30,375 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 00:40:30,385 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 00:40:30,404 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 00:40:30,405 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 00:40:30,405 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 00:40:30,405 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 00:40:30,405 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 00:40:30,406 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 00:40:30,406 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 00:40:30,406 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 00:40:30,406 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 00:40:30,420 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states. [2018-11-23 00:40:30,423 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2018-11-23 00:40:30,423 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 00:40:30,424 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 00:40:30,425 INFO L423 AbstractCegarLoop]: === Iteration 1 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 00:40:30,429 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 00:40:30,429 INFO L82 PathProgramCache]: Analyzing trace with hash -539958144, now seen corresponding path program 1 times [2018-11-23 00:40:30,430 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 00:40:30,430 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 00:40:30,461 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 00:40:30,461 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 00:40:30,461 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 00:40:30,512 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 00:40:30,583 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 00:40:30,585 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 00:40:30,585 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2018-11-23 00:40:30,588 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2018-11-23 00:40:30,596 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2018-11-23 00:40:30,597 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2018-11-23 00:40:30,598 INFO L87 Difference]: Start difference. First operand 37 states. Second operand 5 states. [2018-11-23 00:40:30,747 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 00:40:30,747 INFO L93 Difference]: Finished difference Result 98 states and 149 transitions. [2018-11-23 00:40:30,747 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-11-23 00:40:30,748 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 19 [2018-11-23 00:40:30,749 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 00:40:30,755 INFO L225 Difference]: With dead ends: 98 [2018-11-23 00:40:30,756 INFO L226 Difference]: Without dead ends: 48 [2018-11-23 00:40:30,758 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 5 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2018-11-23 00:40:30,769 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2018-11-23 00:40:30,784 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 34. [2018-11-23 00:40:30,785 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 34 states. [2018-11-23 00:40:30,786 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 40 transitions. [2018-11-23 00:40:30,787 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 40 transitions. Word has length 19 [2018-11-23 00:40:30,787 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 00:40:30,787 INFO L480 AbstractCegarLoop]: Abstraction has 34 states and 40 transitions. [2018-11-23 00:40:30,787 INFO L481 AbstractCegarLoop]: Interpolant automaton has 5 states. [2018-11-23 00:40:30,787 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 40 transitions. [2018-11-23 00:40:30,788 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2018-11-23 00:40:30,788 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 00:40:30,788 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 00:40:30,788 INFO L423 AbstractCegarLoop]: === Iteration 2 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 00:40:30,788 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 00:40:30,788 INFO L82 PathProgramCache]: Analyzing trace with hash 2104518782, now seen corresponding path program 1 times [2018-11-23 00:40:30,789 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 00:40:30,789 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 00:40:30,789 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 00:40:30,789 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 00:40:30,790 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 00:40:30,823 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 00:40:30,981 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-23 00:40:30,981 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 00:40:30,981 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_838ae831-646e-48d0-9298-884fec51bd75/bin-2019/uautomizer/z3 Starting monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 00:40:30,994 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 00:40:31,037 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 00:40:31,043 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 00:40:31,087 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 8 [2018-11-23 00:40:31,091 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 7 [2018-11-23 00:40:31,092 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 00:40:31,094 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:40:31,104 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:40:31,104 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:15, output treesize:11 [2018-11-23 00:40:31,127 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 11 [2018-11-23 00:40:31,129 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 3 [2018-11-23 00:40:31,130 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 00:40:31,134 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:40:31,135 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:40:31,135 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:15, output treesize:3 [2018-11-23 00:40:31,150 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-23 00:40:31,173 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 00:40:31,173 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2018-11-23 00:40:31,173 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2018-11-23 00:40:31,174 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2018-11-23 00:40:31,174 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=54, Unknown=0, NotChecked=0, Total=72 [2018-11-23 00:40:31,174 INFO L87 Difference]: Start difference. First operand 34 states and 40 transitions. Second operand 9 states. [2018-11-23 00:40:31,297 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 00:40:31,297 INFO L93 Difference]: Finished difference Result 78 states and 97 transitions. [2018-11-23 00:40:31,297 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-11-23 00:40:31,298 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 25 [2018-11-23 00:40:31,298 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 00:40:31,299 INFO L225 Difference]: With dead ends: 78 [2018-11-23 00:40:31,299 INFO L226 Difference]: Without dead ends: 76 [2018-11-23 00:40:31,300 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 35 GetRequests, 21 SyntacticMatches, 5 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 18 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=29, Invalid=81, Unknown=0, NotChecked=0, Total=110 [2018-11-23 00:40:31,300 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 76 states. [2018-11-23 00:40:31,307 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 76 to 55. [2018-11-23 00:40:31,307 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 55 states. [2018-11-23 00:40:31,308 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 67 transitions. [2018-11-23 00:40:31,308 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 67 transitions. Word has length 25 [2018-11-23 00:40:31,308 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 00:40:31,309 INFO L480 AbstractCegarLoop]: Abstraction has 55 states and 67 transitions. [2018-11-23 00:40:31,309 INFO L481 AbstractCegarLoop]: Interpolant automaton has 9 states. [2018-11-23 00:40:31,309 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 67 transitions. [2018-11-23 00:40:31,309 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2018-11-23 00:40:31,310 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 00:40:31,310 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 00:40:31,310 INFO L423 AbstractCegarLoop]: === Iteration 3 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 00:40:31,310 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 00:40:31,310 INFO L82 PathProgramCache]: Analyzing trace with hash 1083450428, now seen corresponding path program 1 times [2018-11-23 00:40:31,311 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 00:40:31,311 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 00:40:31,311 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 00:40:31,312 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 00:40:31,312 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 00:40:31,323 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 00:40:31,342 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-23 00:40:31,343 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 00:40:31,343 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 00:40:31,343 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 00:40:31,343 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 00:40:31,343 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 00:40:31,344 INFO L87 Difference]: Start difference. First operand 55 states and 67 transitions. Second operand 3 states. [2018-11-23 00:40:31,377 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 00:40:31,377 INFO L93 Difference]: Finished difference Result 82 states and 101 transitions. [2018-11-23 00:40:31,377 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 00:40:31,378 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 25 [2018-11-23 00:40:31,378 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 00:40:31,379 INFO L225 Difference]: With dead ends: 82 [2018-11-23 00:40:31,379 INFO L226 Difference]: Without dead ends: 57 [2018-11-23 00:40:31,380 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 00:40:31,380 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 57 states. [2018-11-23 00:40:31,384 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 57 to 56. [2018-11-23 00:40:31,384 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 56 states. [2018-11-23 00:40:31,384 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 68 transitions. [2018-11-23 00:40:31,385 INFO L78 Accepts]: Start accepts. Automaton has 56 states and 68 transitions. Word has length 25 [2018-11-23 00:40:31,385 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 00:40:31,385 INFO L480 AbstractCegarLoop]: Abstraction has 56 states and 68 transitions. [2018-11-23 00:40:31,385 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 00:40:31,385 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 68 transitions. [2018-11-23 00:40:31,386 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2018-11-23 00:40:31,386 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 00:40:31,386 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 00:40:31,386 INFO L423 AbstractCegarLoop]: === Iteration 4 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 00:40:31,387 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 00:40:31,387 INFO L82 PathProgramCache]: Analyzing trace with hash 3338338, now seen corresponding path program 1 times [2018-11-23 00:40:31,387 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 00:40:31,387 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 00:40:31,388 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 00:40:31,388 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 00:40:31,388 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 00:40:31,407 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 00:40:31,459 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-23 00:40:31,459 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 00:40:31,459 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_838ae831-646e-48d0-9298-884fec51bd75/bin-2019/uautomizer/z3 Starting monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 00:40:31,465 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 00:40:31,499 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 00:40:31,502 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 00:40:31,526 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-23 00:40:31,541 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 00:40:31,541 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 5] total 8 [2018-11-23 00:40:31,542 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-11-23 00:40:31,542 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-11-23 00:40:31,542 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2018-11-23 00:40:31,542 INFO L87 Difference]: Start difference. First operand 56 states and 68 transitions. Second operand 8 states. [2018-11-23 00:40:31,656 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 00:40:31,656 INFO L93 Difference]: Finished difference Result 130 states and 165 transitions. [2018-11-23 00:40:31,657 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-23 00:40:31,657 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 28 [2018-11-23 00:40:31,657 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 00:40:31,658 INFO L225 Difference]: With dead ends: 130 [2018-11-23 00:40:31,658 INFO L226 Difference]: Without dead ends: 94 [2018-11-23 00:40:31,659 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 35 GetRequests, 27 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=32, Invalid=58, Unknown=0, NotChecked=0, Total=90 [2018-11-23 00:40:31,659 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 94 states. [2018-11-23 00:40:31,668 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 94 to 68. [2018-11-23 00:40:31,668 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 68 states. [2018-11-23 00:40:31,669 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 68 states to 68 states and 84 transitions. [2018-11-23 00:40:31,669 INFO L78 Accepts]: Start accepts. Automaton has 68 states and 84 transitions. Word has length 28 [2018-11-23 00:40:31,670 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 00:40:31,670 INFO L480 AbstractCegarLoop]: Abstraction has 68 states and 84 transitions. [2018-11-23 00:40:31,670 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-11-23 00:40:31,670 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 84 transitions. [2018-11-23 00:40:31,671 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2018-11-23 00:40:31,671 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 00:40:31,671 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 00:40:31,671 INFO L423 AbstractCegarLoop]: === Iteration 5 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 00:40:31,672 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 00:40:31,672 INFO L82 PathProgramCache]: Analyzing trace with hash 1687190263, now seen corresponding path program 1 times [2018-11-23 00:40:31,672 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 00:40:31,672 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 00:40:31,673 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 00:40:31,673 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 00:40:31,673 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 00:40:31,684 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 00:40:31,734 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 00:40:31,734 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 00:40:31,734 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_838ae831-646e-48d0-9298-884fec51bd75/bin-2019/uautomizer/z3 Starting monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 00:40:31,745 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 00:40:31,773 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 00:40:31,775 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 00:40:31,808 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 00:40:31,824 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 00:40:31,825 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 10 [2018-11-23 00:40:31,825 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-11-23 00:40:31,825 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-11-23 00:40:31,825 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=30, Invalid=60, Unknown=0, NotChecked=0, Total=90 [2018-11-23 00:40:31,826 INFO L87 Difference]: Start difference. First operand 68 states and 84 transitions. Second operand 10 states. [2018-11-23 00:40:32,034 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 00:40:32,035 INFO L93 Difference]: Finished difference Result 195 states and 249 transitions. [2018-11-23 00:40:32,035 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-11-23 00:40:32,035 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 28 [2018-11-23 00:40:32,035 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 00:40:32,036 INFO L225 Difference]: With dead ends: 195 [2018-11-23 00:40:32,036 INFO L226 Difference]: Without dead ends: 165 [2018-11-23 00:40:32,037 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 38 GetRequests, 26 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 20 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=57, Invalid=125, Unknown=0, NotChecked=0, Total=182 [2018-11-23 00:40:32,037 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 165 states. [2018-11-23 00:40:32,048 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 165 to 87. [2018-11-23 00:40:32,048 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 87 states. [2018-11-23 00:40:32,048 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 87 states to 87 states and 110 transitions. [2018-11-23 00:40:32,049 INFO L78 Accepts]: Start accepts. Automaton has 87 states and 110 transitions. Word has length 28 [2018-11-23 00:40:32,049 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 00:40:32,050 INFO L480 AbstractCegarLoop]: Abstraction has 87 states and 110 transitions. [2018-11-23 00:40:32,050 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-11-23 00:40:32,050 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 110 transitions. [2018-11-23 00:40:32,051 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2018-11-23 00:40:32,051 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 00:40:32,052 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 00:40:32,052 INFO L423 AbstractCegarLoop]: === Iteration 6 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 00:40:32,052 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 00:40:32,052 INFO L82 PathProgramCache]: Analyzing trace with hash 1281163029, now seen corresponding path program 1 times [2018-11-23 00:40:32,052 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 00:40:32,053 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 00:40:32,053 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 00:40:32,054 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 00:40:32,054 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 00:40:32,105 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 00:40:32,832 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 00:40:32,832 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 00:40:32,832 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_838ae831-646e-48d0-9298-884fec51bd75/bin-2019/uautomizer/z3 Starting monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 00:40:32,845 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 00:40:32,872 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 00:40:32,875 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 00:40:32,882 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 25 [2018-11-23 00:40:32,890 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:40:32,898 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:40:32,899 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 38 [2018-11-23 00:40:32,917 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:40:32,919 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:40:32,920 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:40:32,920 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:40:32,921 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 21 [2018-11-23 00:40:32,922 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 00:40:32,929 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:40:32,935 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:40:32,944 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:40:32,944 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 3 variables, input treesize:42, output treesize:21 [2018-11-23 00:40:32,964 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:40:32,964 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 19 treesize of output 29 [2018-11-23 00:40:32,966 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 16 [2018-11-23 00:40:32,967 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 00:40:32,971 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:40:32,976 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:40:32,977 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:29, output treesize:21 [2018-11-23 00:40:33,039 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:40:33,041 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:40:33,043 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:40:33,044 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 55 [2018-11-23 00:40:33,048 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:40:33,056 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:40:33,065 INFO L478 Elim1Store]: Elim1 applied some preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 3 case distinctions, treesize of input 37 treesize of output 66 [2018-11-23 00:40:33,066 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 2 xjuncts. [2018-11-23 00:40:33,092 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:40:33,101 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-11-23 00:40:33,101 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:40, output treesize:36 [2018-11-23 00:40:33,186 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:40:33,187 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:40:33,189 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 40 treesize of output 38 [2018-11-23 00:40:33,197 INFO L478 Elim1Store]: Elim1 applied some preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 1 case distinctions, treesize of input 15 treesize of output 21 [2018-11-23 00:40:33,200 INFO L267 ElimStorePlain]: Start of recursive call 3: 2 dim-0 vars, End of recursive call: 2 dim-0 vars, and 3 xjuncts. [2018-11-23 00:40:33,211 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:40:33,211 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:40:33,212 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 20 treesize of output 10 [2018-11-23 00:40:33,213 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 00:40:33,217 INFO L267 ElimStorePlain]: Start of recursive call 2: 2 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:40:33,221 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:40:33,221 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 4 variables, input treesize:40, output treesize:3 [2018-11-23 00:40:33,271 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-23 00:40:33,299 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 00:40:33,300 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 11] total 24 [2018-11-23 00:40:33,300 INFO L459 AbstractCegarLoop]: Interpolant automaton has 24 states [2018-11-23 00:40:33,300 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 24 interpolants. [2018-11-23 00:40:33,300 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=84, Invalid=468, Unknown=0, NotChecked=0, Total=552 [2018-11-23 00:40:33,300 INFO L87 Difference]: Start difference. First operand 87 states and 110 transitions. Second operand 24 states. [2018-11-23 00:40:34,613 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 00:40:34,613 INFO L93 Difference]: Finished difference Result 225 states and 290 transitions. [2018-11-23 00:40:34,614 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 27 states. [2018-11-23 00:40:34,614 INFO L78 Accepts]: Start accepts. Automaton has 24 states. Word has length 31 [2018-11-23 00:40:34,614 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 00:40:34,616 INFO L225 Difference]: With dead ends: 225 [2018-11-23 00:40:34,616 INFO L226 Difference]: Without dead ends: 223 [2018-11-23 00:40:34,616 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 65 GetRequests, 23 SyntacticMatches, 1 SemanticMatches, 41 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 408 ImplicationChecksByTransitivity, 1.5s TimeCoverageRelationStatistics Valid=380, Invalid=1426, Unknown=0, NotChecked=0, Total=1806 [2018-11-23 00:40:34,617 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 223 states. [2018-11-23 00:40:34,633 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 223 to 89. [2018-11-23 00:40:34,634 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 89 states. [2018-11-23 00:40:34,634 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 89 states to 89 states and 114 transitions. [2018-11-23 00:40:34,635 INFO L78 Accepts]: Start accepts. Automaton has 89 states and 114 transitions. Word has length 31 [2018-11-23 00:40:34,635 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 00:40:34,635 INFO L480 AbstractCegarLoop]: Abstraction has 89 states and 114 transitions. [2018-11-23 00:40:34,635 INFO L481 AbstractCegarLoop]: Interpolant automaton has 24 states. [2018-11-23 00:40:34,635 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 114 transitions. [2018-11-23 00:40:34,636 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2018-11-23 00:40:34,636 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 00:40:34,636 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 00:40:34,636 INFO L423 AbstractCegarLoop]: === Iteration 7 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 00:40:34,636 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 00:40:34,636 INFO L82 PathProgramCache]: Analyzing trace with hash -1972596862, now seen corresponding path program 2 times [2018-11-23 00:40:34,637 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 00:40:34,637 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 00:40:34,637 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 00:40:34,637 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 00:40:34,638 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 00:40:34,649 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 00:40:34,734 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2018-11-23 00:40:34,734 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 00:40:34,734 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_838ae831-646e-48d0-9298-884fec51bd75/bin-2019/uautomizer/z3 Starting monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 00:40:34,740 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 00:40:34,760 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 00:40:34,760 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 00:40:34,763 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 00:40:34,788 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 12 [2018-11-23 00:40:34,791 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 11 [2018-11-23 00:40:34,791 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 00:40:34,793 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:40:34,798 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:40:34,798 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:25, output treesize:21 [2018-11-23 00:40:34,831 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 16 [2018-11-23 00:40:34,833 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:40:34,835 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 23 [2018-11-23 00:40:34,836 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 00:40:34,841 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:40:34,847 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:40:34,847 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:24, output treesize:11 [2018-11-23 00:40:34,863 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 11 [2018-11-23 00:40:34,867 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 3 [2018-11-23 00:40:34,867 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 00:40:34,869 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:40:34,871 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:40:34,871 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:15, output treesize:3 [2018-11-23 00:40:34,890 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2018-11-23 00:40:34,912 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 00:40:34,912 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 10] total 13 [2018-11-23 00:40:34,912 INFO L459 AbstractCegarLoop]: Interpolant automaton has 13 states [2018-11-23 00:40:34,913 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2018-11-23 00:40:34,913 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=123, Unknown=0, NotChecked=0, Total=156 [2018-11-23 00:40:34,913 INFO L87 Difference]: Start difference. First operand 89 states and 114 transitions. Second operand 13 states. [2018-11-23 00:40:35,156 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 00:40:35,156 INFO L93 Difference]: Finished difference Result 305 states and 403 transitions. [2018-11-23 00:40:35,157 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2018-11-23 00:40:35,157 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 31 [2018-11-23 00:40:35,157 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 00:40:35,158 INFO L225 Difference]: With dead ends: 305 [2018-11-23 00:40:35,158 INFO L226 Difference]: Without dead ends: 229 [2018-11-23 00:40:35,158 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 45 GetRequests, 25 SyntacticMatches, 5 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 52 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=59, Invalid=213, Unknown=0, NotChecked=0, Total=272 [2018-11-23 00:40:35,159 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 229 states. [2018-11-23 00:40:35,172 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 229 to 102. [2018-11-23 00:40:35,172 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 102 states. [2018-11-23 00:40:35,173 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 102 states to 102 states and 133 transitions. [2018-11-23 00:40:35,173 INFO L78 Accepts]: Start accepts. Automaton has 102 states and 133 transitions. Word has length 31 [2018-11-23 00:40:35,173 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 00:40:35,173 INFO L480 AbstractCegarLoop]: Abstraction has 102 states and 133 transitions. [2018-11-23 00:40:35,173 INFO L481 AbstractCegarLoop]: Interpolant automaton has 13 states. [2018-11-23 00:40:35,173 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 133 transitions. [2018-11-23 00:40:35,174 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2018-11-23 00:40:35,174 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 00:40:35,175 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 00:40:35,175 INFO L423 AbstractCegarLoop]: === Iteration 8 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 00:40:35,175 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 00:40:35,175 INFO L82 PathProgramCache]: Analyzing trace with hash -1698114635, now seen corresponding path program 1 times [2018-11-23 00:40:35,175 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 00:40:35,175 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 00:40:35,176 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 00:40:35,176 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 00:40:35,176 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 00:40:35,183 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 00:40:35,224 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 3 proven. 2 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-23 00:40:35,224 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 00:40:35,224 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_838ae831-646e-48d0-9298-884fec51bd75/bin-2019/uautomizer/z3 Starting monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 00:40:35,243 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 00:40:35,270 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 00:40:35,272 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 00:40:35,299 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 4 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-23 00:40:35,315 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 00:40:35,315 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 10 [2018-11-23 00:40:35,316 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-11-23 00:40:35,316 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-11-23 00:40:35,316 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=61, Unknown=0, NotChecked=0, Total=90 [2018-11-23 00:40:35,316 INFO L87 Difference]: Start difference. First operand 102 states and 133 transitions. Second operand 10 states. [2018-11-23 00:40:35,426 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 00:40:35,426 INFO L93 Difference]: Finished difference Result 223 states and 287 transitions. [2018-11-23 00:40:35,427 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-11-23 00:40:35,427 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 33 [2018-11-23 00:40:35,427 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 00:40:35,428 INFO L225 Difference]: With dead ends: 223 [2018-11-23 00:40:35,428 INFO L226 Difference]: Without dead ends: 154 [2018-11-23 00:40:35,429 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 41 GetRequests, 31 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 19 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=42, Invalid=90, Unknown=0, NotChecked=0, Total=132 [2018-11-23 00:40:35,429 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 154 states. [2018-11-23 00:40:35,446 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 154 to 110. [2018-11-23 00:40:35,446 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 110 states. [2018-11-23 00:40:35,446 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 110 states to 110 states and 140 transitions. [2018-11-23 00:40:35,447 INFO L78 Accepts]: Start accepts. Automaton has 110 states and 140 transitions. Word has length 33 [2018-11-23 00:40:35,447 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 00:40:35,447 INFO L480 AbstractCegarLoop]: Abstraction has 110 states and 140 transitions. [2018-11-23 00:40:35,447 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-11-23 00:40:35,447 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 140 transitions. [2018-11-23 00:40:35,448 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2018-11-23 00:40:35,448 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 00:40:35,448 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 00:40:35,448 INFO L423 AbstractCegarLoop]: === Iteration 9 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 00:40:35,449 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 00:40:35,449 INFO L82 PathProgramCache]: Analyzing trace with hash -1142223879, now seen corresponding path program 2 times [2018-11-23 00:40:35,449 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 00:40:35,449 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 00:40:35,450 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 00:40:35,450 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 00:40:35,450 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 00:40:35,462 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 00:40:35,506 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 1 proven. 6 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-23 00:40:35,506 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 00:40:35,506 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_838ae831-646e-48d0-9298-884fec51bd75/bin-2019/uautomizer/z3 Starting monitored process 8 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 8 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 00:40:35,520 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 00:40:35,545 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 00:40:35,545 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 00:40:35,547 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 00:40:35,596 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 2 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-23 00:40:35,613 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 00:40:35,613 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 10 [2018-11-23 00:40:35,614 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-11-23 00:40:35,614 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-11-23 00:40:35,614 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2018-11-23 00:40:35,615 INFO L87 Difference]: Start difference. First operand 110 states and 140 transitions. Second operand 10 states. [2018-11-23 00:40:35,766 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 00:40:35,766 INFO L93 Difference]: Finished difference Result 214 states and 269 transitions. [2018-11-23 00:40:35,767 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2018-11-23 00:40:35,767 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 34 [2018-11-23 00:40:35,768 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 00:40:35,768 INFO L225 Difference]: With dead ends: 214 [2018-11-23 00:40:35,769 INFO L226 Difference]: Without dead ends: 193 [2018-11-23 00:40:35,770 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 47 GetRequests, 32 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=79, Invalid=193, Unknown=0, NotChecked=0, Total=272 [2018-11-23 00:40:35,772 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 193 states. [2018-11-23 00:40:35,793 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 193 to 143. [2018-11-23 00:40:35,793 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 143 states. [2018-11-23 00:40:35,794 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 143 states to 143 states and 183 transitions. [2018-11-23 00:40:35,794 INFO L78 Accepts]: Start accepts. Automaton has 143 states and 183 transitions. Word has length 34 [2018-11-23 00:40:35,794 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 00:40:35,795 INFO L480 AbstractCegarLoop]: Abstraction has 143 states and 183 transitions. [2018-11-23 00:40:35,795 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-11-23 00:40:35,795 INFO L276 IsEmpty]: Start isEmpty. Operand 143 states and 183 transitions. [2018-11-23 00:40:35,796 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2018-11-23 00:40:35,796 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 00:40:35,796 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 00:40:35,796 INFO L423 AbstractCegarLoop]: === Iteration 10 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 00:40:35,797 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 00:40:35,797 INFO L82 PathProgramCache]: Analyzing trace with hash 1647290398, now seen corresponding path program 3 times [2018-11-23 00:40:35,797 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 00:40:35,799 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 00:40:35,800 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 00:40:35,800 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 00:40:35,800 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 00:40:35,841 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 00:40:36,797 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 12 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 00:40:36,797 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 00:40:36,797 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_838ae831-646e-48d0-9298-884fec51bd75/bin-2019/uautomizer/z3 Starting monitored process 9 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 9 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 00:40:36,806 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 00:40:36,847 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2018-11-23 00:40:36,847 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 00:40:36,850 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 00:40:36,862 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 25 [2018-11-23 00:40:36,869 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:40:36,871 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:40:36,872 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 38 [2018-11-23 00:40:36,888 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:40:36,889 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:40:36,890 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:40:36,894 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:40:36,894 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 21 [2018-11-23 00:40:36,895 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 00:40:36,900 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:40:36,905 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:40:36,914 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:40:36,915 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 3 variables, input treesize:51, output treesize:30 [2018-11-23 00:40:36,941 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:40:36,942 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 38 [2018-11-23 00:40:36,944 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 16 [2018-11-23 00:40:36,944 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 00:40:36,950 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:40:36,956 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:40:36,956 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:38, output treesize:30 [2018-11-23 00:40:37,028 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:40:37,029 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:40:37,030 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:40:37,034 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 50 treesize of output 68 [2018-11-23 00:40:37,038 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:40:37,040 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:40:37,048 INFO L478 Elim1Store]: Elim1 applied some preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 3 case distinctions, treesize of input 37 treesize of output 66 [2018-11-23 00:40:37,049 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 2 xjuncts. [2018-11-23 00:40:37,067 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:40:37,076 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 00:40:37,076 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:59, output treesize:55 [2018-11-23 00:40:37,168 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:40:37,169 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:40:37,170 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:40:37,171 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 64 treesize of output 80 [2018-11-23 00:40:37,177 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:40:37,179 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:40:37,184 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:40:37,194 INFO L478 Elim1Store]: Elim1 applied some preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 2 new quantified variables, introduced 4 case distinctions, treesize of input 48 treesize of output 97 [2018-11-23 00:40:37,196 INFO L267 ElimStorePlain]: Start of recursive call 3: 2 dim-0 vars, End of recursive call: 2 dim-0 vars, and 4 xjuncts. [2018-11-23 00:40:37,253 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 4 xjuncts. [2018-11-23 00:40:37,303 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-2 vars, End of recursive call: 14 dim-0 vars, and 4 xjuncts. [2018-11-23 00:40:37,303 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 4 variables, input treesize:67, output treesize:298 [2018-11-23 00:40:37,740 WARN L180 SmtUtils]: Spent 320.00 ms on a formula simplification. DAG size of input: 123 DAG size of output: 39 [2018-11-23 00:40:37,798 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:40:37,802 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:40:37,803 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 77 treesize of output 65 [2018-11-23 00:40:37,809 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:40:37,812 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:40:37,816 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:40:37,843 INFO L478 Elim1Store]: Elim1 applied some preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 5 disjoint index pairs (out of 10 index pairs), introduced 3 new quantified variables, introduced 7 case distinctions, treesize of input 41 treesize of output 92 [2018-11-23 00:40:37,844 WARN L138 XnfTransformerHelper]: expecting exponential blowup for input size 7 [2018-11-23 00:40:37,856 INFO L267 ElimStorePlain]: Start of recursive call 3: 12 dim-0 vars, End of recursive call: 12 dim-0 vars, and 15 xjuncts. [2018-11-23 00:40:37,916 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 2 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 2 case distinctions, treesize of input 32 treesize of output 38 [2018-11-23 00:40:37,918 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 4 xjuncts. [2018-11-23 00:40:37,922 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 28 [2018-11-23 00:40:37,922 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 00:40:37,937 INFO L267 ElimStorePlain]: Start of recursive call 2: 2 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:40:37,941 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:40:37,941 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 6 variables, input treesize:77, output treesize:3 [2018-11-23 00:40:38,003 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 11 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-23 00:40:38,023 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 00:40:38,024 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 14] total 30 [2018-11-23 00:40:38,024 INFO L459 AbstractCegarLoop]: Interpolant automaton has 30 states [2018-11-23 00:40:38,024 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 30 interpolants. [2018-11-23 00:40:38,025 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=111, Invalid=759, Unknown=0, NotChecked=0, Total=870 [2018-11-23 00:40:38,025 INFO L87 Difference]: Start difference. First operand 143 states and 183 transitions. Second operand 30 states. [2018-11-23 00:40:42,242 WARN L180 SmtUtils]: Spent 3.22 s on a formula simplification. DAG size of input: 91 DAG size of output: 78 [2018-11-23 00:40:55,431 WARN L180 SmtUtils]: Spent 976.00 ms on a formula simplification. DAG size of input: 104 DAG size of output: 79 [2018-11-23 00:40:56,407 WARN L180 SmtUtils]: Spent 868.00 ms on a formula simplification. DAG size of input: 97 DAG size of output: 73 [2018-11-23 00:40:58,913 WARN L180 SmtUtils]: Spent 467.00 ms on a formula simplification. DAG size of input: 93 DAG size of output: 80 [2018-11-23 00:41:06,859 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 00:41:06,859 INFO L93 Difference]: Finished difference Result 705 states and 906 transitions. [2018-11-23 00:41:06,860 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 82 states. [2018-11-23 00:41:06,860 INFO L78 Accepts]: Start accepts. Automaton has 30 states. Word has length 37 [2018-11-23 00:41:06,860 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 00:41:06,862 INFO L225 Difference]: With dead ends: 705 [2018-11-23 00:41:06,863 INFO L226 Difference]: Without dead ends: 657 [2018-11-23 00:41:06,866 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 129 GetRequests, 26 SyntacticMatches, 1 SemanticMatches, 102 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3324 ImplicationChecksByTransitivity, 17.2s TimeCoverageRelationStatistics Valid=1545, Invalid=9165, Unknown=2, NotChecked=0, Total=10712 [2018-11-23 00:41:06,866 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 657 states. [2018-11-23 00:41:06,905 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 657 to 184. [2018-11-23 00:41:06,905 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 184 states. [2018-11-23 00:41:06,906 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 184 states to 184 states and 244 transitions. [2018-11-23 00:41:06,906 INFO L78 Accepts]: Start accepts. Automaton has 184 states and 244 transitions. Word has length 37 [2018-11-23 00:41:06,907 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 00:41:06,907 INFO L480 AbstractCegarLoop]: Abstraction has 184 states and 244 transitions. [2018-11-23 00:41:06,907 INFO L481 AbstractCegarLoop]: Interpolant automaton has 30 states. [2018-11-23 00:41:06,907 INFO L276 IsEmpty]: Start isEmpty. Operand 184 states and 244 transitions. [2018-11-23 00:41:06,908 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2018-11-23 00:41:06,908 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 00:41:06,908 INFO L402 BasicCegarLoop]: trace histogram [4, 4, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 00:41:06,908 INFO L423 AbstractCegarLoop]: === Iteration 11 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 00:41:06,908 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 00:41:06,909 INFO L82 PathProgramCache]: Analyzing trace with hash 2064143268, now seen corresponding path program 3 times [2018-11-23 00:41:06,909 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 00:41:06,909 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 00:41:06,909 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 00:41:06,910 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 00:41:06,910 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 00:41:06,917 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 00:41:06,960 INFO L134 CoverageAnalysis]: Checked inductivity of 27 backedges. 13 proven. 7 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2018-11-23 00:41:06,960 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 00:41:06,960 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_838ae831-646e-48d0-9298-884fec51bd75/bin-2019/uautomizer/z3 Starting monitored process 10 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 10 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 00:41:06,986 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 00:41:07,020 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2018-11-23 00:41:07,020 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 00:41:07,023 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 00:41:07,030 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 25 [2018-11-23 00:41:07,075 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:41:07,086 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:41:07,087 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 38 [2018-11-23 00:41:07,101 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:41:07,102 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:41:07,103 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:41:07,104 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:41:07,105 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 21 [2018-11-23 00:41:07,105 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 00:41:07,110 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:41:07,114 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:41:07,120 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:41:07,120 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 4 variables, input treesize:29, output treesize:3 [2018-11-23 00:41:07,127 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 12 [2018-11-23 00:41:07,128 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 11 [2018-11-23 00:41:07,129 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 00:41:07,130 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:41:07,134 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:41:07,134 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:22, output treesize:18 [2018-11-23 00:41:07,157 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 22 [2018-11-23 00:41:07,165 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 2 case distinctions, treesize of input 22 treesize of output 35 [2018-11-23 00:41:07,166 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 2 xjuncts. [2018-11-23 00:41:07,173 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-23 00:41:07,184 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 2 xjuncts. [2018-11-23 00:41:07,184 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:39, output treesize:33 [2018-11-23 00:41:07,336 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 19 treesize of output 15 [2018-11-23 00:41:07,338 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 00:41:07,339 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 11 [2018-11-23 00:41:07,339 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 00:41:07,343 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:41:07,347 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:41:07,347 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 4 variables, input treesize:30, output treesize:3 [2018-11-23 00:41:07,386 INFO L134 CoverageAnalysis]: Checked inductivity of 27 backedges. 9 proven. 11 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2018-11-23 00:41:07,414 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 00:41:07,414 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 15] total 18 [2018-11-23 00:41:07,414 INFO L459 AbstractCegarLoop]: Interpolant automaton has 18 states [2018-11-23 00:41:07,414 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2018-11-23 00:41:07,415 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=52, Invalid=254, Unknown=0, NotChecked=0, Total=306 [2018-11-23 00:41:07,415 INFO L87 Difference]: Start difference. First operand 184 states and 244 transitions. Second operand 18 states. [2018-11-23 00:41:08,107 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 00:41:08,108 INFO L93 Difference]: Finished difference Result 406 states and 538 transitions. [2018-11-23 00:41:08,108 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2018-11-23 00:41:08,108 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 37 [2018-11-23 00:41:08,108 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 00:41:08,109 INFO L225 Difference]: With dead ends: 406 [2018-11-23 00:41:08,109 INFO L226 Difference]: Without dead ends: 264 [2018-11-23 00:41:08,110 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 54 GetRequests, 25 SyntacticMatches, 1 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 151 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=180, Invalid=690, Unknown=0, NotChecked=0, Total=870 [2018-11-23 00:41:08,110 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 264 states. [2018-11-23 00:41:08,139 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 264 to 180. [2018-11-23 00:41:08,140 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 180 states. [2018-11-23 00:41:08,140 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 180 states to 180 states and 235 transitions. [2018-11-23 00:41:08,140 INFO L78 Accepts]: Start accepts. Automaton has 180 states and 235 transitions. Word has length 37 [2018-11-23 00:41:08,141 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 00:41:08,141 INFO L480 AbstractCegarLoop]: Abstraction has 180 states and 235 transitions. [2018-11-23 00:41:08,141 INFO L481 AbstractCegarLoop]: Interpolant automaton has 18 states. [2018-11-23 00:41:08,141 INFO L276 IsEmpty]: Start isEmpty. Operand 180 states and 235 transitions. [2018-11-23 00:41:08,141 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2018-11-23 00:41:08,142 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 00:41:08,142 INFO L402 BasicCegarLoop]: trace histogram [4, 4, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 00:41:08,142 INFO L423 AbstractCegarLoop]: === Iteration 12 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 00:41:08,142 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 00:41:08,142 INFO L82 PathProgramCache]: Analyzing trace with hash -2011969310, now seen corresponding path program 4 times [2018-11-23 00:41:08,142 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 00:41:08,142 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 00:41:08,143 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 00:41:08,143 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 00:41:08,143 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 00:41:08,150 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 00:41:08,209 INFO L134 CoverageAnalysis]: Checked inductivity of 27 backedges. 5 proven. 22 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 00:41:08,209 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 00:41:08,209 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_838ae831-646e-48d0-9298-884fec51bd75/bin-2019/uautomizer/z3 Starting monitored process 11 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 11 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 00:41:08,225 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-23 00:41:08,252 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-23 00:41:08,252 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 00:41:08,254 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 00:41:08,288 INFO L134 CoverageAnalysis]: Checked inductivity of 27 backedges. 12 proven. 15 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 00:41:08,316 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 00:41:08,316 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 14 [2018-11-23 00:41:08,317 INFO L459 AbstractCegarLoop]: Interpolant automaton has 14 states [2018-11-23 00:41:08,317 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2018-11-23 00:41:08,317 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=52, Invalid=130, Unknown=0, NotChecked=0, Total=182 [2018-11-23 00:41:08,317 INFO L87 Difference]: Start difference. First operand 180 states and 235 transitions. Second operand 14 states. [2018-11-23 00:41:08,612 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 00:41:08,612 INFO L93 Difference]: Finished difference Result 438 states and 581 transitions. [2018-11-23 00:41:08,612 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2018-11-23 00:41:08,612 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 37 [2018-11-23 00:41:08,613 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 00:41:08,614 INFO L225 Difference]: With dead ends: 438 [2018-11-23 00:41:08,614 INFO L226 Difference]: Without dead ends: 417 [2018-11-23 00:41:08,615 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 49 GetRequests, 34 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 48 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=76, Invalid=196, Unknown=0, NotChecked=0, Total=272 [2018-11-23 00:41:08,615 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 417 states. [2018-11-23 00:41:08,645 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 417 to 195. [2018-11-23 00:41:08,645 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 195 states. [2018-11-23 00:41:08,646 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 195 states to 195 states and 255 transitions. [2018-11-23 00:41:08,646 INFO L78 Accepts]: Start accepts. Automaton has 195 states and 255 transitions. Word has length 37 [2018-11-23 00:41:08,646 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 00:41:08,646 INFO L480 AbstractCegarLoop]: Abstraction has 195 states and 255 transitions. [2018-11-23 00:41:08,646 INFO L481 AbstractCegarLoop]: Interpolant automaton has 14 states. [2018-11-23 00:41:08,646 INFO L276 IsEmpty]: Start isEmpty. Operand 195 states and 255 transitions. [2018-11-23 00:41:08,647 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2018-11-23 00:41:08,647 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 00:41:08,647 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 00:41:08,647 INFO L423 AbstractCegarLoop]: === Iteration 13 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 00:41:08,647 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 00:41:08,647 INFO L82 PathProgramCache]: Analyzing trace with hash -1447053639, now seen corresponding path program 1 times [2018-11-23 00:41:08,647 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 00:41:08,647 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 00:41:08,648 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 00:41:08,648 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 00:41:08,648 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 00:41:08,658 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 00:41:08,831 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 1 proven. 8 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2018-11-23 00:41:08,831 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 00:41:08,831 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_838ae831-646e-48d0-9298-884fec51bd75/bin-2019/uautomizer/z3 Starting monitored process 12 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 12 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 00:41:08,838 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 00:41:08,856 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 00:41:08,858 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 00:41:08,888 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 10 [2018-11-23 00:41:08,891 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 10 treesize of output 9 [2018-11-23 00:41:08,891 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 00:41:08,893 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:41:08,896 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:41:08,897 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:20, output treesize:13 [2018-11-23 00:41:08,924 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 19 treesize of output 15 [2018-11-23 00:41:08,926 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 7 [2018-11-23 00:41:08,926 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 00:41:08,938 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:41:08,942 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:41:08,942 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:27, output treesize:3 [2018-11-23 00:41:08,977 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2018-11-23 00:41:08,994 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 00:41:08,994 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12] total 18 [2018-11-23 00:41:08,994 INFO L459 AbstractCegarLoop]: Interpolant automaton has 18 states [2018-11-23 00:41:08,994 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2018-11-23 00:41:08,994 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=47, Invalid=259, Unknown=0, NotChecked=0, Total=306 [2018-11-23 00:41:08,995 INFO L87 Difference]: Start difference. First operand 195 states and 255 transitions. Second operand 18 states. [2018-11-23 00:41:09,539 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 00:41:09,539 INFO L93 Difference]: Finished difference Result 385 states and 505 transitions. [2018-11-23 00:41:09,539 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2018-11-23 00:41:09,539 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 39 [2018-11-23 00:41:09,539 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 00:41:09,540 INFO L225 Difference]: With dead ends: 385 [2018-11-23 00:41:09,541 INFO L226 Difference]: Without dead ends: 383 [2018-11-23 00:41:09,541 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 69 GetRequests, 33 SyntacticMatches, 5 SemanticMatches, 31 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 240 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=177, Invalid=879, Unknown=0, NotChecked=0, Total=1056 [2018-11-23 00:41:09,541 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 383 states. [2018-11-23 00:41:09,589 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 383 to 298. [2018-11-23 00:41:09,589 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 298 states. [2018-11-23 00:41:09,590 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 298 states to 298 states and 388 transitions. [2018-11-23 00:41:09,590 INFO L78 Accepts]: Start accepts. Automaton has 298 states and 388 transitions. Word has length 39 [2018-11-23 00:41:09,590 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 00:41:09,590 INFO L480 AbstractCegarLoop]: Abstraction has 298 states and 388 transitions. [2018-11-23 00:41:09,590 INFO L481 AbstractCegarLoop]: Interpolant automaton has 18 states. [2018-11-23 00:41:09,590 INFO L276 IsEmpty]: Start isEmpty. Operand 298 states and 388 transitions. [2018-11-23 00:41:09,591 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2018-11-23 00:41:09,591 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 00:41:09,591 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 00:41:09,591 INFO L423 AbstractCegarLoop]: === Iteration 14 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 00:41:09,591 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 00:41:09,591 INFO L82 PathProgramCache]: Analyzing trace with hash 1460763138, now seen corresponding path program 4 times [2018-11-23 00:41:09,592 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 00:41:09,592 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 00:41:09,592 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 00:41:09,592 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 00:41:09,592 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 00:41:09,601 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 00:41:09,643 INFO L134 CoverageAnalysis]: Checked inductivity of 19 backedges. 2 proven. 16 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-23 00:41:09,643 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 00:41:09,643 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_838ae831-646e-48d0-9298-884fec51bd75/bin-2019/uautomizer/z3 Starting monitored process 13 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 13 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 00:41:09,656 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-23 00:41:09,671 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-23 00:41:09,671 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 00:41:09,672 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 00:41:09,724 INFO L134 CoverageAnalysis]: Checked inductivity of 19 backedges. 6 proven. 12 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-23 00:41:09,739 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 00:41:09,740 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 13 [2018-11-23 00:41:09,740 INFO L459 AbstractCegarLoop]: Interpolant automaton has 13 states [2018-11-23 00:41:09,740 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2018-11-23 00:41:09,740 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=111, Unknown=0, NotChecked=0, Total=156 [2018-11-23 00:41:09,740 INFO L87 Difference]: Start difference. First operand 298 states and 388 transitions. Second operand 13 states. [2018-11-23 00:41:10,220 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 00:41:10,220 INFO L93 Difference]: Finished difference Result 645 states and 833 transitions. [2018-11-23 00:41:10,222 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2018-11-23 00:41:10,222 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 40 [2018-11-23 00:41:10,222 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 00:41:10,224 INFO L225 Difference]: With dead ends: 645 [2018-11-23 00:41:10,224 INFO L226 Difference]: Without dead ends: 598 [2018-11-23 00:41:10,225 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 58 GetRequests, 37 SyntacticMatches, 0 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 88 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=138, Invalid=368, Unknown=0, NotChecked=0, Total=506 [2018-11-23 00:41:10,226 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 598 states. [2018-11-23 00:41:10,343 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 598 to 403. [2018-11-23 00:41:10,344 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 403 states. [2018-11-23 00:41:10,345 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 403 states to 403 states and 534 transitions. [2018-11-23 00:41:10,345 INFO L78 Accepts]: Start accepts. Automaton has 403 states and 534 transitions. Word has length 40 [2018-11-23 00:41:10,345 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 00:41:10,345 INFO L480 AbstractCegarLoop]: Abstraction has 403 states and 534 transitions. [2018-11-23 00:41:10,346 INFO L481 AbstractCegarLoop]: Interpolant automaton has 13 states. [2018-11-23 00:41:10,346 INFO L276 IsEmpty]: Start isEmpty. Operand 403 states and 534 transitions. [2018-11-23 00:41:10,346 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2018-11-23 00:41:10,347 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 00:41:10,347 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 00:41:10,347 INFO L423 AbstractCegarLoop]: === Iteration 15 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 00:41:10,347 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 00:41:10,347 INFO L82 PathProgramCache]: Analyzing trace with hash -1132726254, now seen corresponding path program 1 times [2018-11-23 00:41:10,347 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 00:41:10,347 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 00:41:10,348 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 00:41:10,348 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 00:41:10,348 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 00:41:10,355 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 00:41:10,385 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 7 proven. 0 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2018-11-23 00:41:10,386 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 00:41:10,386 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2018-11-23 00:41:10,386 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2018-11-23 00:41:10,386 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2018-11-23 00:41:10,386 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2018-11-23 00:41:10,386 INFO L87 Difference]: Start difference. First operand 403 states and 534 transitions. Second operand 5 states. [2018-11-23 00:41:10,539 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 00:41:10,539 INFO L93 Difference]: Finished difference Result 671 states and 891 transitions. [2018-11-23 00:41:10,540 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-23 00:41:10,540 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 40 [2018-11-23 00:41:10,540 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 00:41:10,541 INFO L225 Difference]: With dead ends: 671 [2018-11-23 00:41:10,542 INFO L226 Difference]: Without dead ends: 433 [2018-11-23 00:41:10,542 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 6 GetRequests, 2 SyntacticMatches, 1 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2018-11-23 00:41:10,543 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 433 states. [2018-11-23 00:41:10,655 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 433 to 398. [2018-11-23 00:41:10,655 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 398 states. [2018-11-23 00:41:10,656 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 398 states to 398 states and 524 transitions. [2018-11-23 00:41:10,657 INFO L78 Accepts]: Start accepts. Automaton has 398 states and 524 transitions. Word has length 40 [2018-11-23 00:41:10,657 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 00:41:10,657 INFO L480 AbstractCegarLoop]: Abstraction has 398 states and 524 transitions. [2018-11-23 00:41:10,657 INFO L481 AbstractCegarLoop]: Interpolant automaton has 5 states. [2018-11-23 00:41:10,657 INFO L276 IsEmpty]: Start isEmpty. Operand 398 states and 524 transitions. [2018-11-23 00:41:10,660 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2018-11-23 00:41:10,660 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 00:41:10,660 INFO L402 BasicCegarLoop]: trace histogram [4, 4, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 00:41:10,660 INFO L423 AbstractCegarLoop]: === Iteration 16 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 00:41:10,660 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 00:41:10,660 INFO L82 PathProgramCache]: Analyzing trace with hash 930411959, now seen corresponding path program 5 times [2018-11-23 00:41:10,660 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 00:41:10,661 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 00:41:10,661 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 00:41:10,661 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 00:41:10,661 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 00:41:10,671 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 00:41:10,765 INFO L134 CoverageAnalysis]: Checked inductivity of 34 backedges. 5 proven. 29 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 00:41:10,766 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 00:41:10,766 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_838ae831-646e-48d0-9298-884fec51bd75/bin-2019/uautomizer/z3 Starting monitored process 14 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 14 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 00:41:10,775 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-23 00:41:10,805 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 5 check-sat command(s) [2018-11-23 00:41:10,805 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 00:41:10,807 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 00:41:10,887 INFO L134 CoverageAnalysis]: Checked inductivity of 34 backedges. 12 proven. 22 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 00:41:10,910 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 00:41:10,910 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 16 [2018-11-23 00:41:10,910 INFO L459 AbstractCegarLoop]: Interpolant automaton has 16 states [2018-11-23 00:41:10,910 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2018-11-23 00:41:10,910 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=68, Invalid=172, Unknown=0, NotChecked=0, Total=240 [2018-11-23 00:41:10,910 INFO L87 Difference]: Start difference. First operand 398 states and 524 transitions. Second operand 16 states. [2018-11-23 00:41:11,511 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 00:41:11,511 INFO L93 Difference]: Finished difference Result 978 states and 1291 transitions. [2018-11-23 00:41:11,512 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2018-11-23 00:41:11,512 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 40 [2018-11-23 00:41:11,512 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 00:41:11,515 INFO L225 Difference]: With dead ends: 978 [2018-11-23 00:41:11,515 INFO L226 Difference]: Without dead ends: 921 [2018-11-23 00:41:11,515 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 58 GetRequests, 36 SyntacticMatches, 0 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 110 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=141, Invalid=411, Unknown=0, NotChecked=0, Total=552 [2018-11-23 00:41:11,516 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 921 states. [2018-11-23 00:41:11,626 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 921 to 443. [2018-11-23 00:41:11,626 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 443 states. [2018-11-23 00:41:11,628 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 443 states to 443 states and 585 transitions. [2018-11-23 00:41:11,628 INFO L78 Accepts]: Start accepts. Automaton has 443 states and 585 transitions. Word has length 40 [2018-11-23 00:41:11,628 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 00:41:11,628 INFO L480 AbstractCegarLoop]: Abstraction has 443 states and 585 transitions. [2018-11-23 00:41:11,628 INFO L481 AbstractCegarLoop]: Interpolant automaton has 16 states. [2018-11-23 00:41:11,628 INFO L276 IsEmpty]: Start isEmpty. Operand 443 states and 585 transitions. [2018-11-23 00:41:11,629 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2018-11-23 00:41:11,629 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 00:41:11,629 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 00:41:11,630 INFO L423 AbstractCegarLoop]: === Iteration 17 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 00:41:11,630 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 00:41:11,630 INFO L82 PathProgramCache]: Analyzing trace with hash 1598984565, now seen corresponding path program 5 times [2018-11-23 00:41:11,630 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 00:41:11,630 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 00:41:11,631 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 00:41:11,631 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 00:41:11,631 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 00:41:11,689 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 00:41:11,894 WARN L180 SmtUtils]: Spent 103.00 ms on a formula simplification. DAG size of input: 82 DAG size of output: 43 [2018-11-23 00:41:12,008 WARN L180 SmtUtils]: Spent 104.00 ms on a formula simplification. DAG size of input: 92 DAG size of output: 48 [2018-11-23 00:41:12,142 WARN L180 SmtUtils]: Spent 123.00 ms on a formula simplification. DAG size of input: 98 DAG size of output: 45 [2018-11-23 00:41:12,392 WARN L180 SmtUtils]: Spent 124.00 ms on a formula simplification. DAG size of input: 173 DAG size of output: 52 [2018-11-23 00:41:13,218 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 0 proven. 26 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 00:41:13,219 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 00:41:13,219 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_838ae831-646e-48d0-9298-884fec51bd75/bin-2019/uautomizer/z3 Starting monitored process 15 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 15 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 00:41:13,225 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-23 00:41:13,499 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 5 check-sat command(s) [2018-11-23 00:41:13,499 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 00:41:13,502 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 00:41:13,506 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 25 [2018-11-23 00:41:13,520 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:41:13,521 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:41:13,522 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 38 [2018-11-23 00:41:13,535 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:41:13,535 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:41:13,537 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:41:13,537 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:41:13,538 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 21 [2018-11-23 00:41:13,538 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 00:41:13,545 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:41:13,550 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:41:13,561 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:41:13,561 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 3 variables, input treesize:60, output treesize:39 [2018-11-23 00:41:13,588 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:41:13,589 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 47 [2018-11-23 00:41:13,591 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 16 [2018-11-23 00:41:13,591 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 00:41:13,597 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:41:13,604 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:41:13,604 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:47, output treesize:39 [2018-11-23 00:41:13,687 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:41:13,688 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:41:13,689 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:41:13,690 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 59 treesize of output 77 [2018-11-23 00:41:13,694 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:41:13,696 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:41:13,702 INFO L478 Elim1Store]: Elim1 applied some preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 3 case distinctions, treesize of input 37 treesize of output 66 [2018-11-23 00:41:13,703 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 2 xjuncts. [2018-11-23 00:41:13,722 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:41:13,732 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 00:41:13,732 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:68, output treesize:64 [2018-11-23 00:41:13,850 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:41:13,851 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:41:13,852 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:41:13,853 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 79 treesize of output 95 [2018-11-23 00:41:13,857 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:41:13,857 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:41:13,861 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:41:13,872 INFO L478 Elim1Store]: Elim1 applied some preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 2 new quantified variables, introduced 4 case distinctions, treesize of input 48 treesize of output 97 [2018-11-23 00:41:13,873 INFO L267 ElimStorePlain]: Start of recursive call 3: 2 dim-0 vars, End of recursive call: 2 dim-0 vars, and 4 xjuncts. [2018-11-23 00:41:13,929 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 4 xjuncts. [2018-11-23 00:41:14,001 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: 10 dim-0 vars, and 4 xjuncts. [2018-11-23 00:41:14,001 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:88, output treesize:384 [2018-11-23 00:41:14,266 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:41:14,267 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:41:14,269 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:41:14,269 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 101 treesize of output 115 [2018-11-23 00:41:14,275 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:41:14,280 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:41:14,283 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:41:14,284 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:41:14,301 INFO L478 Elim1Store]: Elim1 applied some preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 5 disjoint index pairs (out of 6 index pairs), introduced 2 new quantified variables, introduced 5 case distinctions, treesize of input 59 treesize of output 128 [2018-11-23 00:41:14,303 INFO L267 ElimStorePlain]: Start of recursive call 3: 2 dim-0 vars, End of recursive call: 2 dim-0 vars, and 4 xjuncts. [2018-11-23 00:41:14,378 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 4 xjuncts. [2018-11-23 00:41:14,457 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-2 vars, End of recursive call: 14 dim-0 vars, and 4 xjuncts. [2018-11-23 00:41:14,457 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 4 variables, input treesize:110, output treesize:488 [2018-11-23 00:41:17,401 WARN L180 SmtUtils]: Spent 824.00 ms on a formula simplification. DAG size of input: 163 DAG size of output: 65 [2018-11-23 00:41:23,614 WARN L180 SmtUtils]: Spent 2.05 s on a formula simplification that was a NOOP. DAG size: 61 [2018-11-23 00:41:24,081 WARN L180 SmtUtils]: Spent 313.00 ms on a formula simplification that was a NOOP. DAG size: 63 [2018-11-23 00:41:26,172 WARN L180 SmtUtils]: Spent 2.02 s on a formula simplification that was a NOOP. DAG size: 64 [2018-11-23 00:41:26,424 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:41:26,425 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:41:26,426 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 102 treesize of output 84 [2018-11-23 00:41:26,459 INFO L478 Elim1Store]: Elim1 applied some preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 7 disjoint index pairs (out of 10 index pairs), introduced 6 new quantified variables, introduced 7 case distinctions, treesize of input 43 treesize of output 87 [2018-11-23 00:41:26,459 WARN L138 XnfTransformerHelper]: expecting exponential blowup for input size 7 [2018-11-23 00:41:26,602 INFO L267 ElimStorePlain]: Start of recursive call 3: 438 dim-0 vars, End of recursive call: 462 dim-0 vars, and 477 xjuncts. [2018-11-23 00:41:31,142 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:41:31,142 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:41:31,144 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:41:31,146 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:41:31,146 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:41:31,147 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:41:31,148 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:41:31,148 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:41:31,149 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 56 treesize of output 68 [2018-11-23 00:41:31,149 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 00:41:31,154 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:41:31,155 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:41:31,156 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:41:31,159 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:41:31,165 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 7 disjoint index pairs (out of 10 index pairs), introduced 1 new quantified variables, introduced 2 case distinctions, treesize of input 58 treesize of output 70 [2018-11-23 00:41:31,166 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 3 xjuncts. [2018-11-23 00:41:31,168 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:41:31,169 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:41:31,171 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:41:31,172 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:41:31,173 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:41:31,174 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:41:31,174 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:41:31,175 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:41:31,175 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 52 treesize of output 64 [2018-11-23 00:41:31,176 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-11-23 00:41:31,181 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:41:31,182 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:41:31,183 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:41:31,186 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:41:31,192 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 7 disjoint index pairs (out of 10 index pairs), introduced 1 new quantified variables, introduced 2 case distinctions, treesize of input 58 treesize of output 70 [2018-11-23 00:41:31,193 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 3 xjuncts. [2018-11-23 00:41:31,223 INFO L267 ElimStorePlain]: Start of recursive call 2: 2 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:41:31,229 INFO L267 ElimStorePlain]: Start of recursive call 1: 6 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:41:31,229 INFO L202 ElimStorePlain]: Needed 7 recursive calls to eliminate 7 variables, input treesize:114, output treesize:3 [2018-11-23 00:41:31,288 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 1 proven. 25 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 00:41:31,304 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 00:41:31,304 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [22, 23] total 42 [2018-11-23 00:41:31,304 INFO L459 AbstractCegarLoop]: Interpolant automaton has 42 states [2018-11-23 00:41:31,304 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 42 interpolants. [2018-11-23 00:41:31,305 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=181, Invalid=1539, Unknown=2, NotChecked=0, Total=1722 [2018-11-23 00:41:31,305 INFO L87 Difference]: Start difference. First operand 443 states and 585 transitions. Second operand 42 states. [2018-11-23 00:41:37,197 WARN L180 SmtUtils]: Spent 2.92 s on a formula simplification. DAG size of input: 102 DAG size of output: 68 [2018-11-23 00:41:45,066 WARN L180 SmtUtils]: Spent 1.23 s on a formula simplification. DAG size of input: 138 DAG size of output: 70 [2018-11-23 00:41:45,576 WARN L180 SmtUtils]: Spent 134.00 ms on a formula simplification. DAG size of input: 109 DAG size of output: 87 [2018-11-23 00:41:51,324 WARN L180 SmtUtils]: Spent 1.40 s on a formula simplification. DAG size of input: 101 DAG size of output: 80 [2018-11-23 00:41:53,440 WARN L180 SmtUtils]: Spent 2.07 s on a formula simplification. DAG size of input: 100 DAG size of output: 89 [2018-11-23 00:41:55,961 WARN L180 SmtUtils]: Spent 916.00 ms on a formula simplification. DAG size of input: 101 DAG size of output: 89 [2018-11-23 00:41:59,145 WARN L180 SmtUtils]: Spent 531.00 ms on a formula simplification. DAG size of input: 89 DAG size of output: 76 [2018-11-23 00:42:05,105 WARN L180 SmtUtils]: Spent 4.11 s on a formula simplification. DAG size of input: 99 DAG size of output: 70 [2018-11-23 00:42:07,440 WARN L180 SmtUtils]: Spent 2.08 s on a formula simplification. DAG size of input: 114 DAG size of output: 92 [2018-11-23 00:42:08,644 WARN L180 SmtUtils]: Spent 898.00 ms on a formula simplification. DAG size of input: 129 DAG size of output: 91 [2018-11-23 00:42:12,663 WARN L180 SmtUtils]: Spent 618.00 ms on a formula simplification. DAG size of input: 114 DAG size of output: 89 [2018-11-23 00:42:13,349 WARN L180 SmtUtils]: Spent 546.00 ms on a formula simplification. DAG size of input: 124 DAG size of output: 72 [2018-11-23 00:42:25,173 WARN L180 SmtUtils]: Spent 4.15 s on a formula simplification. DAG size of input: 127 DAG size of output: 74 [2018-11-23 00:42:28,056 WARN L180 SmtUtils]: Spent 2.43 s on a formula simplification. DAG size of input: 98 DAG size of output: 90 [2018-11-23 00:42:33,000 WARN L180 SmtUtils]: Spent 2.61 s on a formula simplification. DAG size of input: 137 DAG size of output: 70 [2018-11-23 00:42:33,949 WARN L180 SmtUtils]: Spent 882.00 ms on a formula simplification. DAG size of input: 91 DAG size of output: 82 [2018-11-23 00:42:34,875 WARN L180 SmtUtils]: Spent 136.00 ms on a formula simplification. DAG size of input: 111 DAG size of output: 89 [2018-11-23 00:42:49,821 WARN L180 SmtUtils]: Spent 549.00 ms on a formula simplification. DAG size of input: 125 DAG size of output: 75 [2018-11-23 00:43:00,048 WARN L180 SmtUtils]: Spent 4.07 s on a formula simplification. DAG size of input: 95 DAG size of output: 66 [2018-11-23 00:43:02,360 WARN L180 SmtUtils]: Spent 2.21 s on a formula simplification. DAG size of input: 124 DAG size of output: 74 [2018-11-23 00:43:17,132 WARN L180 SmtUtils]: Spent 2.50 s on a formula simplification. DAG size of input: 111 DAG size of output: 92 [2018-11-23 00:43:19,736 WARN L180 SmtUtils]: Spent 2.55 s on a formula simplification. DAG size of input: 111 DAG size of output: 93 [2018-11-23 00:43:20,758 WARN L180 SmtUtils]: Spent 419.00 ms on a formula simplification. DAG size of input: 95 DAG size of output: 87 [2018-11-23 00:43:24,897 WARN L180 SmtUtils]: Spent 4.07 s on a formula simplification. DAG size of input: 134 DAG size of output: 70 [2018-11-23 00:43:39,189 WARN L180 SmtUtils]: Spent 2.13 s on a formula simplification. DAG size of input: 130 DAG size of output: 72 [2018-11-23 00:43:39,780 WARN L180 SmtUtils]: Spent 536.00 ms on a formula simplification. DAG size of input: 129 DAG size of output: 74 [2018-11-23 00:43:42,028 WARN L180 SmtUtils]: Spent 503.00 ms on a formula simplification. DAG size of input: 86 DAG size of output: 68 [2018-11-23 00:43:46,741 WARN L180 SmtUtils]: Spent 4.41 s on a formula simplification. DAG size of input: 88 DAG size of output: 80 [2018-11-23 00:44:08,106 WARN L180 SmtUtils]: Spent 538.00 ms on a formula simplification. DAG size of input: 120 DAG size of output: 68 [2018-11-23 00:44:10,331 WARN L180 SmtUtils]: Spent 2.08 s on a formula simplification. DAG size of input: 105 DAG size of output: 93 [2018-11-23 00:44:39,079 WARN L180 SmtUtils]: Spent 4.06 s on a formula simplification. DAG size of input: 93 DAG size of output: 85 [2018-11-23 00:44:39,718 WARN L180 SmtUtils]: Spent 584.00 ms on a formula simplification. DAG size of input: 102 DAG size of output: 91 [2018-11-23 00:45:02,795 WARN L180 SmtUtils]: Spent 2.23 s on a formula simplification. DAG size of input: 94 DAG size of output: 82 [2018-11-23 00:45:05,368 WARN L180 SmtUtils]: Spent 2.53 s on a formula simplification. DAG size of input: 113 DAG size of output: 92 [2018-11-23 00:45:06,431 WARN L180 SmtUtils]: Spent 987.00 ms on a formula simplification. DAG size of input: 135 DAG size of output: 71 [2018-11-23 00:45:12,943 WARN L180 SmtUtils]: Spent 4.24 s on a formula simplification. DAG size of input: 86 DAG size of output: 78 [2018-11-23 00:45:28,340 WARN L180 SmtUtils]: Spent 524.00 ms on a formula simplification. DAG size of input: 106 DAG size of output: 85 [2018-11-23 00:45:38,767 WARN L180 SmtUtils]: Spent 2.08 s on a formula simplification. DAG size of input: 122 DAG size of output: 72 [2018-11-23 00:45:46,119 WARN L180 SmtUtils]: Spent 495.00 ms on a formula simplification. DAG size of input: 78 DAG size of output: 65 [2018-11-23 00:45:48,308 WARN L180 SmtUtils]: Spent 2.07 s on a formula simplification. DAG size of input: 92 DAG size of output: 82 [2018-11-23 00:45:57,158 WARN L180 SmtUtils]: Spent 2.08 s on a formula simplification. DAG size of input: 120 DAG size of output: 70 [2018-11-23 00:46:01,486 WARN L180 SmtUtils]: Spent 257.00 ms on a formula simplification. DAG size of input: 92 DAG size of output: 80 [2018-11-23 00:46:03,643 WARN L180 SmtUtils]: Spent 2.08 s on a formula simplification. DAG size of input: 108 DAG size of output: 90 [2018-11-23 00:46:22,395 WARN L180 SmtUtils]: Spent 2.07 s on a formula simplification. DAG size of input: 130 DAG size of output: 66 [2018-11-23 00:46:34,617 WARN L180 SmtUtils]: Spent 2.07 s on a formula simplification. DAG size of input: 127 DAG size of output: 73 [2018-11-23 00:46:48,825 WARN L180 SmtUtils]: Spent 744.00 ms on a formula simplification. DAG size of input: 89 DAG size of output: 81 [2018-11-23 00:46:51,614 WARN L180 SmtUtils]: Spent 2.53 s on a formula simplification. DAG size of input: 108 DAG size of output: 87 [2018-11-23 00:47:04,388 WARN L180 SmtUtils]: Spent 2.51 s on a formula simplification. DAG size of input: 106 DAG size of output: 86 [2018-11-23 00:47:09,862 WARN L180 SmtUtils]: Spent 2.55 s on a formula simplification. DAG size of input: 85 DAG size of output: 67 [2018-11-23 00:47:22,827 WARN L180 SmtUtils]: Spent 784.00 ms on a formula simplification. DAG size of input: 90 DAG size of output: 80 [2018-11-23 00:47:27,002 WARN L180 SmtUtils]: Spent 4.07 s on a formula simplification. DAG size of input: 132 DAG size of output: 68 [2018-11-23 00:47:27,890 WARN L180 SmtUtils]: Spent 843.00 ms on a formula simplification. DAG size of input: 91 DAG size of output: 83 [2018-11-23 00:47:30,372 WARN L180 SmtUtils]: Spent 375.00 ms on a formula simplification. DAG size of input: 87 DAG size of output: 69 [2018-11-23 00:47:46,846 WARN L180 SmtUtils]: Spent 2.17 s on a formula simplification. DAG size of input: 98 DAG size of output: 87 [2018-11-23 00:47:49,343 WARN L180 SmtUtils]: Spent 2.41 s on a formula simplification. DAG size of input: 112 DAG size of output: 65 [2018-11-23 00:47:55,939 WARN L180 SmtUtils]: Spent 2.52 s on a formula simplification. DAG size of input: 139 DAG size of output: 70 [2018-11-23 00:48:04,154 WARN L180 SmtUtils]: Spent 4.07 s on a formula simplification. DAG size of input: 99 DAG size of output: 87 [2018-11-23 00:48:04,694 WARN L180 SmtUtils]: Spent 460.00 ms on a formula simplification. DAG size of input: 125 DAG size of output: 70 [2018-11-23 00:48:07,269 WARN L180 SmtUtils]: Spent 2.51 s on a formula simplification. DAG size of input: 141 DAG size of output: 72 [2018-11-23 00:48:18,103 WARN L180 SmtUtils]: Spent 210.00 ms on a formula simplification. DAG size of input: 99 DAG size of output: 83 [2018-11-23 00:48:19,108 WARN L180 SmtUtils]: Spent 939.00 ms on a formula simplification. DAG size of input: 86 DAG size of output: 78 [2018-11-23 00:48:33,796 WARN L180 SmtUtils]: Spent 486.00 ms on a formula simplification. DAG size of input: 132 DAG size of output: 72 [2018-11-23 00:48:36,227 WARN L180 SmtUtils]: Spent 2.37 s on a formula simplification. DAG size of input: 119 DAG size of output: 67 [2018-11-23 00:48:39,715 WARN L180 SmtUtils]: Spent 3.42 s on a formula simplification. DAG size of input: 103 DAG size of output: 83 [2018-11-23 00:49:00,038 WARN L180 SmtUtils]: Spent 4.07 s on a formula simplification. DAG size of input: 96 DAG size of output: 88 [2018-11-23 00:49:00,558 WARN L180 SmtUtils]: Spent 458.00 ms on a formula simplification. DAG size of input: 134 DAG size of output: 74 [2018-11-23 00:49:01,093 WARN L180 SmtUtils]: Spent 444.00 ms on a formula simplification. DAG size of input: 121 DAG size of output: 69 [2018-11-23 00:49:27,154 WARN L180 SmtUtils]: Spent 772.00 ms on a formula simplification. DAG size of input: 93 DAG size of output: 85 [2018-11-23 00:49:29,311 WARN L180 SmtUtils]: Spent 2.08 s on a formula simplification. DAG size of input: 108 DAG size of output: 87 [2018-11-23 00:49:33,452 WARN L180 SmtUtils]: Spent 4.08 s on a formula simplification. DAG size of input: 100 DAG size of output: 89 [2018-11-23 00:49:35,563 WARN L180 SmtUtils]: Spent 2.06 s on a formula simplification. DAG size of input: 92 DAG size of output: 82 [2018-11-23 00:50:00,767 WARN L180 SmtUtils]: Spent 2.06 s on a formula simplification. DAG size of input: 117 DAG size of output: 67 [2018-11-23 00:50:07,359 WARN L180 SmtUtils]: Spent 116.00 ms on a formula simplification. DAG size of input: 82 DAG size of output: 69 [2018-11-23 00:50:18,587 WARN L180 SmtUtils]: Spent 2.52 s on a formula simplification. DAG size of input: 104 DAG size of output: 85 [2018-11-23 00:50:41,955 WARN L180 SmtUtils]: Spent 2.51 s on a formula simplification. DAG size of input: 115 DAG size of output: 68 [2018-11-23 00:51:09,233 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 00:51:09,233 INFO L93 Difference]: Finished difference Result 1629 states and 2091 transitions. [2018-11-23 00:51:09,234 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 181 states. [2018-11-23 00:51:09,234 INFO L78 Accepts]: Start accepts. Automaton has 42 states. Word has length 43 [2018-11-23 00:51:09,234 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 00:51:09,236 INFO L225 Difference]: With dead ends: 1629 [2018-11-23 00:51:09,236 INFO L226 Difference]: Without dead ends: 1569 [2018-11-23 00:51:09,245 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 243 GetRequests, 24 SyntacticMatches, 2 SemanticMatches, 217 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 17653 ImplicationChecksByTransitivity, 331.3s TimeCoverageRelationStatistics Valid=5016, Invalid=42652, Unknown=74, NotChecked=0, Total=47742 [2018-11-23 00:51:09,247 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1569 states. [2018-11-23 00:51:09,370 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1569 to 454. [2018-11-23 00:51:09,370 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 454 states. [2018-11-23 00:51:09,372 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 454 states to 454 states and 603 transitions. [2018-11-23 00:51:09,372 INFO L78 Accepts]: Start accepts. Automaton has 454 states and 603 transitions. Word has length 43 [2018-11-23 00:51:09,372 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 00:51:09,372 INFO L480 AbstractCegarLoop]: Abstraction has 454 states and 603 transitions. [2018-11-23 00:51:09,372 INFO L481 AbstractCegarLoop]: Interpolant automaton has 42 states. [2018-11-23 00:51:09,372 INFO L276 IsEmpty]: Start isEmpty. Operand 454 states and 603 transitions. [2018-11-23 00:51:09,373 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2018-11-23 00:51:09,373 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 00:51:09,373 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 00:51:09,374 INFO L423 AbstractCegarLoop]: === Iteration 18 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 00:51:09,374 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 00:51:09,374 INFO L82 PathProgramCache]: Analyzing trace with hash -1762986130, now seen corresponding path program 2 times [2018-11-23 00:51:09,374 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 00:51:09,374 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 00:51:09,375 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 00:51:09,375 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 00:51:09,375 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 00:51:09,385 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 00:51:09,440 INFO L134 CoverageAnalysis]: Checked inductivity of 25 backedges. 1 proven. 21 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2018-11-23 00:51:09,440 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 00:51:09,441 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_838ae831-646e-48d0-9298-884fec51bd75/bin-2019/uautomizer/z3 Starting monitored process 16 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 16 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 00:51:09,454 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 00:51:09,485 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 00:51:09,485 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 00:51:09,487 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 00:51:09,521 INFO L134 CoverageAnalysis]: Checked inductivity of 25 backedges. 5 proven. 17 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2018-11-23 00:51:09,547 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 00:51:09,547 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 13 [2018-11-23 00:51:09,547 INFO L459 AbstractCegarLoop]: Interpolant automaton has 13 states [2018-11-23 00:51:09,547 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2018-11-23 00:51:09,548 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=47, Invalid=109, Unknown=0, NotChecked=0, Total=156 [2018-11-23 00:51:09,548 INFO L87 Difference]: Start difference. First operand 454 states and 603 transitions. Second operand 13 states. [2018-11-23 00:51:09,950 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 00:51:09,950 INFO L93 Difference]: Finished difference Result 851 states and 1110 transitions. [2018-11-23 00:51:09,951 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2018-11-23 00:51:09,951 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 43 [2018-11-23 00:51:09,951 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 00:51:09,953 INFO L225 Difference]: With dead ends: 851 [2018-11-23 00:51:09,953 INFO L226 Difference]: Without dead ends: 790 [2018-11-23 00:51:09,953 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 57 GetRequests, 40 SyntacticMatches, 0 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 58 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=94, Invalid=248, Unknown=0, NotChecked=0, Total=342 [2018-11-23 00:51:09,954 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 790 states. [2018-11-23 00:51:10,063 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 790 to 478. [2018-11-23 00:51:10,063 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 478 states. [2018-11-23 00:51:10,064 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 478 states to 478 states and 635 transitions. [2018-11-23 00:51:10,065 INFO L78 Accepts]: Start accepts. Automaton has 478 states and 635 transitions. Word has length 43 [2018-11-23 00:51:10,065 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 00:51:10,065 INFO L480 AbstractCegarLoop]: Abstraction has 478 states and 635 transitions. [2018-11-23 00:51:10,065 INFO L481 AbstractCegarLoop]: Interpolant automaton has 13 states. [2018-11-23 00:51:10,065 INFO L276 IsEmpty]: Start isEmpty. Operand 478 states and 635 transitions. [2018-11-23 00:51:10,068 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2018-11-23 00:51:10,068 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 00:51:10,068 INFO L402 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 4, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 00:51:10,068 INFO L423 AbstractCegarLoop]: === Iteration 19 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 00:51:10,068 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 00:51:10,069 INFO L82 PathProgramCache]: Analyzing trace with hash 1423252674, now seen corresponding path program 6 times [2018-11-23 00:51:10,069 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 00:51:10,069 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 00:51:10,069 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 00:51:10,069 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 00:51:10,069 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 00:51:10,082 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 00:51:10,392 INFO L134 CoverageAnalysis]: Checked inductivity of 44 backedges. 3 proven. 19 refuted. 0 times theorem prover too weak. 22 trivial. 0 not checked. [2018-11-23 00:51:10,392 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 00:51:10,392 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_838ae831-646e-48d0-9298-884fec51bd75/bin-2019/uautomizer/z3 Starting monitored process 17 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 17 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 00:51:10,398 INFO L103 rtionOrderModulation]: Keeping assertion order MIX_INSIDE_OUTSIDE [2018-11-23 00:51:10,420 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2018-11-23 00:51:10,420 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 00:51:10,421 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 00:51:10,444 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 12 [2018-11-23 00:51:10,445 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 11 [2018-11-23 00:51:10,445 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 00:51:10,446 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:51:10,450 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:51:10,450 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:25, output treesize:21 [2018-11-23 00:51:10,478 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 18 [2018-11-23 00:51:10,479 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:51:10,480 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 27 [2018-11-23 00:51:10,481 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 00:51:10,483 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:51:10,488 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:51:10,488 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:33, output treesize:25 [2018-11-23 00:51:10,522 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 25 [2018-11-23 00:51:10,524 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:51:10,525 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:51:10,525 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:51:10,527 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 52 [2018-11-23 00:51:10,527 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 00:51:10,533 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:51:10,537 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 00:51:10,538 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:38, output treesize:34 [2018-11-23 00:51:10,560 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 46 treesize of output 35 [2018-11-23 00:51:10,561 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:51:10,562 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:51:10,563 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:51:10,571 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 35 treesize of output 77 [2018-11-23 00:51:10,571 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 2 xjuncts. [2018-11-23 00:51:10,587 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-23 00:51:10,598 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: 2 dim-0 vars, and 2 xjuncts. [2018-11-23 00:51:10,598 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:52, output treesize:97 [2018-11-23 00:51:12,873 WARN L180 SmtUtils]: Spent 2.25 s on a formula simplification that was a NOOP. DAG size: 37 [2018-11-23 00:51:15,512 WARN L180 SmtUtils]: Spent 2.30 s on a formula simplification that was a NOOP. DAG size: 44 [2018-11-23 00:51:24,809 WARN L180 SmtUtils]: Spent 4.02 s on a formula simplification that was a NOOP. DAG size: 44 [2018-11-23 00:51:30,874 WARN L180 SmtUtils]: Spent 2.02 s on a formula simplification that was a NOOP. DAG size: 46 [2018-11-23 00:51:38,472 WARN L180 SmtUtils]: Spent 5.56 s on a formula simplification that was a NOOP. DAG size: 46 [2018-11-23 00:51:42,900 WARN L180 SmtUtils]: Spent 2.39 s on a formula simplification that was a NOOP. DAG size: 46 [2018-11-23 00:51:45,698 WARN L180 SmtUtils]: Spent 2.01 s on a formula simplification. DAG size of input: 29 DAG size of output: 21 [2018-11-23 00:51:47,377 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 20 [2018-11-23 00:51:47,379 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:51:47,380 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:51:47,382 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 20 treesize of output 19 [2018-11-23 00:51:47,382 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 00:51:47,386 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:51:47,387 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:51:47,388 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:31, output treesize:3 [2018-11-23 00:51:47,422 INFO L134 CoverageAnalysis]: Checked inductivity of 44 backedges. 5 proven. 36 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2018-11-23 00:51:47,436 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 00:51:47,437 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 19] total 31 [2018-11-23 00:51:47,437 INFO L459 AbstractCegarLoop]: Interpolant automaton has 31 states [2018-11-23 00:51:47,437 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 31 interpolants. [2018-11-23 00:51:47,437 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=97, Invalid=820, Unknown=13, NotChecked=0, Total=930 [2018-11-23 00:51:47,437 INFO L87 Difference]: Start difference. First operand 478 states and 635 transitions. Second operand 31 states. [2018-11-23 00:52:04,719 WARN L180 SmtUtils]: Spent 10.35 s on a formula simplification. DAG size of input: 78 DAG size of output: 38 [2018-11-23 00:52:22,426 WARN L180 SmtUtils]: Spent 15.37 s on a formula simplification. DAG size of input: 85 DAG size of output: 42 [2018-11-23 00:52:26,975 WARN L180 SmtUtils]: Spent 4.13 s on a formula simplification. DAG size of input: 70 DAG size of output: 37 [2018-11-23 00:52:37,793 WARN L180 SmtUtils]: Spent 10.70 s on a formula simplification. DAG size of input: 88 DAG size of output: 44 [2018-11-23 00:52:48,667 WARN L180 SmtUtils]: Spent 4.66 s on a formula simplification. DAG size of input: 78 DAG size of output: 38 [2018-11-23 00:52:59,797 WARN L180 SmtUtils]: Spent 8.89 s on a formula simplification. DAG size of input: 72 DAG size of output: 39 [2018-11-23 00:53:07,598 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 00:53:07,598 INFO L93 Difference]: Finished difference Result 841 states and 1132 transitions. [2018-11-23 00:53:07,598 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 31 states. [2018-11-23 00:53:07,598 INFO L78 Accepts]: Start accepts. Automaton has 31 states. Word has length 43 [2018-11-23 00:53:07,598 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 00:53:07,600 INFO L225 Difference]: With dead ends: 841 [2018-11-23 00:53:07,600 INFO L226 Difference]: Without dead ends: 839 [2018-11-23 00:53:07,601 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 84 GetRequests, 28 SyntacticMatches, 1 SemanticMatches, 55 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 765 ImplicationChecksByTransitivity, 104.2s TimeCoverageRelationStatistics Valid=456, Invalid=2708, Unknown=28, NotChecked=0, Total=3192 [2018-11-23 00:53:07,602 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 839 states. [2018-11-23 00:53:07,694 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 839 to 382. [2018-11-23 00:53:07,694 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 382 states. [2018-11-23 00:53:07,695 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 382 states to 382 states and 510 transitions. [2018-11-23 00:53:07,695 INFO L78 Accepts]: Start accepts. Automaton has 382 states and 510 transitions. Word has length 43 [2018-11-23 00:53:07,695 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 00:53:07,695 INFO L480 AbstractCegarLoop]: Abstraction has 382 states and 510 transitions. [2018-11-23 00:53:07,696 INFO L481 AbstractCegarLoop]: Interpolant automaton has 31 states. [2018-11-23 00:53:07,696 INFO L276 IsEmpty]: Start isEmpty. Operand 382 states and 510 transitions. [2018-11-23 00:53:07,696 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2018-11-23 00:53:07,696 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 00:53:07,696 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 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] [2018-11-23 00:53:07,696 INFO L423 AbstractCegarLoop]: === Iteration 20 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 00:53:07,697 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 00:53:07,697 INFO L82 PathProgramCache]: Analyzing trace with hash 229619440, now seen corresponding path program 2 times [2018-11-23 00:53:07,697 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 00:53:07,697 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 00:53:07,697 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 00:53:07,697 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 00:53:07,697 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 00:53:07,703 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 00:53:07,764 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 7 proven. 10 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2018-11-23 00:53:07,764 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 00:53:07,765 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_838ae831-646e-48d0-9298-884fec51bd75/bin-2019/uautomizer/z3 Starting monitored process 18 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 18 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 00:53:07,778 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 00:53:07,803 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 00:53:07,803 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 00:53:07,804 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 00:53:07,836 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 12 proven. 5 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2018-11-23 00:53:07,851 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 00:53:07,851 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 13 [2018-11-23 00:53:07,851 INFO L459 AbstractCegarLoop]: Interpolant automaton has 13 states [2018-11-23 00:53:07,851 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2018-11-23 00:53:07,851 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=111, Unknown=0, NotChecked=0, Total=156 [2018-11-23 00:53:07,852 INFO L87 Difference]: Start difference. First operand 382 states and 510 transitions. Second operand 13 states. [2018-11-23 00:53:08,184 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 00:53:08,184 INFO L93 Difference]: Finished difference Result 766 states and 1002 transitions. [2018-11-23 00:53:08,184 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2018-11-23 00:53:08,184 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 47 [2018-11-23 00:53:08,184 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 00:53:08,185 INFO L225 Difference]: With dead ends: 766 [2018-11-23 00:53:08,185 INFO L226 Difference]: Without dead ends: 584 [2018-11-23 00:53:08,186 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 61 GetRequests, 44 SyntacticMatches, 0 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 60 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=99, Invalid=243, Unknown=0, NotChecked=0, Total=342 [2018-11-23 00:53:08,186 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 584 states. [2018-11-23 00:53:08,298 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 584 to 401. [2018-11-23 00:53:08,298 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 401 states. [2018-11-23 00:53:08,299 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 401 states to 401 states and 523 transitions. [2018-11-23 00:53:08,299 INFO L78 Accepts]: Start accepts. Automaton has 401 states and 523 transitions. Word has length 47 [2018-11-23 00:53:08,299 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 00:53:08,299 INFO L480 AbstractCegarLoop]: Abstraction has 401 states and 523 transitions. [2018-11-23 00:53:08,299 INFO L481 AbstractCegarLoop]: Interpolant automaton has 13 states. [2018-11-23 00:53:08,299 INFO L276 IsEmpty]: Start isEmpty. Operand 401 states and 523 transitions. [2018-11-23 00:53:08,300 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2018-11-23 00:53:08,300 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 00:53:08,300 INFO L402 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 00:53:08,300 INFO L423 AbstractCegarLoop]: === Iteration 21 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 00:53:08,300 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 00:53:08,300 INFO L82 PathProgramCache]: Analyzing trace with hash 2061264985, now seen corresponding path program 6 times [2018-11-23 00:53:08,300 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 00:53:08,300 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 00:53:08,301 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 00:53:08,301 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 00:53:08,301 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 00:53:08,310 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 00:53:08,389 INFO L134 CoverageAnalysis]: Checked inductivity of 36 backedges. 6 proven. 29 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-23 00:53:08,389 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 00:53:08,390 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_838ae831-646e-48d0-9298-884fec51bd75/bin-2019/uautomizer/z3 Starting monitored process 19 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 19 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 00:53:08,400 INFO L103 rtionOrderModulation]: Keeping assertion order MIX_INSIDE_OUTSIDE [2018-11-23 00:53:08,446 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 6 check-sat command(s) [2018-11-23 00:53:08,446 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 00:53:08,448 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 00:53:08,497 INFO L134 CoverageAnalysis]: Checked inductivity of 36 backedges. 13 proven. 22 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-23 00:53:08,512 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 00:53:08,512 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 16 [2018-11-23 00:53:08,512 INFO L459 AbstractCegarLoop]: Interpolant automaton has 16 states [2018-11-23 00:53:08,512 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2018-11-23 00:53:08,512 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=66, Invalid=174, Unknown=0, NotChecked=0, Total=240 [2018-11-23 00:53:08,512 INFO L87 Difference]: Start difference. First operand 401 states and 523 transitions. Second operand 16 states. [2018-11-23 00:53:08,986 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 00:53:08,986 INFO L93 Difference]: Finished difference Result 868 states and 1120 transitions. [2018-11-23 00:53:08,986 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2018-11-23 00:53:08,986 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 46 [2018-11-23 00:53:08,986 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 00:53:08,988 INFO L225 Difference]: With dead ends: 868 [2018-11-23 00:53:08,988 INFO L226 Difference]: Without dead ends: 831 [2018-11-23 00:53:08,988 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 69 GetRequests, 42 SyntacticMatches, 0 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 166 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=214, Invalid=598, Unknown=0, NotChecked=0, Total=812 [2018-11-23 00:53:08,989 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 831 states. [2018-11-23 00:53:09,143 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 831 to 529. [2018-11-23 00:53:09,144 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 529 states. [2018-11-23 00:53:09,145 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 529 states to 529 states and 704 transitions. [2018-11-23 00:53:09,145 INFO L78 Accepts]: Start accepts. Automaton has 529 states and 704 transitions. Word has length 46 [2018-11-23 00:53:09,145 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 00:53:09,145 INFO L480 AbstractCegarLoop]: Abstraction has 529 states and 704 transitions. [2018-11-23 00:53:09,145 INFO L481 AbstractCegarLoop]: Interpolant automaton has 16 states. [2018-11-23 00:53:09,145 INFO L276 IsEmpty]: Start isEmpty. Operand 529 states and 704 transitions. [2018-11-23 00:53:09,146 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2018-11-23 00:53:09,147 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 00:53:09,147 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 2, 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, 1, 1] [2018-11-23 00:53:09,147 INFO L423 AbstractCegarLoop]: === Iteration 22 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 00:53:09,147 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 00:53:09,147 INFO L82 PathProgramCache]: Analyzing trace with hash 1112882494, now seen corresponding path program 1 times [2018-11-23 00:53:09,147 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 00:53:09,147 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 00:53:09,148 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 00:53:09,148 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 00:53:09,148 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 00:53:09,181 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 00:53:09,948 INFO L134 CoverageAnalysis]: Checked inductivity of 22 backedges. 7 proven. 10 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2018-11-23 00:53:09,948 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 00:53:09,948 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_838ae831-646e-48d0-9298-884fec51bd75/bin-2019/uautomizer/z3 Starting monitored process 20 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 20 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 00:53:09,954 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 00:53:09,972 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 00:53:09,974 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 00:53:09,977 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 25 [2018-11-23 00:53:09,997 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:53:09,997 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:53:09,998 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:53:09,999 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 4 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 44 [2018-11-23 00:53:10,013 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:53:10,013 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:53:10,014 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:53:10,015 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:53:10,015 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 25 [2018-11-23 00:53:10,015 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 00:53:10,021 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:53:10,025 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:53:10,038 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:53:10,039 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 1 variables, input treesize:65, output treesize:60 [2018-11-23 00:53:10,067 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:53:10,069 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:53:10,070 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:53:10,074 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 4 select indices, 4 select index equivalence classes, 8 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 79 [2018-11-23 00:53:10,076 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 20 [2018-11-23 00:53:10,076 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 00:53:10,086 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:53:10,101 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:53:10,101 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:75, output treesize:67 [2018-11-23 00:53:10,160 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:53:10,160 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:53:10,161 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:53:10,164 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:53:10,165 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:53:10,168 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 42 treesize of output 86 [2018-11-23 00:53:10,171 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:53:10,179 INFO L478 Elim1Store]: Elim1 applied some preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 3 case distinctions, treesize of input 33 treesize of output 52 [2018-11-23 00:53:10,179 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 2 xjuncts. [2018-11-23 00:53:10,201 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:53:10,217 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:53:10,217 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:70, output treesize:57 [2018-11-23 00:53:10,306 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:53:10,307 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:53:10,308 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:53:10,311 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:53:10,312 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:53:10,314 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 98 [2018-11-23 00:53:10,318 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:53:10,319 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 00:53:10,326 INFO L478 Elim1Store]: Elim1 applied some preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 3 case distinctions, treesize of input 45 treesize of output 78 [2018-11-23 00:53:10,327 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 2 xjuncts. [2018-11-23 00:53:10,345 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:53:10,358 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:53:10,358 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:76, output treesize:72 [2018-11-23 00:53:10,470 WARN L307 Elim1Store]: Array PQE input equivalent to false [2018-11-23 00:53:10,471 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-23 00:53:10,471 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:53:10,471 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:110, output treesize:1 [2018-11-23 00:53:10,478 INFO L134 CoverageAnalysis]: Checked inductivity of 22 backedges. 10 proven. 7 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2018-11-23 00:53:10,493 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 00:53:10,493 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 11] total 26 [2018-11-23 00:53:10,493 INFO L459 AbstractCegarLoop]: Interpolant automaton has 26 states [2018-11-23 00:53:10,493 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2018-11-23 00:53:10,493 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=74, Invalid=576, Unknown=0, NotChecked=0, Total=650 [2018-11-23 00:53:10,493 INFO L87 Difference]: Start difference. First operand 529 states and 704 transitions. Second operand 26 states. [2018-11-23 00:53:12,659 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 00:53:12,659 INFO L93 Difference]: Finished difference Result 1276 states and 1693 transitions. [2018-11-23 00:53:12,661 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 37 states. [2018-11-23 00:53:12,661 INFO L78 Accepts]: Start accepts. Automaton has 26 states. Word has length 48 [2018-11-23 00:53:12,661 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 00:53:12,664 INFO L225 Difference]: With dead ends: 1276 [2018-11-23 00:53:12,664 INFO L226 Difference]: Without dead ends: 1076 [2018-11-23 00:53:12,665 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 100 GetRequests, 42 SyntacticMatches, 5 SemanticMatches, 53 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 685 ImplicationChecksByTransitivity, 2.2s TimeCoverageRelationStatistics Valid=399, Invalid=2571, Unknown=0, NotChecked=0, Total=2970 [2018-11-23 00:53:12,665 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1076 states. [2018-11-23 00:53:12,915 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1076 to 780. [2018-11-23 00:53:12,915 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 780 states. [2018-11-23 00:53:12,916 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 780 states to 780 states and 1062 transitions. [2018-11-23 00:53:12,916 INFO L78 Accepts]: Start accepts. Automaton has 780 states and 1062 transitions. Word has length 48 [2018-11-23 00:53:12,916 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 00:53:12,916 INFO L480 AbstractCegarLoop]: Abstraction has 780 states and 1062 transitions. [2018-11-23 00:53:12,916 INFO L481 AbstractCegarLoop]: Interpolant automaton has 26 states. [2018-11-23 00:53:12,917 INFO L276 IsEmpty]: Start isEmpty. Operand 780 states and 1062 transitions. [2018-11-23 00:53:12,918 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2018-11-23 00:53:12,918 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 00:53:12,918 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 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, 1, 1, 1, 1] [2018-11-23 00:53:12,918 INFO L423 AbstractCegarLoop]: === Iteration 23 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 00:53:12,918 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 00:53:12,918 INFO L82 PathProgramCache]: Analyzing trace with hash 978868988, now seen corresponding path program 1 times [2018-11-23 00:53:12,918 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 00:53:12,919 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 00:53:12,919 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 00:53:12,919 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 00:53:12,919 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 00:53:12,936 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 00:53:12,958 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 00:53:12,974 INFO L469 BasicCegarLoop]: Counterexample might be feasible ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator [?] CALL call ULTIMATE.init(); VAL [|#NULL.base|=905, |#NULL.offset|=902, |old(#NULL.base)|=905, |old(#NULL.offset)|=902, |old(~INFINITY~0)|=906, ~INFINITY~0=906] [?] #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~INFINITY~0 := 899; VAL [|#NULL.base|=0, |#NULL.offset|=0, |old(#NULL.base)|=905, |old(#NULL.offset)|=902, |old(~INFINITY~0)|=906, ~INFINITY~0=899] [?] assume true; VAL [|#NULL.base|=0, |#NULL.offset|=0, |old(#NULL.base)|=905, |old(#NULL.offset)|=902, |old(~INFINITY~0)|=906, ~INFINITY~0=899] [?] RET #111#return; VAL [|#NULL.base|=0, |#NULL.offset|=0, ~INFINITY~0=899] [?] CALL call #t~ret19 := main(); VAL [|#NULL.base|=0, |#NULL.offset|=0, ~INFINITY~0=899] [?] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~nodecount~0 := #t~nondet1;havoc #t~nondet1;assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~edgecount~0 := #t~nondet2;havoc #t~nondet2; VAL [main_~edgecount~0=1, main_~nodecount~0=2, |#NULL.base|=0, |#NULL.offset|=0, ~INFINITY~0=899] [?] assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); VAL [main_~edgecount~0=1, main_~nodecount~0=2, |#NULL.base|=0, |#NULL.offset|=0, ~INFINITY~0=899] [?] assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.alloc(80);call write~init~int(0, ~#Source~0.base, ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 4 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 8 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 12 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 16 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 20 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 24 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 28 + ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 32 + ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 36 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 40 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 44 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 48 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 52 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 56 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 60 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 64 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 68 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 72 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 76 + ~#Source~0.offset, 4);call ~#Dest~0.base, ~#Dest~0.offset := #Ultimate.alloc(80);call write~init~int(1, ~#Dest~0.base, ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 4 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 8 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 12 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 16 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 20 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 24 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 28 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 32 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 36 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 40 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 44 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 48 + ~#Dest~0.offset, 4);call write~init~int(2, ~#Dest~0.base, 52 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 56 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 60 + ~#Dest~0.offset, 4);call write~init~int(2, ~#Dest~0.base, 64 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 68 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 72 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 76 + ~#Dest~0.offset, 4);call ~#Weight~0.base, ~#Weight~0.offset := #Ultimate.alloc(80);call write~init~int(0, ~#Weight~0.base, ~#Weight~0.offset, 4);call write~init~int(1, ~#Weight~0.base, 4 + ~#Weight~0.offset, 4);call write~init~int(2, ~#Weight~0.base, 8 + ~#Weight~0.offset, 4);call write~init~int(3, ~#Weight~0.base, 12 + ~#Weight~0.offset, 4);call write~init~int(4, ~#Weight~0.base, 16 + ~#Weight~0.offset, 4);call write~init~int(5, ~#Weight~0.base, 20 + ~#Weight~0.offset, 4);call write~init~int(6, ~#Weight~0.base, 24 + ~#Weight~0.offset, 4);call write~init~int(7, ~#Weight~0.base, 28 + ~#Weight~0.offset, 4);call write~init~int(8, ~#Weight~0.base, 32 + ~#Weight~0.offset, 4);call write~init~int(9, ~#Weight~0.base, 36 + ~#Weight~0.offset, 4);call write~init~int(10, ~#Weight~0.base, 40 + ~#Weight~0.offset, 4);call write~init~int(11, ~#Weight~0.base, 44 + ~#Weight~0.offset, 4);call write~init~int(12, ~#Weight~0.base, 48 + ~#Weight~0.offset, 4);call write~init~int(13, ~#Weight~0.base, 52 + ~#Weight~0.offset, 4);call write~init~int(14, ~#Weight~0.base, 56 + ~#Weight~0.offset, 4);call write~init~int(15, ~#Weight~0.base, 60 + ~#Weight~0.offset, 4);call write~init~int(16, ~#Weight~0.base, 64 + ~#Weight~0.offset, 4);call write~init~int(17, ~#Weight~0.base, 68 + ~#Weight~0.offset, 4);call write~init~int(18, ~#Weight~0.base, 72 + ~#Weight~0.offset, 4);call write~init~int(19, ~#Weight~0.base, 76 + ~#Weight~0.offset, 4);call ~#distance~0.base, ~#distance~0.offset := #Ultimate.alloc(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; VAL [main_~edgecount~0=1, main_~i~0=0, main_~nodecount~0=2, main_~source~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] assume !!(~i~0 < ~nodecount~0); VAL [main_~edgecount~0=1, main_~i~0=0, main_~nodecount~0=2, main_~source~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); VAL [main_~edgecount~0=1, main_~i~0=0, main_~nodecount~0=2, main_~source~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; VAL [main_~edgecount~0=1, main_~i~0=1, main_~nodecount~0=2, main_~source~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] assume !!(~i~0 < ~nodecount~0); VAL [main_~edgecount~0=1, main_~i~0=1, main_~nodecount~0=2, main_~source~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] assume !(~i~0 == ~source~0);call write~int(~INFINITY~0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); VAL [main_~edgecount~0=1, main_~i~0=1, main_~nodecount~0=2, main_~source~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; VAL [main_~edgecount~0=1, main_~i~0=2, main_~nodecount~0=2, main_~source~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] assume !(~i~0 < ~nodecount~0); VAL [main_~edgecount~0=1, main_~i~0=2, main_~nodecount~0=2, main_~source~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] ~i~0 := 0; VAL [main_~edgecount~0=1, main_~i~0=0, main_~nodecount~0=2, main_~source~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] assume !!(~i~0 < ~nodecount~0);~j~0 := 0; VAL [main_~edgecount~0=1, main_~i~0=0, main_~j~0=0, main_~nodecount~0=2, main_~source~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] assume !!(~j~0 < ~edgecount~0);call #t~mem6 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4);~x~0 := #t~mem6;havoc #t~mem6;call #t~mem7 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4);~y~0 := #t~mem7;havoc #t~mem7;call #t~mem10 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem8 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem9 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); VAL [main_~edgecount~0=1, main_~i~0=0, main_~j~0=0, main_~nodecount~0=2, main_~source~0=0, main_~x~0=1, main_~y~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~mem10|=899, |main_#t~mem8|=0, |main_#t~mem9|=0, |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] assume #t~mem10 > #t~mem8 + #t~mem9;havoc #t~mem10;havoc #t~mem9;havoc #t~mem8;call write~int(-1, ~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); VAL [main_~edgecount~0=1, main_~i~0=0, main_~j~0=0, main_~nodecount~0=2, main_~source~0=0, main_~x~0=1, main_~y~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; VAL [main_~edgecount~0=1, main_~i~0=0, main_~j~0=1, main_~nodecount~0=2, main_~source~0=0, main_~x~0=1, main_~y~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] assume !(~j~0 < ~edgecount~0); VAL [main_~edgecount~0=1, main_~i~0=0, main_~j~0=1, main_~nodecount~0=2, main_~source~0=0, main_~x~0=1, main_~y~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; VAL [main_~edgecount~0=1, main_~i~0=1, main_~j~0=1, main_~nodecount~0=2, main_~source~0=0, main_~x~0=1, main_~y~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] assume !!(~i~0 < ~nodecount~0);~j~0 := 0; VAL [main_~edgecount~0=1, main_~i~0=1, main_~j~0=0, main_~nodecount~0=2, main_~source~0=0, main_~x~0=1, main_~y~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] assume !!(~j~0 < ~edgecount~0);call #t~mem6 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4);~x~0 := #t~mem6;havoc #t~mem6;call #t~mem7 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4);~y~0 := #t~mem7;havoc #t~mem7;call #t~mem10 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem8 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem9 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); VAL [main_~edgecount~0=1, main_~i~0=1, main_~j~0=0, main_~nodecount~0=2, main_~source~0=0, main_~x~0=1, main_~y~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~mem10|=(- 1), |main_#t~mem8|=0, |main_#t~mem9|=0, |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] assume !(#t~mem10 > #t~mem8 + #t~mem9);havoc #t~mem10;havoc #t~mem9;havoc #t~mem8; VAL [main_~edgecount~0=1, main_~i~0=1, main_~j~0=0, main_~nodecount~0=2, main_~source~0=0, main_~x~0=1, main_~y~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; VAL [main_~edgecount~0=1, main_~i~0=1, main_~j~0=1, main_~nodecount~0=2, main_~source~0=0, main_~x~0=1, main_~y~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] assume !(~j~0 < ~edgecount~0); VAL [main_~edgecount~0=1, main_~i~0=1, main_~j~0=1, main_~nodecount~0=2, main_~source~0=0, main_~x~0=1, main_~y~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; VAL [main_~edgecount~0=1, main_~i~0=2, main_~j~0=1, main_~nodecount~0=2, main_~source~0=0, main_~x~0=1, main_~y~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] assume !(~i~0 < ~nodecount~0); VAL [main_~edgecount~0=1, main_~i~0=2, main_~j~0=1, main_~nodecount~0=2, main_~source~0=0, main_~x~0=1, main_~y~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] ~i~0 := 0; VAL [main_~edgecount~0=1, main_~i~0=0, main_~j~0=1, main_~nodecount~0=2, main_~source~0=0, main_~x~0=1, main_~y~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] assume !!(~i~0 < ~edgecount~0);call #t~mem12 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~i~0, 4);~x~0 := #t~mem12;havoc #t~mem12;call #t~mem13 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~i~0, 4);~y~0 := #t~mem13;havoc #t~mem13;call #t~mem16 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem14 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem15 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~i~0, 4); VAL [main_~edgecount~0=1, main_~i~0=0, main_~j~0=1, main_~nodecount~0=2, main_~source~0=0, main_~x~0=1, main_~y~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~mem14|=0, |main_#t~mem15|=0, |main_#t~mem16|=(- 1), |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] assume !(#t~mem16 > #t~mem14 + #t~mem15);havoc #t~mem16;havoc #t~mem14;havoc #t~mem15; VAL [main_~edgecount~0=1, main_~i~0=0, main_~j~0=1, main_~nodecount~0=2, main_~source~0=0, main_~x~0=1, main_~y~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] #t~post11 := ~i~0;~i~0 := 1 + #t~post11;havoc #t~post11; VAL [main_~edgecount~0=1, main_~i~0=1, main_~j~0=1, main_~nodecount~0=2, main_~source~0=0, main_~x~0=1, main_~y~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] assume !(~i~0 < ~edgecount~0); VAL [main_~edgecount~0=1, main_~i~0=1, main_~j~0=1, main_~nodecount~0=2, main_~source~0=0, main_~x~0=1, main_~y~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] ~i~0 := 0; VAL [main_~edgecount~0=1, main_~i~0=0, main_~j~0=1, main_~nodecount~0=2, main_~source~0=0, main_~x~0=1, main_~y~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] assume !!(~i~0 < ~nodecount~0);call #t~mem18 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); VAL [main_~edgecount~0=1, main_~i~0=0, main_~j~0=1, main_~nodecount~0=2, main_~source~0=0, main_~x~0=1, main_~y~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~mem18|=0, |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] CALL call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); VAL [|#NULL.base|=0, |#NULL.offset|=0, |__VERIFIER_assert_#in~cond|=1, ~INFINITY~0=899] [?] ~cond := #in~cond; VAL [__VERIFIER_assert_~cond=1, |#NULL.base|=0, |#NULL.offset|=0, |__VERIFIER_assert_#in~cond|=1, ~INFINITY~0=899] [?] assume !(0 == ~cond); VAL [__VERIFIER_assert_~cond=1, |#NULL.base|=0, |#NULL.offset|=0, |__VERIFIER_assert_#in~cond|=1, ~INFINITY~0=899] [?] assume true; VAL [__VERIFIER_assert_~cond=1, |#NULL.base|=0, |#NULL.offset|=0, |__VERIFIER_assert_#in~cond|=1, ~INFINITY~0=899] [?] RET #115#return; VAL [main_~edgecount~0=1, main_~i~0=0, main_~j~0=1, main_~nodecount~0=2, main_~source~0=0, main_~x~0=1, main_~y~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~mem18|=0, |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] havoc #t~mem18; VAL [main_~edgecount~0=1, main_~i~0=0, main_~j~0=1, main_~nodecount~0=2, main_~source~0=0, main_~x~0=1, main_~y~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] #t~post17 := ~i~0;~i~0 := 1 + #t~post17;havoc #t~post17; VAL [main_~edgecount~0=1, main_~i~0=1, main_~j~0=1, main_~nodecount~0=2, main_~source~0=0, main_~x~0=1, main_~y~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] assume !!(~i~0 < ~nodecount~0);call #t~mem18 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); VAL [main_~edgecount~0=1, main_~i~0=1, main_~j~0=1, main_~nodecount~0=2, main_~source~0=0, main_~x~0=1, main_~y~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~mem18|=(- 1), |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] CALL call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); VAL [|#NULL.base|=0, |#NULL.offset|=0, |__VERIFIER_assert_#in~cond|=0, ~INFINITY~0=899] [?] ~cond := #in~cond; VAL [__VERIFIER_assert_~cond=0, |#NULL.base|=0, |#NULL.offset|=0, |__VERIFIER_assert_#in~cond|=0, ~INFINITY~0=899] [?] assume 0 == ~cond; VAL [__VERIFIER_assert_~cond=0, |#NULL.base|=0, |#NULL.offset|=0, |__VERIFIER_assert_#in~cond|=0, ~INFINITY~0=899] [?] assume !false; VAL [__VERIFIER_assert_~cond=0, |#NULL.base|=0, |#NULL.offset|=0, |__VERIFIER_assert_#in~cond|=0, ~INFINITY~0=899] [?] CALL call ULTIMATE.init(); VAL [#NULL.base=905, #NULL.offset=902, old(#NULL.base)=905, old(#NULL.offset)=902, old(~INFINITY~0)=906, ~INFINITY~0=906] [?] #NULL.base, #NULL.offset := 0, 0; [?] #valid := #valid[0 := 0]; [L11] ~INFINITY~0 := 899; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=905, old(#NULL.offset)=902, old(~INFINITY~0)=906, ~INFINITY~0=899] [?] ensures true; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=905, old(#NULL.offset)=902, old(~INFINITY~0)=906, ~INFINITY~0=899] [?] RET call ULTIMATE.init(); VAL [#NULL.base=0, #NULL.offset=0, ~INFINITY~0=899] [?] CALL call #t~ret19 := main(); VAL [#NULL.base=0, #NULL.offset=0, ~INFINITY~0=899] [L13] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L13] ~nodecount~0 := #t~nondet1; [L13] havoc #t~nondet1; [L14] assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; [L14] ~edgecount~0 := #t~nondet2; [L14] havoc #t~nondet2; VAL [#NULL.base=0, #NULL.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~nodecount~0=2] [L15] assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); VAL [#NULL.base=0, #NULL.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~nodecount~0=2] [L16] assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19); [L17] ~source~0 := 0; [L18] call ~#Source~0.base, ~#Source~0.offset := #Ultimate.alloc(80); [L18] call write~init~int(0, ~#Source~0.base, ~#Source~0.offset, 4); [L18] call write~init~int(4, ~#Source~0.base, 4 + ~#Source~0.offset, 4); [L18] call write~init~int(1, ~#Source~0.base, 8 + ~#Source~0.offset, 4); [L18] call write~init~int(1, ~#Source~0.base, 12 + ~#Source~0.offset, 4); [L18] call write~init~int(0, ~#Source~0.base, 16 + ~#Source~0.offset, 4); [L18] call write~init~int(0, ~#Source~0.base, 20 + ~#Source~0.offset, 4); [L18] call write~init~int(1, ~#Source~0.base, 24 + ~#Source~0.offset, 4); [L18] call write~init~int(3, ~#Source~0.base, 28 + ~#Source~0.offset, 4); [L18] call write~init~int(4, ~#Source~0.base, 32 + ~#Source~0.offset, 4); [L18] call write~init~int(4, ~#Source~0.base, 36 + ~#Source~0.offset, 4); [L18] call write~init~int(2, ~#Source~0.base, 40 + ~#Source~0.offset, 4); [L18] call write~init~int(2, ~#Source~0.base, 44 + ~#Source~0.offset, 4); [L18] call write~init~int(3, ~#Source~0.base, 48 + ~#Source~0.offset, 4); [L18] call write~init~int(0, ~#Source~0.base, 52 + ~#Source~0.offset, 4); [L18] call write~init~int(0, ~#Source~0.base, 56 + ~#Source~0.offset, 4); [L18] call write~init~int(3, ~#Source~0.base, 60 + ~#Source~0.offset, 4); [L18] call write~init~int(1, ~#Source~0.base, 64 + ~#Source~0.offset, 4); [L18] call write~init~int(2, ~#Source~0.base, 68 + ~#Source~0.offset, 4); [L18] call write~init~int(2, ~#Source~0.base, 72 + ~#Source~0.offset, 4); [L18] call write~init~int(3, ~#Source~0.base, 76 + ~#Source~0.offset, 4); [L19] call ~#Dest~0.base, ~#Dest~0.offset := #Ultimate.alloc(80); [L19] call write~init~int(1, ~#Dest~0.base, ~#Dest~0.offset, 4); [L19] call write~init~int(3, ~#Dest~0.base, 4 + ~#Dest~0.offset, 4); [L19] call write~init~int(4, ~#Dest~0.base, 8 + ~#Dest~0.offset, 4); [L19] call write~init~int(1, ~#Dest~0.base, 12 + ~#Dest~0.offset, 4); [L19] call write~init~int(1, ~#Dest~0.base, 16 + ~#Dest~0.offset, 4); [L19] call write~init~int(4, ~#Dest~0.base, 20 + ~#Dest~0.offset, 4); [L19] call write~init~int(3, ~#Dest~0.base, 24 + ~#Dest~0.offset, 4); [L19] call write~init~int(4, ~#Dest~0.base, 28 + ~#Dest~0.offset, 4); [L19] call write~init~int(3, ~#Dest~0.base, 32 + ~#Dest~0.offset, 4); [L19] call write~init~int(0, ~#Dest~0.base, 36 + ~#Dest~0.offset, 4); [L19] call write~init~int(0, ~#Dest~0.base, 40 + ~#Dest~0.offset, 4); [L19] call write~init~int(0, ~#Dest~0.base, 44 + ~#Dest~0.offset, 4); [L19] call write~init~int(0, ~#Dest~0.base, 48 + ~#Dest~0.offset, 4); [L19] call write~init~int(2, ~#Dest~0.base, 52 + ~#Dest~0.offset, 4); [L19] call write~init~int(3, ~#Dest~0.base, 56 + ~#Dest~0.offset, 4); [L19] call write~init~int(0, ~#Dest~0.base, 60 + ~#Dest~0.offset, 4); [L19] call write~init~int(2, ~#Dest~0.base, 64 + ~#Dest~0.offset, 4); [L19] call write~init~int(1, ~#Dest~0.base, 68 + ~#Dest~0.offset, 4); [L19] call write~init~int(0, ~#Dest~0.base, 72 + ~#Dest~0.offset, 4); [L19] call write~init~int(4, ~#Dest~0.base, 76 + ~#Dest~0.offset, 4); [L20] call ~#Weight~0.base, ~#Weight~0.offset := #Ultimate.alloc(80); [L20] call write~init~int(0, ~#Weight~0.base, ~#Weight~0.offset, 4); [L20] call write~init~int(1, ~#Weight~0.base, 4 + ~#Weight~0.offset, 4); [L20] call write~init~int(2, ~#Weight~0.base, 8 + ~#Weight~0.offset, 4); [L20] call write~init~int(3, ~#Weight~0.base, 12 + ~#Weight~0.offset, 4); [L20] call write~init~int(4, ~#Weight~0.base, 16 + ~#Weight~0.offset, 4); [L20] call write~init~int(5, ~#Weight~0.base, 20 + ~#Weight~0.offset, 4); [L20] call write~init~int(6, ~#Weight~0.base, 24 + ~#Weight~0.offset, 4); [L20] call write~init~int(7, ~#Weight~0.base, 28 + ~#Weight~0.offset, 4); [L20] call write~init~int(8, ~#Weight~0.base, 32 + ~#Weight~0.offset, 4); [L20] call write~init~int(9, ~#Weight~0.base, 36 + ~#Weight~0.offset, 4); [L20] call write~init~int(10, ~#Weight~0.base, 40 + ~#Weight~0.offset, 4); [L20] call write~init~int(11, ~#Weight~0.base, 44 + ~#Weight~0.offset, 4); [L20] call write~init~int(12, ~#Weight~0.base, 48 + ~#Weight~0.offset, 4); [L20] call write~init~int(13, ~#Weight~0.base, 52 + ~#Weight~0.offset, 4); [L20] call write~init~int(14, ~#Weight~0.base, 56 + ~#Weight~0.offset, 4); [L20] call write~init~int(15, ~#Weight~0.base, 60 + ~#Weight~0.offset, 4); [L20] call write~init~int(16, ~#Weight~0.base, 64 + ~#Weight~0.offset, 4); [L20] call write~init~int(17, ~#Weight~0.base, 68 + ~#Weight~0.offset, 4); [L20] call write~init~int(18, ~#Weight~0.base, 72 + ~#Weight~0.offset, 4); [L20] call write~init~int(19, ~#Weight~0.base, 76 + ~#Weight~0.offset, 4); [L21] call ~#distance~0.base, ~#distance~0.offset := #Ultimate.alloc(20); [L22] havoc ~x~0; [L22] havoc ~y~0; [L23] havoc ~i~0; [L23] havoc ~j~0; [L25] ~i~0 := 0; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~nodecount~0=2, ~source~0=0] [L25-L32] assume !!(~i~0 < ~nodecount~0); VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~nodecount~0=2, ~source~0=0] [L26-L31] assume ~i~0 == ~source~0; [L27] call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~nodecount~0=2, ~source~0=0] [L25] #t~post3 := ~i~0; [L25] ~i~0 := 1 + #t~post3; [L25] havoc #t~post3; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~nodecount~0=2, ~source~0=0] [L25-L32] assume !!(~i~0 < ~nodecount~0); VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~nodecount~0=2, ~source~0=0] [L26-L31] assume !(~i~0 == ~source~0); [L30] call write~int(~INFINITY~0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~nodecount~0=2, ~source~0=0] [L25] #t~post3 := ~i~0; [L25] ~i~0 := 1 + #t~post3; [L25] havoc #t~post3; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=2, ~nodecount~0=2, ~source~0=0] [L25-L32] assume !(~i~0 < ~nodecount~0); VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=2, ~nodecount~0=2, ~source~0=0] [L34] ~i~0 := 0; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~nodecount~0=2, ~source~0=0] [L34-L45] assume !!(~i~0 < ~nodecount~0); [L36] ~j~0 := 0; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=0, ~nodecount~0=2, ~source~0=0] [L36-L44] assume !!(~j~0 < ~edgecount~0); [L38] call #t~mem6 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4); [L38] ~x~0 := #t~mem6; [L38] havoc #t~mem6; [L39] call #t~mem7 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4); [L39] ~y~0 := #t~mem7; [L39] havoc #t~mem7; [L40] call #t~mem10 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); [L40] call #t~mem8 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4); [L40] call #t~mem9 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); VAL [#NULL.base=0, #NULL.offset=0, #t~mem10=899, #t~mem8=0, #t~mem9=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=0, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L40-L43] assume #t~mem10 > #t~mem8 + #t~mem9; [L40] havoc #t~mem10; [L40] havoc #t~mem9; [L40] havoc #t~mem8; [L42] call write~int(-1, ~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=0, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L36] #t~post5 := ~j~0; [L36] ~j~0 := 1 + #t~post5; [L36] havoc #t~post5; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L36-L44] assume !(~j~0 < ~edgecount~0); VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L34] #t~post4 := ~i~0; [L34] ~i~0 := 1 + #t~post4; [L34] havoc #t~post4; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L34-L45] assume !!(~i~0 < ~nodecount~0); [L36] ~j~0 := 0; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=0, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L36-L44] assume !!(~j~0 < ~edgecount~0); [L38] call #t~mem6 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4); [L38] ~x~0 := #t~mem6; [L38] havoc #t~mem6; [L39] call #t~mem7 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4); [L39] ~y~0 := #t~mem7; [L39] havoc #t~mem7; [L40] call #t~mem10 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); [L40] call #t~mem8 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4); [L40] call #t~mem9 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); VAL [#NULL.base=0, #NULL.offset=0, #t~mem10=-1, #t~mem8=0, #t~mem9=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=0, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L40-L43] assume !(#t~mem10 > #t~mem8 + #t~mem9); [L40] havoc #t~mem10; [L40] havoc #t~mem9; [L40] havoc #t~mem8; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=0, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L36] #t~post5 := ~j~0; [L36] ~j~0 := 1 + #t~post5; [L36] havoc #t~post5; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L36-L44] assume !(~j~0 < ~edgecount~0); VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L34] #t~post4 := ~i~0; [L34] ~i~0 := 1 + #t~post4; [L34] havoc #t~post4; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=2, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L34-L45] assume !(~i~0 < ~nodecount~0); VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=2, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L46] ~i~0 := 0; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L46-L54] assume !!(~i~0 < ~edgecount~0); [L48] call #t~mem12 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~i~0, 4); [L48] ~x~0 := #t~mem12; [L48] havoc #t~mem12; [L49] call #t~mem13 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~i~0, 4); [L49] ~y~0 := #t~mem13; [L49] havoc #t~mem13; [L50] call #t~mem16 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); [L50] call #t~mem14 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4); [L50] call #t~mem15 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~i~0, 4); VAL [#NULL.base=0, #NULL.offset=0, #t~mem14=0, #t~mem15=0, #t~mem16=-1, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L50-L53] assume !(#t~mem16 > #t~mem14 + #t~mem15); [L50] havoc #t~mem16; [L50] havoc #t~mem14; [L50] havoc #t~mem15; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L46] #t~post11 := ~i~0; [L46] ~i~0 := 1 + #t~post11; [L46] havoc #t~post11; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L46-L54] assume !(~i~0 < ~edgecount~0); VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L56] ~i~0 := 0; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L56-L59] assume !!(~i~0 < ~nodecount~0); [L58] call #t~mem18 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); VAL [#NULL.base=0, #NULL.offset=0, #t~mem18=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L58] CALL call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); VAL [#in~cond=1, #NULL.base=0, #NULL.offset=0, ~INFINITY~0=899] [L5-L10] ~cond := #in~cond; VAL [#in~cond=1, #NULL.base=0, #NULL.offset=0, ~cond=1, ~INFINITY~0=899] [L6-L8] assume !(0 == ~cond); VAL [#in~cond=1, #NULL.base=0, #NULL.offset=0, ~cond=1, ~INFINITY~0=899] [L5-L10] ensures true; VAL [#in~cond=1, #NULL.base=0, #NULL.offset=0, ~cond=1, ~INFINITY~0=899] [L58] RET call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); VAL [#NULL.base=0, #NULL.offset=0, #t~mem18=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L58] havoc #t~mem18; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L56] #t~post17 := ~i~0; [L56] ~i~0 := 1 + #t~post17; [L56] havoc #t~post17; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L56-L59] assume !!(~i~0 < ~nodecount~0); [L58] call #t~mem18 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); VAL [#NULL.base=0, #NULL.offset=0, #t~mem18=-1, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L58] CALL call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); VAL [#in~cond=0, #NULL.base=0, #NULL.offset=0, ~INFINITY~0=899] [L5-L10] ~cond := #in~cond; VAL [#in~cond=0, #NULL.base=0, #NULL.offset=0, ~cond=0, ~INFINITY~0=899] [L6-L8] assume 0 == ~cond; VAL [#in~cond=0, #NULL.base=0, #NULL.offset=0, ~cond=0, ~INFINITY~0=899] [L7] assert false; VAL [#in~cond=0, #NULL.base=0, #NULL.offset=0, ~cond=0, ~INFINITY~0=899] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.preprocessor.BoogiePreprocessorBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL.base=905, #NULL.offset=902, old(#NULL.base)=905, old(#NULL.offset)=902, old(~INFINITY~0)=906, ~INFINITY~0=906] [?] #NULL.base, #NULL.offset := 0, 0; [?] #valid := #valid[0 := 0]; [L11] ~INFINITY~0 := 899; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=905, old(#NULL.offset)=902, old(~INFINITY~0)=906, ~INFINITY~0=899] [?] ensures true; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=905, old(#NULL.offset)=902, old(~INFINITY~0)=906, ~INFINITY~0=899] [?] RET call ULTIMATE.init(); VAL [#NULL.base=0, #NULL.offset=0, ~INFINITY~0=899] [?] CALL call #t~ret19 := main(); VAL [#NULL.base=0, #NULL.offset=0, ~INFINITY~0=899] [L13] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L13] ~nodecount~0 := #t~nondet1; [L13] havoc #t~nondet1; [L14] assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; [L14] ~edgecount~0 := #t~nondet2; [L14] havoc #t~nondet2; VAL [#NULL.base=0, #NULL.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~nodecount~0=2] [L15] assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); VAL [#NULL.base=0, #NULL.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~nodecount~0=2] [L16] assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19); [L17] ~source~0 := 0; [L18] call ~#Source~0.base, ~#Source~0.offset := #Ultimate.alloc(80); [L18] call write~init~int(0, ~#Source~0.base, ~#Source~0.offset, 4); [L18] call write~init~int(4, ~#Source~0.base, 4 + ~#Source~0.offset, 4); [L18] call write~init~int(1, ~#Source~0.base, 8 + ~#Source~0.offset, 4); [L18] call write~init~int(1, ~#Source~0.base, 12 + ~#Source~0.offset, 4); [L18] call write~init~int(0, ~#Source~0.base, 16 + ~#Source~0.offset, 4); [L18] call write~init~int(0, ~#Source~0.base, 20 + ~#Source~0.offset, 4); [L18] call write~init~int(1, ~#Source~0.base, 24 + ~#Source~0.offset, 4); [L18] call write~init~int(3, ~#Source~0.base, 28 + ~#Source~0.offset, 4); [L18] call write~init~int(4, ~#Source~0.base, 32 + ~#Source~0.offset, 4); [L18] call write~init~int(4, ~#Source~0.base, 36 + ~#Source~0.offset, 4); [L18] call write~init~int(2, ~#Source~0.base, 40 + ~#Source~0.offset, 4); [L18] call write~init~int(2, ~#Source~0.base, 44 + ~#Source~0.offset, 4); [L18] call write~init~int(3, ~#Source~0.base, 48 + ~#Source~0.offset, 4); [L18] call write~init~int(0, ~#Source~0.base, 52 + ~#Source~0.offset, 4); [L18] call write~init~int(0, ~#Source~0.base, 56 + ~#Source~0.offset, 4); [L18] call write~init~int(3, ~#Source~0.base, 60 + ~#Source~0.offset, 4); [L18] call write~init~int(1, ~#Source~0.base, 64 + ~#Source~0.offset, 4); [L18] call write~init~int(2, ~#Source~0.base, 68 + ~#Source~0.offset, 4); [L18] call write~init~int(2, ~#Source~0.base, 72 + ~#Source~0.offset, 4); [L18] call write~init~int(3, ~#Source~0.base, 76 + ~#Source~0.offset, 4); [L19] call ~#Dest~0.base, ~#Dest~0.offset := #Ultimate.alloc(80); [L19] call write~init~int(1, ~#Dest~0.base, ~#Dest~0.offset, 4); [L19] call write~init~int(3, ~#Dest~0.base, 4 + ~#Dest~0.offset, 4); [L19] call write~init~int(4, ~#Dest~0.base, 8 + ~#Dest~0.offset, 4); [L19] call write~init~int(1, ~#Dest~0.base, 12 + ~#Dest~0.offset, 4); [L19] call write~init~int(1, ~#Dest~0.base, 16 + ~#Dest~0.offset, 4); [L19] call write~init~int(4, ~#Dest~0.base, 20 + ~#Dest~0.offset, 4); [L19] call write~init~int(3, ~#Dest~0.base, 24 + ~#Dest~0.offset, 4); [L19] call write~init~int(4, ~#Dest~0.base, 28 + ~#Dest~0.offset, 4); [L19] call write~init~int(3, ~#Dest~0.base, 32 + ~#Dest~0.offset, 4); [L19] call write~init~int(0, ~#Dest~0.base, 36 + ~#Dest~0.offset, 4); [L19] call write~init~int(0, ~#Dest~0.base, 40 + ~#Dest~0.offset, 4); [L19] call write~init~int(0, ~#Dest~0.base, 44 + ~#Dest~0.offset, 4); [L19] call write~init~int(0, ~#Dest~0.base, 48 + ~#Dest~0.offset, 4); [L19] call write~init~int(2, ~#Dest~0.base, 52 + ~#Dest~0.offset, 4); [L19] call write~init~int(3, ~#Dest~0.base, 56 + ~#Dest~0.offset, 4); [L19] call write~init~int(0, ~#Dest~0.base, 60 + ~#Dest~0.offset, 4); [L19] call write~init~int(2, ~#Dest~0.base, 64 + ~#Dest~0.offset, 4); [L19] call write~init~int(1, ~#Dest~0.base, 68 + ~#Dest~0.offset, 4); [L19] call write~init~int(0, ~#Dest~0.base, 72 + ~#Dest~0.offset, 4); [L19] call write~init~int(4, ~#Dest~0.base, 76 + ~#Dest~0.offset, 4); [L20] call ~#Weight~0.base, ~#Weight~0.offset := #Ultimate.alloc(80); [L20] call write~init~int(0, ~#Weight~0.base, ~#Weight~0.offset, 4); [L20] call write~init~int(1, ~#Weight~0.base, 4 + ~#Weight~0.offset, 4); [L20] call write~init~int(2, ~#Weight~0.base, 8 + ~#Weight~0.offset, 4); [L20] call write~init~int(3, ~#Weight~0.base, 12 + ~#Weight~0.offset, 4); [L20] call write~init~int(4, ~#Weight~0.base, 16 + ~#Weight~0.offset, 4); [L20] call write~init~int(5, ~#Weight~0.base, 20 + ~#Weight~0.offset, 4); [L20] call write~init~int(6, ~#Weight~0.base, 24 + ~#Weight~0.offset, 4); [L20] call write~init~int(7, ~#Weight~0.base, 28 + ~#Weight~0.offset, 4); [L20] call write~init~int(8, ~#Weight~0.base, 32 + ~#Weight~0.offset, 4); [L20] call write~init~int(9, ~#Weight~0.base, 36 + ~#Weight~0.offset, 4); [L20] call write~init~int(10, ~#Weight~0.base, 40 + ~#Weight~0.offset, 4); [L20] call write~init~int(11, ~#Weight~0.base, 44 + ~#Weight~0.offset, 4); [L20] call write~init~int(12, ~#Weight~0.base, 48 + ~#Weight~0.offset, 4); [L20] call write~init~int(13, ~#Weight~0.base, 52 + ~#Weight~0.offset, 4); [L20] call write~init~int(14, ~#Weight~0.base, 56 + ~#Weight~0.offset, 4); [L20] call write~init~int(15, ~#Weight~0.base, 60 + ~#Weight~0.offset, 4); [L20] call write~init~int(16, ~#Weight~0.base, 64 + ~#Weight~0.offset, 4); [L20] call write~init~int(17, ~#Weight~0.base, 68 + ~#Weight~0.offset, 4); [L20] call write~init~int(18, ~#Weight~0.base, 72 + ~#Weight~0.offset, 4); [L20] call write~init~int(19, ~#Weight~0.base, 76 + ~#Weight~0.offset, 4); [L21] call ~#distance~0.base, ~#distance~0.offset := #Ultimate.alloc(20); [L22] havoc ~x~0; [L22] havoc ~y~0; [L23] havoc ~i~0; [L23] havoc ~j~0; [L25] ~i~0 := 0; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~nodecount~0=2, ~source~0=0] [L25-L32] assume !!(~i~0 < ~nodecount~0); VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~nodecount~0=2, ~source~0=0] [L26-L31] assume ~i~0 == ~source~0; [L27] call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~nodecount~0=2, ~source~0=0] [L25] #t~post3 := ~i~0; [L25] ~i~0 := 1 + #t~post3; [L25] havoc #t~post3; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~nodecount~0=2, ~source~0=0] [L25-L32] assume !!(~i~0 < ~nodecount~0); VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~nodecount~0=2, ~source~0=0] [L26-L31] assume !(~i~0 == ~source~0); [L30] call write~int(~INFINITY~0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~nodecount~0=2, ~source~0=0] [L25] #t~post3 := ~i~0; [L25] ~i~0 := 1 + #t~post3; [L25] havoc #t~post3; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=2, ~nodecount~0=2, ~source~0=0] [L25-L32] assume !(~i~0 < ~nodecount~0); VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=2, ~nodecount~0=2, ~source~0=0] [L34] ~i~0 := 0; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~nodecount~0=2, ~source~0=0] [L34-L45] assume !!(~i~0 < ~nodecount~0); [L36] ~j~0 := 0; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=0, ~nodecount~0=2, ~source~0=0] [L36-L44] assume !!(~j~0 < ~edgecount~0); [L38] call #t~mem6 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4); [L38] ~x~0 := #t~mem6; [L38] havoc #t~mem6; [L39] call #t~mem7 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4); [L39] ~y~0 := #t~mem7; [L39] havoc #t~mem7; [L40] call #t~mem10 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); [L40] call #t~mem8 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4); [L40] call #t~mem9 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); VAL [#NULL.base=0, #NULL.offset=0, #t~mem10=899, #t~mem8=0, #t~mem9=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=0, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L40-L43] assume #t~mem10 > #t~mem8 + #t~mem9; [L40] havoc #t~mem10; [L40] havoc #t~mem9; [L40] havoc #t~mem8; [L42] call write~int(-1, ~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=0, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L36] #t~post5 := ~j~0; [L36] ~j~0 := 1 + #t~post5; [L36] havoc #t~post5; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L36-L44] assume !(~j~0 < ~edgecount~0); VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L34] #t~post4 := ~i~0; [L34] ~i~0 := 1 + #t~post4; [L34] havoc #t~post4; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L34-L45] assume !!(~i~0 < ~nodecount~0); [L36] ~j~0 := 0; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=0, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L36-L44] assume !!(~j~0 < ~edgecount~0); [L38] call #t~mem6 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4); [L38] ~x~0 := #t~mem6; [L38] havoc #t~mem6; [L39] call #t~mem7 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4); [L39] ~y~0 := #t~mem7; [L39] havoc #t~mem7; [L40] call #t~mem10 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); [L40] call #t~mem8 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4); [L40] call #t~mem9 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); VAL [#NULL.base=0, #NULL.offset=0, #t~mem10=-1, #t~mem8=0, #t~mem9=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=0, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L40-L43] assume !(#t~mem10 > #t~mem8 + #t~mem9); [L40] havoc #t~mem10; [L40] havoc #t~mem9; [L40] havoc #t~mem8; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=0, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L36] #t~post5 := ~j~0; [L36] ~j~0 := 1 + #t~post5; [L36] havoc #t~post5; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L36-L44] assume !(~j~0 < ~edgecount~0); VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L34] #t~post4 := ~i~0; [L34] ~i~0 := 1 + #t~post4; [L34] havoc #t~post4; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=2, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L34-L45] assume !(~i~0 < ~nodecount~0); VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=2, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L46] ~i~0 := 0; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L46-L54] assume !!(~i~0 < ~edgecount~0); [L48] call #t~mem12 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~i~0, 4); [L48] ~x~0 := #t~mem12; [L48] havoc #t~mem12; [L49] call #t~mem13 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~i~0, 4); [L49] ~y~0 := #t~mem13; [L49] havoc #t~mem13; [L50] call #t~mem16 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); [L50] call #t~mem14 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4); [L50] call #t~mem15 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~i~0, 4); VAL [#NULL.base=0, #NULL.offset=0, #t~mem14=0, #t~mem15=0, #t~mem16=-1, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L50-L53] assume !(#t~mem16 > #t~mem14 + #t~mem15); [L50] havoc #t~mem16; [L50] havoc #t~mem14; [L50] havoc #t~mem15; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L46] #t~post11 := ~i~0; [L46] ~i~0 := 1 + #t~post11; [L46] havoc #t~post11; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L46-L54] assume !(~i~0 < ~edgecount~0); VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L56] ~i~0 := 0; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L56-L59] assume !!(~i~0 < ~nodecount~0); [L58] call #t~mem18 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); VAL [#NULL.base=0, #NULL.offset=0, #t~mem18=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L58] CALL call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); VAL [#in~cond=1, #NULL.base=0, #NULL.offset=0, ~INFINITY~0=899] [L5-L10] ~cond := #in~cond; VAL [#in~cond=1, #NULL.base=0, #NULL.offset=0, ~cond=1, ~INFINITY~0=899] [L6-L8] assume !(0 == ~cond); VAL [#in~cond=1, #NULL.base=0, #NULL.offset=0, ~cond=1, ~INFINITY~0=899] [L5-L10] ensures true; VAL [#in~cond=1, #NULL.base=0, #NULL.offset=0, ~cond=1, ~INFINITY~0=899] [L58] RET call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); VAL [#NULL.base=0, #NULL.offset=0, #t~mem18=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L58] havoc #t~mem18; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L56] #t~post17 := ~i~0; [L56] ~i~0 := 1 + #t~post17; [L56] havoc #t~post17; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L56-L59] assume !!(~i~0 < ~nodecount~0); [L58] call #t~mem18 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); VAL [#NULL.base=0, #NULL.offset=0, #t~mem18=-1, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L58] CALL call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); VAL [#in~cond=0, #NULL.base=0, #NULL.offset=0, ~INFINITY~0=899] [L5-L10] ~cond := #in~cond; VAL [#in~cond=0, #NULL.base=0, #NULL.offset=0, ~cond=0, ~INFINITY~0=899] [L6-L8] assume 0 == ~cond; VAL [#in~cond=0, #NULL.base=0, #NULL.offset=0, ~cond=0, ~INFINITY~0=899] [L7] assert false; VAL [#in~cond=0, #NULL.base=0, #NULL.offset=0, ~cond=0, ~INFINITY~0=899] [?] CALL call ULTIMATE.init(); VAL [#NULL!base=905, #NULL!offset=902, old(#NULL!base)=905, old(#NULL!offset)=902, old(~INFINITY~0)=906, ~INFINITY~0=906] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L11] ~INFINITY~0 := 899; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=905, old(#NULL!offset)=902, old(~INFINITY~0)=906, ~INFINITY~0=899] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0, ~INFINITY~0=899] [?] CALL call #t~ret19 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~INFINITY~0=899] [L13] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L13] ~nodecount~0 := #t~nondet1; [L13] havoc #t~nondet1; [L14] assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; [L14] ~edgecount~0 := #t~nondet2; [L14] havoc #t~nondet2; VAL [#NULL!base=0, #NULL!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~nodecount~0=2] [L15] COND FALSE !(!(0 <= ~nodecount~0 && ~nodecount~0 <= 4)) VAL [#NULL!base=0, #NULL!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~nodecount~0=2] [L16] COND FALSE !(!(0 <= ~edgecount~0 && ~edgecount~0 <= 19)) [L17] ~source~0 := 0; [L18] FCALL call ~#Source~0 := #Ultimate.alloc(80); [L18] FCALL call write~init~int(0, { base: ~#Source~0!base, offset: ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(4, { base: ~#Source~0!base, offset: 4 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(1, { base: ~#Source~0!base, offset: 8 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(1, { base: ~#Source~0!base, offset: 12 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(0, { base: ~#Source~0!base, offset: 16 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(0, { base: ~#Source~0!base, offset: 20 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(1, { base: ~#Source~0!base, offset: 24 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(3, { base: ~#Source~0!base, offset: 28 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(4, { base: ~#Source~0!base, offset: 32 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(4, { base: ~#Source~0!base, offset: 36 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(2, { base: ~#Source~0!base, offset: 40 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(2, { base: ~#Source~0!base, offset: 44 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(3, { base: ~#Source~0!base, offset: 48 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(0, { base: ~#Source~0!base, offset: 52 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(0, { base: ~#Source~0!base, offset: 56 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(3, { base: ~#Source~0!base, offset: 60 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(1, { base: ~#Source~0!base, offset: 64 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(2, { base: ~#Source~0!base, offset: 68 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(2, { base: ~#Source~0!base, offset: 72 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(3, { base: ~#Source~0!base, offset: 76 + ~#Source~0!offset }, 4); [L19] FCALL call ~#Dest~0 := #Ultimate.alloc(80); [L19] FCALL call write~init~int(1, { base: ~#Dest~0!base, offset: ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(3, { base: ~#Dest~0!base, offset: 4 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(4, { base: ~#Dest~0!base, offset: 8 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(1, { base: ~#Dest~0!base, offset: 12 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(1, { base: ~#Dest~0!base, offset: 16 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(4, { base: ~#Dest~0!base, offset: 20 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(3, { base: ~#Dest~0!base, offset: 24 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(4, { base: ~#Dest~0!base, offset: 28 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(3, { base: ~#Dest~0!base, offset: 32 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(0, { base: ~#Dest~0!base, offset: 36 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(0, { base: ~#Dest~0!base, offset: 40 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(0, { base: ~#Dest~0!base, offset: 44 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(0, { base: ~#Dest~0!base, offset: 48 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(2, { base: ~#Dest~0!base, offset: 52 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(3, { base: ~#Dest~0!base, offset: 56 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(0, { base: ~#Dest~0!base, offset: 60 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(2, { base: ~#Dest~0!base, offset: 64 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(1, { base: ~#Dest~0!base, offset: 68 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(0, { base: ~#Dest~0!base, offset: 72 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(4, { base: ~#Dest~0!base, offset: 76 + ~#Dest~0!offset }, 4); [L20] FCALL call ~#Weight~0 := #Ultimate.alloc(80); [L20] FCALL call write~init~int(0, { base: ~#Weight~0!base, offset: ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(1, { base: ~#Weight~0!base, offset: 4 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(2, { base: ~#Weight~0!base, offset: 8 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(3, { base: ~#Weight~0!base, offset: 12 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(4, { base: ~#Weight~0!base, offset: 16 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(5, { base: ~#Weight~0!base, offset: 20 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(6, { base: ~#Weight~0!base, offset: 24 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(7, { base: ~#Weight~0!base, offset: 28 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(8, { base: ~#Weight~0!base, offset: 32 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(9, { base: ~#Weight~0!base, offset: 36 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(10, { base: ~#Weight~0!base, offset: 40 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(11, { base: ~#Weight~0!base, offset: 44 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(12, { base: ~#Weight~0!base, offset: 48 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(13, { base: ~#Weight~0!base, offset: 52 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(14, { base: ~#Weight~0!base, offset: 56 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(15, { base: ~#Weight~0!base, offset: 60 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(16, { base: ~#Weight~0!base, offset: 64 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(17, { base: ~#Weight~0!base, offset: 68 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(18, { base: ~#Weight~0!base, offset: 72 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(19, { base: ~#Weight~0!base, offset: 76 + ~#Weight~0!offset }, 4); [L21] FCALL call ~#distance~0 := #Ultimate.alloc(20); [L22] havoc ~x~0; [L22] havoc ~y~0; [L23] havoc ~i~0; [L23] havoc ~j~0; [L25] ~i~0 := 0; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~nodecount~0=2, ~source~0=0] [L25-L32] COND FALSE !(!(~i~0 < ~nodecount~0)) VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~nodecount~0=2, ~source~0=0] [L26] COND TRUE ~i~0 == ~source~0 [L27] FCALL call write~int(0, { base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~i~0 }, 4); VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~nodecount~0=2, ~source~0=0] [L25] #t~post3 := ~i~0; [L25] ~i~0 := 1 + #t~post3; [L25] havoc #t~post3; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~nodecount~0=2, ~source~0=0] [L25-L32] COND FALSE !(!(~i~0 < ~nodecount~0)) VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~nodecount~0=2, ~source~0=0] [L26] COND FALSE !(~i~0 == ~source~0) [L30] FCALL call write~int(~INFINITY~0, { base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~i~0 }, 4); VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~nodecount~0=2, ~source~0=0] [L25] #t~post3 := ~i~0; [L25] ~i~0 := 1 + #t~post3; [L25] havoc #t~post3; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=2, ~nodecount~0=2, ~source~0=0] [L25-L32] COND TRUE !(~i~0 < ~nodecount~0) VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=2, ~nodecount~0=2, ~source~0=0] [L34] ~i~0 := 0; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~nodecount~0=2, ~source~0=0] [L34-L45] COND FALSE !(!(~i~0 < ~nodecount~0)) [L36] ~j~0 := 0; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=0, ~nodecount~0=2, ~source~0=0] [L36-L44] COND FALSE !(!(~j~0 < ~edgecount~0)) [L38] FCALL call #t~mem6 := read~int({ base: ~#Dest~0!base, offset: ~#Dest~0!offset + 4 * ~j~0 }, 4); [L38] ~x~0 := #t~mem6; [L38] havoc #t~mem6; [L39] FCALL call #t~mem7 := read~int({ base: ~#Source~0!base, offset: ~#Source~0!offset + 4 * ~j~0 }, 4); [L39] ~y~0 := #t~mem7; [L39] havoc #t~mem7; [L40] FCALL call #t~mem10 := read~int({ base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~x~0 }, 4); [L40] FCALL call #t~mem8 := read~int({ base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~y~0 }, 4); [L40] FCALL call #t~mem9 := read~int({ base: ~#Weight~0!base, offset: ~#Weight~0!offset + 4 * ~j~0 }, 4); VAL [#NULL!base=0, #NULL!offset=0, #t~mem10=899, #t~mem8=0, #t~mem9=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=0, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L40] COND TRUE #t~mem10 > #t~mem8 + #t~mem9 [L40] havoc #t~mem10; [L40] havoc #t~mem9; [L40] havoc #t~mem8; [L42] FCALL call write~int(-1, { base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~x~0 }, 4); VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=0, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L36] #t~post5 := ~j~0; [L36] ~j~0 := 1 + #t~post5; [L36] havoc #t~post5; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L36-L44] COND TRUE !(~j~0 < ~edgecount~0) VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L34] #t~post4 := ~i~0; [L34] ~i~0 := 1 + #t~post4; [L34] havoc #t~post4; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L34-L45] COND FALSE !(!(~i~0 < ~nodecount~0)) [L36] ~j~0 := 0; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=0, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L36-L44] COND FALSE !(!(~j~0 < ~edgecount~0)) [L38] FCALL call #t~mem6 := read~int({ base: ~#Dest~0!base, offset: ~#Dest~0!offset + 4 * ~j~0 }, 4); [L38] ~x~0 := #t~mem6; [L38] havoc #t~mem6; [L39] FCALL call #t~mem7 := read~int({ base: ~#Source~0!base, offset: ~#Source~0!offset + 4 * ~j~0 }, 4); [L39] ~y~0 := #t~mem7; [L39] havoc #t~mem7; [L40] FCALL call #t~mem10 := read~int({ base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~x~0 }, 4); [L40] FCALL call #t~mem8 := read~int({ base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~y~0 }, 4); [L40] FCALL call #t~mem9 := read~int({ base: ~#Weight~0!base, offset: ~#Weight~0!offset + 4 * ~j~0 }, 4); VAL [#NULL!base=0, #NULL!offset=0, #t~mem10=-1, #t~mem8=0, #t~mem9=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=0, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L40] COND FALSE !(#t~mem10 > #t~mem8 + #t~mem9) [L40] havoc #t~mem10; [L40] havoc #t~mem9; [L40] havoc #t~mem8; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=0, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L36] #t~post5 := ~j~0; [L36] ~j~0 := 1 + #t~post5; [L36] havoc #t~post5; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L36-L44] COND TRUE !(~j~0 < ~edgecount~0) VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L34] #t~post4 := ~i~0; [L34] ~i~0 := 1 + #t~post4; [L34] havoc #t~post4; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=2, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L34-L45] COND TRUE !(~i~0 < ~nodecount~0) VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=2, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L46] ~i~0 := 0; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L46-L54] COND FALSE !(!(~i~0 < ~edgecount~0)) [L48] FCALL call #t~mem12 := read~int({ base: ~#Dest~0!base, offset: ~#Dest~0!offset + 4 * ~i~0 }, 4); [L48] ~x~0 := #t~mem12; [L48] havoc #t~mem12; [L49] FCALL call #t~mem13 := read~int({ base: ~#Source~0!base, offset: ~#Source~0!offset + 4 * ~i~0 }, 4); [L49] ~y~0 := #t~mem13; [L49] havoc #t~mem13; [L50] FCALL call #t~mem16 := read~int({ base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~x~0 }, 4); [L50] FCALL call #t~mem14 := read~int({ base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~y~0 }, 4); [L50] FCALL call #t~mem15 := read~int({ base: ~#Weight~0!base, offset: ~#Weight~0!offset + 4 * ~i~0 }, 4); VAL [#NULL!base=0, #NULL!offset=0, #t~mem14=0, #t~mem15=0, #t~mem16=-1, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L50] COND FALSE !(#t~mem16 > #t~mem14 + #t~mem15) [L50] havoc #t~mem16; [L50] havoc #t~mem14; [L50] havoc #t~mem15; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L46] #t~post11 := ~i~0; [L46] ~i~0 := 1 + #t~post11; [L46] havoc #t~post11; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L46-L54] COND TRUE !(~i~0 < ~edgecount~0) VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L56] ~i~0 := 0; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L56-L59] COND FALSE !(!(~i~0 < ~nodecount~0)) [L58] FCALL call #t~mem18 := read~int({ base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~i~0 }, 4); VAL [#NULL!base=0, #NULL!offset=0, #t~mem18=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L58] CALL call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); VAL [#in~cond=1, #NULL!base=0, #NULL!offset=0, ~INFINITY~0=899] [L5-L10] ~cond := #in~cond; VAL [#in~cond=1, #NULL!base=0, #NULL!offset=0, ~cond=1, ~INFINITY~0=899] [L6] COND FALSE !(0 == ~cond) VAL [#in~cond=1, #NULL!base=0, #NULL!offset=0, ~cond=1, ~INFINITY~0=899] [L58] RET call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); VAL [#NULL!base=0, #NULL!offset=0, #t~mem18=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L58] havoc #t~mem18; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L56] #t~post17 := ~i~0; [L56] ~i~0 := 1 + #t~post17; [L56] havoc #t~post17; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L56-L59] COND FALSE !(!(~i~0 < ~nodecount~0)) [L58] FCALL call #t~mem18 := read~int({ base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~i~0 }, 4); VAL [#NULL!base=0, #NULL!offset=0, #t~mem18=-1, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L58] CALL call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); VAL [#in~cond=0, #NULL!base=0, #NULL!offset=0, ~INFINITY~0=899] [L5-L10] ~cond := #in~cond; VAL [#in~cond=0, #NULL!base=0, #NULL!offset=0, ~cond=0, ~INFINITY~0=899] [L6] COND TRUE 0 == ~cond VAL [#in~cond=0, #NULL!base=0, #NULL!offset=0, ~cond=0, ~INFINITY~0=899] [L7] assert false; VAL [#in~cond=0, #NULL!base=0, #NULL!offset=0, ~cond=0, ~INFINITY~0=899] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL!base=905, #NULL!offset=902, old(#NULL!base)=905, old(#NULL!offset)=902, old(~INFINITY~0)=906, ~INFINITY~0=906] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L11] ~INFINITY~0 := 899; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=905, old(#NULL!offset)=902, old(~INFINITY~0)=906, ~INFINITY~0=899] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0, ~INFINITY~0=899] [?] CALL call #t~ret19 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~INFINITY~0=899] [L13] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L13] ~nodecount~0 := #t~nondet1; [L13] havoc #t~nondet1; [L14] assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; [L14] ~edgecount~0 := #t~nondet2; [L14] havoc #t~nondet2; VAL [#NULL!base=0, #NULL!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~nodecount~0=2] [L15] COND FALSE !(!(0 <= ~nodecount~0 && ~nodecount~0 <= 4)) VAL [#NULL!base=0, #NULL!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~nodecount~0=2] [L16] COND FALSE !(!(0 <= ~edgecount~0 && ~edgecount~0 <= 19)) [L17] ~source~0 := 0; [L18] FCALL call ~#Source~0 := #Ultimate.alloc(80); [L18] FCALL call write~init~int(0, { base: ~#Source~0!base, offset: ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(4, { base: ~#Source~0!base, offset: 4 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(1, { base: ~#Source~0!base, offset: 8 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(1, { base: ~#Source~0!base, offset: 12 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(0, { base: ~#Source~0!base, offset: 16 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(0, { base: ~#Source~0!base, offset: 20 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(1, { base: ~#Source~0!base, offset: 24 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(3, { base: ~#Source~0!base, offset: 28 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(4, { base: ~#Source~0!base, offset: 32 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(4, { base: ~#Source~0!base, offset: 36 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(2, { base: ~#Source~0!base, offset: 40 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(2, { base: ~#Source~0!base, offset: 44 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(3, { base: ~#Source~0!base, offset: 48 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(0, { base: ~#Source~0!base, offset: 52 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(0, { base: ~#Source~0!base, offset: 56 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(3, { base: ~#Source~0!base, offset: 60 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(1, { base: ~#Source~0!base, offset: 64 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(2, { base: ~#Source~0!base, offset: 68 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(2, { base: ~#Source~0!base, offset: 72 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(3, { base: ~#Source~0!base, offset: 76 + ~#Source~0!offset }, 4); [L19] FCALL call ~#Dest~0 := #Ultimate.alloc(80); [L19] FCALL call write~init~int(1, { base: ~#Dest~0!base, offset: ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(3, { base: ~#Dest~0!base, offset: 4 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(4, { base: ~#Dest~0!base, offset: 8 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(1, { base: ~#Dest~0!base, offset: 12 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(1, { base: ~#Dest~0!base, offset: 16 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(4, { base: ~#Dest~0!base, offset: 20 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(3, { base: ~#Dest~0!base, offset: 24 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(4, { base: ~#Dest~0!base, offset: 28 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(3, { base: ~#Dest~0!base, offset: 32 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(0, { base: ~#Dest~0!base, offset: 36 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(0, { base: ~#Dest~0!base, offset: 40 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(0, { base: ~#Dest~0!base, offset: 44 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(0, { base: ~#Dest~0!base, offset: 48 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(2, { base: ~#Dest~0!base, offset: 52 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(3, { base: ~#Dest~0!base, offset: 56 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(0, { base: ~#Dest~0!base, offset: 60 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(2, { base: ~#Dest~0!base, offset: 64 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(1, { base: ~#Dest~0!base, offset: 68 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(0, { base: ~#Dest~0!base, offset: 72 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(4, { base: ~#Dest~0!base, offset: 76 + ~#Dest~0!offset }, 4); [L20] FCALL call ~#Weight~0 := #Ultimate.alloc(80); [L20] FCALL call write~init~int(0, { base: ~#Weight~0!base, offset: ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(1, { base: ~#Weight~0!base, offset: 4 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(2, { base: ~#Weight~0!base, offset: 8 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(3, { base: ~#Weight~0!base, offset: 12 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(4, { base: ~#Weight~0!base, offset: 16 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(5, { base: ~#Weight~0!base, offset: 20 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(6, { base: ~#Weight~0!base, offset: 24 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(7, { base: ~#Weight~0!base, offset: 28 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(8, { base: ~#Weight~0!base, offset: 32 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(9, { base: ~#Weight~0!base, offset: 36 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(10, { base: ~#Weight~0!base, offset: 40 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(11, { base: ~#Weight~0!base, offset: 44 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(12, { base: ~#Weight~0!base, offset: 48 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(13, { base: ~#Weight~0!base, offset: 52 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(14, { base: ~#Weight~0!base, offset: 56 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(15, { base: ~#Weight~0!base, offset: 60 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(16, { base: ~#Weight~0!base, offset: 64 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(17, { base: ~#Weight~0!base, offset: 68 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(18, { base: ~#Weight~0!base, offset: 72 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(19, { base: ~#Weight~0!base, offset: 76 + ~#Weight~0!offset }, 4); [L21] FCALL call ~#distance~0 := #Ultimate.alloc(20); [L22] havoc ~x~0; [L22] havoc ~y~0; [L23] havoc ~i~0; [L23] havoc ~j~0; [L25] ~i~0 := 0; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~nodecount~0=2, ~source~0=0] [L25-L32] COND FALSE !(!(~i~0 < ~nodecount~0)) VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~nodecount~0=2, ~source~0=0] [L26] COND TRUE ~i~0 == ~source~0 [L27] FCALL call write~int(0, { base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~i~0 }, 4); VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~nodecount~0=2, ~source~0=0] [L25] #t~post3 := ~i~0; [L25] ~i~0 := 1 + #t~post3; [L25] havoc #t~post3; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~nodecount~0=2, ~source~0=0] [L25-L32] COND FALSE !(!(~i~0 < ~nodecount~0)) VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~nodecount~0=2, ~source~0=0] [L26] COND FALSE !(~i~0 == ~source~0) [L30] FCALL call write~int(~INFINITY~0, { base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~i~0 }, 4); VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~nodecount~0=2, ~source~0=0] [L25] #t~post3 := ~i~0; [L25] ~i~0 := 1 + #t~post3; [L25] havoc #t~post3; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=2, ~nodecount~0=2, ~source~0=0] [L25-L32] COND TRUE !(~i~0 < ~nodecount~0) VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=2, ~nodecount~0=2, ~source~0=0] [L34] ~i~0 := 0; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~nodecount~0=2, ~source~0=0] [L34-L45] COND FALSE !(!(~i~0 < ~nodecount~0)) [L36] ~j~0 := 0; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=0, ~nodecount~0=2, ~source~0=0] [L36-L44] COND FALSE !(!(~j~0 < ~edgecount~0)) [L38] FCALL call #t~mem6 := read~int({ base: ~#Dest~0!base, offset: ~#Dest~0!offset + 4 * ~j~0 }, 4); [L38] ~x~0 := #t~mem6; [L38] havoc #t~mem6; [L39] FCALL call #t~mem7 := read~int({ base: ~#Source~0!base, offset: ~#Source~0!offset + 4 * ~j~0 }, 4); [L39] ~y~0 := #t~mem7; [L39] havoc #t~mem7; [L40] FCALL call #t~mem10 := read~int({ base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~x~0 }, 4); [L40] FCALL call #t~mem8 := read~int({ base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~y~0 }, 4); [L40] FCALL call #t~mem9 := read~int({ base: ~#Weight~0!base, offset: ~#Weight~0!offset + 4 * ~j~0 }, 4); VAL [#NULL!base=0, #NULL!offset=0, #t~mem10=899, #t~mem8=0, #t~mem9=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=0, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L40] COND TRUE #t~mem10 > #t~mem8 + #t~mem9 [L40] havoc #t~mem10; [L40] havoc #t~mem9; [L40] havoc #t~mem8; [L42] FCALL call write~int(-1, { base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~x~0 }, 4); VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=0, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L36] #t~post5 := ~j~0; [L36] ~j~0 := 1 + #t~post5; [L36] havoc #t~post5; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L36-L44] COND TRUE !(~j~0 < ~edgecount~0) VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L34] #t~post4 := ~i~0; [L34] ~i~0 := 1 + #t~post4; [L34] havoc #t~post4; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L34-L45] COND FALSE !(!(~i~0 < ~nodecount~0)) [L36] ~j~0 := 0; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=0, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L36-L44] COND FALSE !(!(~j~0 < ~edgecount~0)) [L38] FCALL call #t~mem6 := read~int({ base: ~#Dest~0!base, offset: ~#Dest~0!offset + 4 * ~j~0 }, 4); [L38] ~x~0 := #t~mem6; [L38] havoc #t~mem6; [L39] FCALL call #t~mem7 := read~int({ base: ~#Source~0!base, offset: ~#Source~0!offset + 4 * ~j~0 }, 4); [L39] ~y~0 := #t~mem7; [L39] havoc #t~mem7; [L40] FCALL call #t~mem10 := read~int({ base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~x~0 }, 4); [L40] FCALL call #t~mem8 := read~int({ base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~y~0 }, 4); [L40] FCALL call #t~mem9 := read~int({ base: ~#Weight~0!base, offset: ~#Weight~0!offset + 4 * ~j~0 }, 4); VAL [#NULL!base=0, #NULL!offset=0, #t~mem10=-1, #t~mem8=0, #t~mem9=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=0, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L40] COND FALSE !(#t~mem10 > #t~mem8 + #t~mem9) [L40] havoc #t~mem10; [L40] havoc #t~mem9; [L40] havoc #t~mem8; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=0, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L36] #t~post5 := ~j~0; [L36] ~j~0 := 1 + #t~post5; [L36] havoc #t~post5; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L36-L44] COND TRUE !(~j~0 < ~edgecount~0) VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L34] #t~post4 := ~i~0; [L34] ~i~0 := 1 + #t~post4; [L34] havoc #t~post4; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=2, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L34-L45] COND TRUE !(~i~0 < ~nodecount~0) VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=2, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L46] ~i~0 := 0; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L46-L54] COND FALSE !(!(~i~0 < ~edgecount~0)) [L48] FCALL call #t~mem12 := read~int({ base: ~#Dest~0!base, offset: ~#Dest~0!offset + 4 * ~i~0 }, 4); [L48] ~x~0 := #t~mem12; [L48] havoc #t~mem12; [L49] FCALL call #t~mem13 := read~int({ base: ~#Source~0!base, offset: ~#Source~0!offset + 4 * ~i~0 }, 4); [L49] ~y~0 := #t~mem13; [L49] havoc #t~mem13; [L50] FCALL call #t~mem16 := read~int({ base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~x~0 }, 4); [L50] FCALL call #t~mem14 := read~int({ base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~y~0 }, 4); [L50] FCALL call #t~mem15 := read~int({ base: ~#Weight~0!base, offset: ~#Weight~0!offset + 4 * ~i~0 }, 4); VAL [#NULL!base=0, #NULL!offset=0, #t~mem14=0, #t~mem15=0, #t~mem16=-1, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L50] COND FALSE !(#t~mem16 > #t~mem14 + #t~mem15) [L50] havoc #t~mem16; [L50] havoc #t~mem14; [L50] havoc #t~mem15; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L46] #t~post11 := ~i~0; [L46] ~i~0 := 1 + #t~post11; [L46] havoc #t~post11; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L46-L54] COND TRUE !(~i~0 < ~edgecount~0) VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L56] ~i~0 := 0; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L56-L59] COND FALSE !(!(~i~0 < ~nodecount~0)) [L58] FCALL call #t~mem18 := read~int({ base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~i~0 }, 4); VAL [#NULL!base=0, #NULL!offset=0, #t~mem18=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L58] CALL call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); VAL [#in~cond=1, #NULL!base=0, #NULL!offset=0, ~INFINITY~0=899] [L5-L10] ~cond := #in~cond; VAL [#in~cond=1, #NULL!base=0, #NULL!offset=0, ~cond=1, ~INFINITY~0=899] [L6] COND FALSE !(0 == ~cond) VAL [#in~cond=1, #NULL!base=0, #NULL!offset=0, ~cond=1, ~INFINITY~0=899] [L58] RET call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); VAL [#NULL!base=0, #NULL!offset=0, #t~mem18=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L58] havoc #t~mem18; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L56] #t~post17 := ~i~0; [L56] ~i~0 := 1 + #t~post17; [L56] havoc #t~post17; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L56-L59] COND FALSE !(!(~i~0 < ~nodecount~0)) [L58] FCALL call #t~mem18 := read~int({ base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~i~0 }, 4); VAL [#NULL!base=0, #NULL!offset=0, #t~mem18=-1, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L58] CALL call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); VAL [#in~cond=0, #NULL!base=0, #NULL!offset=0, ~INFINITY~0=899] [L5-L10] ~cond := #in~cond; VAL [#in~cond=0, #NULL!base=0, #NULL!offset=0, ~cond=0, ~INFINITY~0=899] [L6] COND TRUE 0 == ~cond VAL [#in~cond=0, #NULL!base=0, #NULL!offset=0, ~cond=0, ~INFINITY~0=899] [L7] assert false; VAL [#in~cond=0, #NULL!base=0, #NULL!offset=0, ~cond=0, ~INFINITY~0=899] [?] CALL call ULTIMATE.init(); VAL [#NULL!base=905, #NULL!offset=902, old(#NULL!base)=905, old(#NULL!offset)=902, old(~INFINITY~0)=906, ~INFINITY~0=906] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L11] ~INFINITY~0 := 899; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=905, old(#NULL!offset)=902, old(~INFINITY~0)=906, ~INFINITY~0=899] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0, ~INFINITY~0=899] [?] CALL call #t~ret19 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~INFINITY~0=899] [L13] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L13] ~nodecount~0 := #t~nondet1; [L13] havoc #t~nondet1; [L14] assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; [L14] ~edgecount~0 := #t~nondet2; [L14] havoc #t~nondet2; VAL [#NULL!base=0, #NULL!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~nodecount~0=2] [L15] COND FALSE !(!(0 <= ~nodecount~0 && ~nodecount~0 <= 4)) VAL [#NULL!base=0, #NULL!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~nodecount~0=2] [L16] COND FALSE !(!(0 <= ~edgecount~0 && ~edgecount~0 <= 19)) [L17] ~source~0 := 0; [L18] FCALL call ~#Source~0 := #Ultimate.alloc(80); [L18] FCALL call write~init~int(0, { base: ~#Source~0!base, offset: ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(4, { base: ~#Source~0!base, offset: 4 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(1, { base: ~#Source~0!base, offset: 8 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(1, { base: ~#Source~0!base, offset: 12 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(0, { base: ~#Source~0!base, offset: 16 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(0, { base: ~#Source~0!base, offset: 20 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(1, { base: ~#Source~0!base, offset: 24 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(3, { base: ~#Source~0!base, offset: 28 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(4, { base: ~#Source~0!base, offset: 32 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(4, { base: ~#Source~0!base, offset: 36 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(2, { base: ~#Source~0!base, offset: 40 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(2, { base: ~#Source~0!base, offset: 44 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(3, { base: ~#Source~0!base, offset: 48 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(0, { base: ~#Source~0!base, offset: 52 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(0, { base: ~#Source~0!base, offset: 56 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(3, { base: ~#Source~0!base, offset: 60 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(1, { base: ~#Source~0!base, offset: 64 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(2, { base: ~#Source~0!base, offset: 68 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(2, { base: ~#Source~0!base, offset: 72 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(3, { base: ~#Source~0!base, offset: 76 + ~#Source~0!offset }, 4); [L19] FCALL call ~#Dest~0 := #Ultimate.alloc(80); [L19] FCALL call write~init~int(1, { base: ~#Dest~0!base, offset: ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(3, { base: ~#Dest~0!base, offset: 4 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(4, { base: ~#Dest~0!base, offset: 8 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(1, { base: ~#Dest~0!base, offset: 12 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(1, { base: ~#Dest~0!base, offset: 16 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(4, { base: ~#Dest~0!base, offset: 20 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(3, { base: ~#Dest~0!base, offset: 24 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(4, { base: ~#Dest~0!base, offset: 28 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(3, { base: ~#Dest~0!base, offset: 32 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(0, { base: ~#Dest~0!base, offset: 36 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(0, { base: ~#Dest~0!base, offset: 40 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(0, { base: ~#Dest~0!base, offset: 44 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(0, { base: ~#Dest~0!base, offset: 48 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(2, { base: ~#Dest~0!base, offset: 52 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(3, { base: ~#Dest~0!base, offset: 56 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(0, { base: ~#Dest~0!base, offset: 60 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(2, { base: ~#Dest~0!base, offset: 64 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(1, { base: ~#Dest~0!base, offset: 68 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(0, { base: ~#Dest~0!base, offset: 72 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(4, { base: ~#Dest~0!base, offset: 76 + ~#Dest~0!offset }, 4); [L20] FCALL call ~#Weight~0 := #Ultimate.alloc(80); [L20] FCALL call write~init~int(0, { base: ~#Weight~0!base, offset: ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(1, { base: ~#Weight~0!base, offset: 4 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(2, { base: ~#Weight~0!base, offset: 8 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(3, { base: ~#Weight~0!base, offset: 12 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(4, { base: ~#Weight~0!base, offset: 16 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(5, { base: ~#Weight~0!base, offset: 20 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(6, { base: ~#Weight~0!base, offset: 24 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(7, { base: ~#Weight~0!base, offset: 28 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(8, { base: ~#Weight~0!base, offset: 32 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(9, { base: ~#Weight~0!base, offset: 36 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(10, { base: ~#Weight~0!base, offset: 40 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(11, { base: ~#Weight~0!base, offset: 44 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(12, { base: ~#Weight~0!base, offset: 48 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(13, { base: ~#Weight~0!base, offset: 52 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(14, { base: ~#Weight~0!base, offset: 56 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(15, { base: ~#Weight~0!base, offset: 60 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(16, { base: ~#Weight~0!base, offset: 64 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(17, { base: ~#Weight~0!base, offset: 68 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(18, { base: ~#Weight~0!base, offset: 72 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(19, { base: ~#Weight~0!base, offset: 76 + ~#Weight~0!offset }, 4); [L21] FCALL call ~#distance~0 := #Ultimate.alloc(20); [L22] havoc ~x~0; [L22] havoc ~y~0; [L23] havoc ~i~0; [L23] havoc ~j~0; [L25] ~i~0 := 0; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~nodecount~0=2, ~source~0=0] [L25-L32] COND FALSE !(!(~i~0 < ~nodecount~0)) VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~nodecount~0=2, ~source~0=0] [L26] COND TRUE ~i~0 == ~source~0 [L27] FCALL call write~int(0, { base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~i~0 }, 4); VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~nodecount~0=2, ~source~0=0] [L25] #t~post3 := ~i~0; [L25] ~i~0 := 1 + #t~post3; [L25] havoc #t~post3; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~nodecount~0=2, ~source~0=0] [L25-L32] COND FALSE !(!(~i~0 < ~nodecount~0)) VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~nodecount~0=2, ~source~0=0] [L26] COND FALSE !(~i~0 == ~source~0) [L30] FCALL call write~int(~INFINITY~0, { base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~i~0 }, 4); VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~nodecount~0=2, ~source~0=0] [L25] #t~post3 := ~i~0; [L25] ~i~0 := 1 + #t~post3; [L25] havoc #t~post3; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=2, ~nodecount~0=2, ~source~0=0] [L25-L32] COND TRUE !(~i~0 < ~nodecount~0) VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=2, ~nodecount~0=2, ~source~0=0] [L34] ~i~0 := 0; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~nodecount~0=2, ~source~0=0] [L34-L45] COND FALSE !(!(~i~0 < ~nodecount~0)) [L36] ~j~0 := 0; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=0, ~nodecount~0=2, ~source~0=0] [L36-L44] COND FALSE !(!(~j~0 < ~edgecount~0)) [L38] FCALL call #t~mem6 := read~int({ base: ~#Dest~0!base, offset: ~#Dest~0!offset + 4 * ~j~0 }, 4); [L38] ~x~0 := #t~mem6; [L38] havoc #t~mem6; [L39] FCALL call #t~mem7 := read~int({ base: ~#Source~0!base, offset: ~#Source~0!offset + 4 * ~j~0 }, 4); [L39] ~y~0 := #t~mem7; [L39] havoc #t~mem7; [L40] FCALL call #t~mem10 := read~int({ base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~x~0 }, 4); [L40] FCALL call #t~mem8 := read~int({ base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~y~0 }, 4); [L40] FCALL call #t~mem9 := read~int({ base: ~#Weight~0!base, offset: ~#Weight~0!offset + 4 * ~j~0 }, 4); VAL [#NULL!base=0, #NULL!offset=0, #t~mem10=899, #t~mem8=0, #t~mem9=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=0, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L40] COND TRUE #t~mem10 > #t~mem8 + #t~mem9 [L40] havoc #t~mem10; [L40] havoc #t~mem9; [L40] havoc #t~mem8; [L42] FCALL call write~int(-1, { base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~x~0 }, 4); VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=0, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L36] #t~post5 := ~j~0; [L36] ~j~0 := 1 + #t~post5; [L36] havoc #t~post5; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L36-L44] COND TRUE !(~j~0 < ~edgecount~0) VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L34] #t~post4 := ~i~0; [L34] ~i~0 := 1 + #t~post4; [L34] havoc #t~post4; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L34-L45] COND FALSE !(!(~i~0 < ~nodecount~0)) [L36] ~j~0 := 0; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=0, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L36-L44] COND FALSE !(!(~j~0 < ~edgecount~0)) [L38] FCALL call #t~mem6 := read~int({ base: ~#Dest~0!base, offset: ~#Dest~0!offset + 4 * ~j~0 }, 4); [L38] ~x~0 := #t~mem6; [L38] havoc #t~mem6; [L39] FCALL call #t~mem7 := read~int({ base: ~#Source~0!base, offset: ~#Source~0!offset + 4 * ~j~0 }, 4); [L39] ~y~0 := #t~mem7; [L39] havoc #t~mem7; [L40] FCALL call #t~mem10 := read~int({ base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~x~0 }, 4); [L40] FCALL call #t~mem8 := read~int({ base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~y~0 }, 4); [L40] FCALL call #t~mem9 := read~int({ base: ~#Weight~0!base, offset: ~#Weight~0!offset + 4 * ~j~0 }, 4); VAL [#NULL!base=0, #NULL!offset=0, #t~mem10=-1, #t~mem8=0, #t~mem9=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=0, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L40] COND FALSE !(#t~mem10 > #t~mem8 + #t~mem9) [L40] havoc #t~mem10; [L40] havoc #t~mem9; [L40] havoc #t~mem8; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=0, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L36] #t~post5 := ~j~0; [L36] ~j~0 := 1 + #t~post5; [L36] havoc #t~post5; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L36-L44] COND TRUE !(~j~0 < ~edgecount~0) VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L34] #t~post4 := ~i~0; [L34] ~i~0 := 1 + #t~post4; [L34] havoc #t~post4; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=2, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L34-L45] COND TRUE !(~i~0 < ~nodecount~0) VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=2, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L46] ~i~0 := 0; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L46-L54] COND FALSE !(!(~i~0 < ~edgecount~0)) [L48] FCALL call #t~mem12 := read~int({ base: ~#Dest~0!base, offset: ~#Dest~0!offset + 4 * ~i~0 }, 4); [L48] ~x~0 := #t~mem12; [L48] havoc #t~mem12; [L49] FCALL call #t~mem13 := read~int({ base: ~#Source~0!base, offset: ~#Source~0!offset + 4 * ~i~0 }, 4); [L49] ~y~0 := #t~mem13; [L49] havoc #t~mem13; [L50] FCALL call #t~mem16 := read~int({ base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~x~0 }, 4); [L50] FCALL call #t~mem14 := read~int({ base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~y~0 }, 4); [L50] FCALL call #t~mem15 := read~int({ base: ~#Weight~0!base, offset: ~#Weight~0!offset + 4 * ~i~0 }, 4); VAL [#NULL!base=0, #NULL!offset=0, #t~mem14=0, #t~mem15=0, #t~mem16=-1, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L50] COND FALSE !(#t~mem16 > #t~mem14 + #t~mem15) [L50] havoc #t~mem16; [L50] havoc #t~mem14; [L50] havoc #t~mem15; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L46] #t~post11 := ~i~0; [L46] ~i~0 := 1 + #t~post11; [L46] havoc #t~post11; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L46-L54] COND TRUE !(~i~0 < ~edgecount~0) VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L56] ~i~0 := 0; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L56-L59] COND FALSE !(!(~i~0 < ~nodecount~0)) [L58] FCALL call #t~mem18 := read~int({ base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~i~0 }, 4); VAL [#NULL!base=0, #NULL!offset=0, #t~mem18=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L58] CALL call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); VAL [#in~cond=1, #NULL!base=0, #NULL!offset=0, ~INFINITY~0=899] [L5-L10] ~cond := #in~cond; VAL [#in~cond=1, #NULL!base=0, #NULL!offset=0, ~cond=1, ~INFINITY~0=899] [L6] COND FALSE !(0 == ~cond) VAL [#in~cond=1, #NULL!base=0, #NULL!offset=0, ~cond=1, ~INFINITY~0=899] [L58] RET call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); VAL [#NULL!base=0, #NULL!offset=0, #t~mem18=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L58] havoc #t~mem18; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L56] #t~post17 := ~i~0; [L56] ~i~0 := 1 + #t~post17; [L56] havoc #t~post17; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L56-L59] COND FALSE !(!(~i~0 < ~nodecount~0)) [L58] FCALL call #t~mem18 := read~int({ base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~i~0 }, 4); VAL [#NULL!base=0, #NULL!offset=0, #t~mem18=-1, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L58] CALL call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); VAL [#in~cond=0, #NULL!base=0, #NULL!offset=0, ~INFINITY~0=899] [L5-L10] ~cond := #in~cond; VAL [#in~cond=0, #NULL!base=0, #NULL!offset=0, ~cond=0, ~INFINITY~0=899] [L6] COND TRUE 0 == ~cond VAL [#in~cond=0, #NULL!base=0, #NULL!offset=0, ~cond=0, ~INFINITY~0=899] [L7] assert false; VAL [#in~cond=0, #NULL!base=0, #NULL!offset=0, ~cond=0, ~INFINITY~0=899] ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL!base=905, #NULL!offset=902, old(#NULL!base)=905, old(#NULL!offset)=902, old(~INFINITY~0)=906, ~INFINITY~0=906] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L11] ~INFINITY~0 := 899; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=905, old(#NULL!offset)=902, old(~INFINITY~0)=906, ~INFINITY~0=899] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0, ~INFINITY~0=899] [?] CALL call #t~ret19 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~INFINITY~0=899] [L13] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L13] ~nodecount~0 := #t~nondet1; [L13] havoc #t~nondet1; [L14] assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; [L14] ~edgecount~0 := #t~nondet2; [L14] havoc #t~nondet2; VAL [#NULL!base=0, #NULL!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~nodecount~0=2] [L15] COND FALSE !(!(0 <= ~nodecount~0 && ~nodecount~0 <= 4)) VAL [#NULL!base=0, #NULL!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~nodecount~0=2] [L16] COND FALSE !(!(0 <= ~edgecount~0 && ~edgecount~0 <= 19)) [L17] ~source~0 := 0; [L18] FCALL call ~#Source~0 := #Ultimate.alloc(80); [L18] FCALL call write~init~int(0, { base: ~#Source~0!base, offset: ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(4, { base: ~#Source~0!base, offset: 4 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(1, { base: ~#Source~0!base, offset: 8 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(1, { base: ~#Source~0!base, offset: 12 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(0, { base: ~#Source~0!base, offset: 16 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(0, { base: ~#Source~0!base, offset: 20 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(1, { base: ~#Source~0!base, offset: 24 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(3, { base: ~#Source~0!base, offset: 28 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(4, { base: ~#Source~0!base, offset: 32 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(4, { base: ~#Source~0!base, offset: 36 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(2, { base: ~#Source~0!base, offset: 40 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(2, { base: ~#Source~0!base, offset: 44 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(3, { base: ~#Source~0!base, offset: 48 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(0, { base: ~#Source~0!base, offset: 52 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(0, { base: ~#Source~0!base, offset: 56 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(3, { base: ~#Source~0!base, offset: 60 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(1, { base: ~#Source~0!base, offset: 64 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(2, { base: ~#Source~0!base, offset: 68 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(2, { base: ~#Source~0!base, offset: 72 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(3, { base: ~#Source~0!base, offset: 76 + ~#Source~0!offset }, 4); [L19] FCALL call ~#Dest~0 := #Ultimate.alloc(80); [L19] FCALL call write~init~int(1, { base: ~#Dest~0!base, offset: ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(3, { base: ~#Dest~0!base, offset: 4 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(4, { base: ~#Dest~0!base, offset: 8 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(1, { base: ~#Dest~0!base, offset: 12 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(1, { base: ~#Dest~0!base, offset: 16 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(4, { base: ~#Dest~0!base, offset: 20 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(3, { base: ~#Dest~0!base, offset: 24 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(4, { base: ~#Dest~0!base, offset: 28 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(3, { base: ~#Dest~0!base, offset: 32 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(0, { base: ~#Dest~0!base, offset: 36 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(0, { base: ~#Dest~0!base, offset: 40 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(0, { base: ~#Dest~0!base, offset: 44 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(0, { base: ~#Dest~0!base, offset: 48 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(2, { base: ~#Dest~0!base, offset: 52 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(3, { base: ~#Dest~0!base, offset: 56 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(0, { base: ~#Dest~0!base, offset: 60 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(2, { base: ~#Dest~0!base, offset: 64 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(1, { base: ~#Dest~0!base, offset: 68 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(0, { base: ~#Dest~0!base, offset: 72 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(4, { base: ~#Dest~0!base, offset: 76 + ~#Dest~0!offset }, 4); [L20] FCALL call ~#Weight~0 := #Ultimate.alloc(80); [L20] FCALL call write~init~int(0, { base: ~#Weight~0!base, offset: ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(1, { base: ~#Weight~0!base, offset: 4 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(2, { base: ~#Weight~0!base, offset: 8 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(3, { base: ~#Weight~0!base, offset: 12 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(4, { base: ~#Weight~0!base, offset: 16 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(5, { base: ~#Weight~0!base, offset: 20 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(6, { base: ~#Weight~0!base, offset: 24 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(7, { base: ~#Weight~0!base, offset: 28 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(8, { base: ~#Weight~0!base, offset: 32 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(9, { base: ~#Weight~0!base, offset: 36 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(10, { base: ~#Weight~0!base, offset: 40 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(11, { base: ~#Weight~0!base, offset: 44 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(12, { base: ~#Weight~0!base, offset: 48 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(13, { base: ~#Weight~0!base, offset: 52 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(14, { base: ~#Weight~0!base, offset: 56 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(15, { base: ~#Weight~0!base, offset: 60 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(16, { base: ~#Weight~0!base, offset: 64 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(17, { base: ~#Weight~0!base, offset: 68 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(18, { base: ~#Weight~0!base, offset: 72 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(19, { base: ~#Weight~0!base, offset: 76 + ~#Weight~0!offset }, 4); [L21] FCALL call ~#distance~0 := #Ultimate.alloc(20); [L22] havoc ~x~0; [L22] havoc ~y~0; [L23] havoc ~i~0; [L23] havoc ~j~0; [L25] ~i~0 := 0; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~nodecount~0=2, ~source~0=0] [L25-L32] COND FALSE !(!(~i~0 < ~nodecount~0)) VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~nodecount~0=2, ~source~0=0] [L26] COND TRUE ~i~0 == ~source~0 [L27] FCALL call write~int(0, { base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~i~0 }, 4); VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~nodecount~0=2, ~source~0=0] [L25] #t~post3 := ~i~0; [L25] ~i~0 := 1 + #t~post3; [L25] havoc #t~post3; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~nodecount~0=2, ~source~0=0] [L25-L32] COND FALSE !(!(~i~0 < ~nodecount~0)) VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~nodecount~0=2, ~source~0=0] [L26] COND FALSE !(~i~0 == ~source~0) [L30] FCALL call write~int(~INFINITY~0, { base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~i~0 }, 4); VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~nodecount~0=2, ~source~0=0] [L25] #t~post3 := ~i~0; [L25] ~i~0 := 1 + #t~post3; [L25] havoc #t~post3; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=2, ~nodecount~0=2, ~source~0=0] [L25-L32] COND TRUE !(~i~0 < ~nodecount~0) VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=2, ~nodecount~0=2, ~source~0=0] [L34] ~i~0 := 0; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~nodecount~0=2, ~source~0=0] [L34-L45] COND FALSE !(!(~i~0 < ~nodecount~0)) [L36] ~j~0 := 0; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=0, ~nodecount~0=2, ~source~0=0] [L36-L44] COND FALSE !(!(~j~0 < ~edgecount~0)) [L38] FCALL call #t~mem6 := read~int({ base: ~#Dest~0!base, offset: ~#Dest~0!offset + 4 * ~j~0 }, 4); [L38] ~x~0 := #t~mem6; [L38] havoc #t~mem6; [L39] FCALL call #t~mem7 := read~int({ base: ~#Source~0!base, offset: ~#Source~0!offset + 4 * ~j~0 }, 4); [L39] ~y~0 := #t~mem7; [L39] havoc #t~mem7; [L40] FCALL call #t~mem10 := read~int({ base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~x~0 }, 4); [L40] FCALL call #t~mem8 := read~int({ base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~y~0 }, 4); [L40] FCALL call #t~mem9 := read~int({ base: ~#Weight~0!base, offset: ~#Weight~0!offset + 4 * ~j~0 }, 4); VAL [#NULL!base=0, #NULL!offset=0, #t~mem10=899, #t~mem8=0, #t~mem9=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=0, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L40] COND TRUE #t~mem10 > #t~mem8 + #t~mem9 [L40] havoc #t~mem10; [L40] havoc #t~mem9; [L40] havoc #t~mem8; [L42] FCALL call write~int(-1, { base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~x~0 }, 4); VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=0, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L36] #t~post5 := ~j~0; [L36] ~j~0 := 1 + #t~post5; [L36] havoc #t~post5; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L36-L44] COND TRUE !(~j~0 < ~edgecount~0) VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L34] #t~post4 := ~i~0; [L34] ~i~0 := 1 + #t~post4; [L34] havoc #t~post4; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L34-L45] COND FALSE !(!(~i~0 < ~nodecount~0)) [L36] ~j~0 := 0; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=0, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L36-L44] COND FALSE !(!(~j~0 < ~edgecount~0)) [L38] FCALL call #t~mem6 := read~int({ base: ~#Dest~0!base, offset: ~#Dest~0!offset + 4 * ~j~0 }, 4); [L38] ~x~0 := #t~mem6; [L38] havoc #t~mem6; [L39] FCALL call #t~mem7 := read~int({ base: ~#Source~0!base, offset: ~#Source~0!offset + 4 * ~j~0 }, 4); [L39] ~y~0 := #t~mem7; [L39] havoc #t~mem7; [L40] FCALL call #t~mem10 := read~int({ base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~x~0 }, 4); [L40] FCALL call #t~mem8 := read~int({ base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~y~0 }, 4); [L40] FCALL call #t~mem9 := read~int({ base: ~#Weight~0!base, offset: ~#Weight~0!offset + 4 * ~j~0 }, 4); VAL [#NULL!base=0, #NULL!offset=0, #t~mem10=-1, #t~mem8=0, #t~mem9=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=0, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L40] COND FALSE !(#t~mem10 > #t~mem8 + #t~mem9) [L40] havoc #t~mem10; [L40] havoc #t~mem9; [L40] havoc #t~mem8; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=0, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L36] #t~post5 := ~j~0; [L36] ~j~0 := 1 + #t~post5; [L36] havoc #t~post5; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L36-L44] COND TRUE !(~j~0 < ~edgecount~0) VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L34] #t~post4 := ~i~0; [L34] ~i~0 := 1 + #t~post4; [L34] havoc #t~post4; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=2, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L34-L45] COND TRUE !(~i~0 < ~nodecount~0) VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=2, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L46] ~i~0 := 0; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L46-L54] COND FALSE !(!(~i~0 < ~edgecount~0)) [L48] FCALL call #t~mem12 := read~int({ base: ~#Dest~0!base, offset: ~#Dest~0!offset + 4 * ~i~0 }, 4); [L48] ~x~0 := #t~mem12; [L48] havoc #t~mem12; [L49] FCALL call #t~mem13 := read~int({ base: ~#Source~0!base, offset: ~#Source~0!offset + 4 * ~i~0 }, 4); [L49] ~y~0 := #t~mem13; [L49] havoc #t~mem13; [L50] FCALL call #t~mem16 := read~int({ base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~x~0 }, 4); [L50] FCALL call #t~mem14 := read~int({ base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~y~0 }, 4); [L50] FCALL call #t~mem15 := read~int({ base: ~#Weight~0!base, offset: ~#Weight~0!offset + 4 * ~i~0 }, 4); VAL [#NULL!base=0, #NULL!offset=0, #t~mem14=0, #t~mem15=0, #t~mem16=-1, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L50] COND FALSE !(#t~mem16 > #t~mem14 + #t~mem15) [L50] havoc #t~mem16; [L50] havoc #t~mem14; [L50] havoc #t~mem15; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L46] #t~post11 := ~i~0; [L46] ~i~0 := 1 + #t~post11; [L46] havoc #t~post11; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L46-L54] COND TRUE !(~i~0 < ~edgecount~0) VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L56] ~i~0 := 0; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L56-L59] COND FALSE !(!(~i~0 < ~nodecount~0)) [L58] FCALL call #t~mem18 := read~int({ base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~i~0 }, 4); VAL [#NULL!base=0, #NULL!offset=0, #t~mem18=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L58] CALL call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); VAL [#in~cond=1, #NULL!base=0, #NULL!offset=0, ~INFINITY~0=899] [L5-L10] ~cond := #in~cond; VAL [#in~cond=1, #NULL!base=0, #NULL!offset=0, ~cond=1, ~INFINITY~0=899] [L6] COND FALSE !(0 == ~cond) VAL [#in~cond=1, #NULL!base=0, #NULL!offset=0, ~cond=1, ~INFINITY~0=899] [L58] RET call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); VAL [#NULL!base=0, #NULL!offset=0, #t~mem18=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L58] havoc #t~mem18; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L56] #t~post17 := ~i~0; [L56] ~i~0 := 1 + #t~post17; [L56] havoc #t~post17; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L56-L59] COND FALSE !(!(~i~0 < ~nodecount~0)) [L58] FCALL call #t~mem18 := read~int({ base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~i~0 }, 4); VAL [#NULL!base=0, #NULL!offset=0, #t~mem18=-1, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L58] CALL call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); VAL [#in~cond=0, #NULL!base=0, #NULL!offset=0, ~INFINITY~0=899] [L5-L10] ~cond := #in~cond; VAL [#in~cond=0, #NULL!base=0, #NULL!offset=0, ~cond=0, ~INFINITY~0=899] [L6] COND TRUE 0 == ~cond VAL [#in~cond=0, #NULL!base=0, #NULL!offset=0, ~cond=0, ~INFINITY~0=899] [L7] assert false; VAL [#in~cond=0, #NULL!base=0, #NULL!offset=0, ~cond=0, ~INFINITY~0=899] [L11] int INFINITY = 899; VAL [\old(INFINITY)=906, INFINITY=899] [L13] int nodecount = __VERIFIER_nondet_int(); [L14] int edgecount = __VERIFIER_nondet_int(); [L15] COND FALSE !(!(0 <= nodecount && nodecount <= 4)) VAL [edgecount=1, INFINITY=899, nodecount=2] [L16] COND FALSE !(!(0 <= edgecount && edgecount <= 19)) [L17] int source = 0; [L18] int Source[20] = {0,4,1,1,0,0,1,3,4,4,2,2,3,0,0,3,1,2,2,3}; [L19] int Dest[20] = {1,3,4,1,1,4,3,4,3,0,0,0,0,2,3,0,2,1,0,4}; [L20] int Weight[20] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19}; [L21] int distance[5]; [L22] int x,y; [L23] int i,j; [L25] i = 0 VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=0, INFINITY=899, nodecount=2, Source={900:0}, source=0, Weight={903:0}] [L25] COND TRUE i < nodecount VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=0, INFINITY=899, nodecount=2, source=0, Source={900:0}, Weight={903:0}] [L26] COND TRUE i == source [L27] distance[i] = 0 VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=0, INFINITY=899, nodecount=2, Source={900:0}, source=0, Weight={903:0}] [L25] i++ VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=1, INFINITY=899, nodecount=2, Source={900:0}, source=0, Weight={903:0}] [L25] COND TRUE i < nodecount VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=1, INFINITY=899, nodecount=2, Source={900:0}, source=0, Weight={903:0}] [L26] COND FALSE !(i == source) [L30] distance[i] = INFINITY VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=1, INFINITY=899, nodecount=2, source=0, Source={900:0}, Weight={903:0}] [L25] i++ VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=2, INFINITY=899, nodecount=2, Source={900:0}, source=0, Weight={903:0}] [L25] COND FALSE !(i < nodecount) VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=2, INFINITY=899, nodecount=2, Source={900:0}, source=0, Weight={903:0}] [L34] i = 0 VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=0, INFINITY=899, nodecount=2, Source={900:0}, source=0, Weight={903:0}] [L34] COND TRUE i < nodecount [L36] j = 0 VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=0, INFINITY=899, j=0, nodecount=2, source=0, Source={900:0}, Weight={903:0}] [L36] COND TRUE j < edgecount [L38] EXPR Dest[j] [L38] x = Dest[j] [L39] EXPR Source[j] [L39] y = Source[j] [L40] EXPR distance[x] [L40] EXPR distance[y] [L40] EXPR Weight[j] VAL [Dest={904:0}, distance={901:0}, distance[x]=899, distance[y]=0, edgecount=1, i=0, INFINITY=899, j=0, nodecount=2, Source={900:0}, source=0, Weight={903:0}, Weight[j]=0, x=1, y=0] [L40] COND TRUE distance[x] > distance[y] + Weight[j] [L42] distance[x] = -1 VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=0, INFINITY=899, j=0, nodecount=2, source=0, Source={900:0}, Weight={903:0}, x=1, y=0] [L36] j++ VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=0, INFINITY=899, j=1, nodecount=2, Source={900:0}, source=0, Weight={903:0}, x=1, y=0] [L36] COND FALSE !(j < edgecount) VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=0, INFINITY=899, j=1, nodecount=2, Source={900:0}, source=0, Weight={903:0}, x=1, y=0] [L34] i++ VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=1, INFINITY=899, j=1, nodecount=2, Source={900:0}, source=0, Weight={903:0}, x=1, y=0] [L34] COND TRUE i < nodecount [L36] j = 0 VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=1, INFINITY=899, j=0, nodecount=2, source=0, Source={900:0}, Weight={903:0}, x=1, y=0] [L36] COND TRUE j < edgecount [L38] EXPR Dest[j] [L38] x = Dest[j] [L39] EXPR Source[j] [L39] y = Source[j] [L40] EXPR distance[x] [L40] EXPR distance[y] [L40] EXPR Weight[j] VAL [Dest={904:0}, distance={901:0}, distance[x]=-1, distance[y]=0, edgecount=1, i=1, INFINITY=899, j=0, nodecount=2, Source={900:0}, source=0, Weight={903:0}, Weight[j]=0, x=1, y=0] [L40] COND FALSE !(distance[x] > distance[y] + Weight[j]) [L36] j++ VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=1, INFINITY=899, j=1, nodecount=2, source=0, Source={900:0}, Weight={903:0}, x=1, y=0] [L36] COND FALSE !(j < edgecount) VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=1, INFINITY=899, j=1, nodecount=2, source=0, Source={900:0}, Weight={903:0}, x=1, y=0] [L34] i++ VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=2, INFINITY=899, j=1, nodecount=2, source=0, Source={900:0}, Weight={903:0}, x=1, y=0] [L34] COND FALSE !(i < nodecount) VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=2, INFINITY=899, j=1, nodecount=2, source=0, Source={900:0}, Weight={903:0}, x=1, y=0] [L46] i = 0 VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=0, INFINITY=899, j=1, nodecount=2, source=0, Source={900:0}, Weight={903:0}, x=1, y=0] [L46] COND TRUE i < edgecount [L48] EXPR Dest[i] [L48] x = Dest[i] [L49] EXPR Source[i] [L49] y = Source[i] [L50] EXPR distance[x] [L50] EXPR distance[y] [L50] EXPR Weight[i] VAL [Dest={904:0}, distance={901:0}, distance[x]=-1, distance[y]=0, edgecount=1, i=0, INFINITY=899, j=1, nodecount=2, Source={900:0}, source=0, Weight={903:0}, Weight[i]=0, x=1, y=0] [L50] COND FALSE !(distance[x] > distance[y] + Weight[i]) [L46] i++ VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=1, INFINITY=899, j=1, nodecount=2, source=0, Source={900:0}, Weight={903:0}, x=1, y=0] [L46] COND FALSE !(i < edgecount) VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=1, INFINITY=899, j=1, nodecount=2, source=0, Source={900:0}, Weight={903:0}, x=1, y=0] [L56] i = 0 VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=0, INFINITY=899, j=1, nodecount=2, Source={900:0}, source=0, Weight={903:0}, x=1, y=0] [L56] COND TRUE i < nodecount [L58] EXPR distance[i] VAL [Dest={904:0}, distance={901:0}, distance[i]=0, edgecount=1, i=0, INFINITY=899, j=1, nodecount=2, source=0, Source={900:0}, Weight={903:0}, x=1, y=0] [L58] CALL __VERIFIER_assert(distance[i]>=0) VAL [\old(cond)=1, INFINITY=899] [L6] COND FALSE !(!(cond)) VAL [\old(cond)=1, cond=1, INFINITY=899] [L58] RET __VERIFIER_assert(distance[i]>=0) VAL [Dest={904:0}, distance={901:0}, distance[i]=0, edgecount=1, i=0, INFINITY=899, j=1, nodecount=2, Source={900:0}, source=0, Weight={903:0}, x=1, y=0] [L56] i++ VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=1, INFINITY=899, j=1, nodecount=2, source=0, Source={900:0}, Weight={903:0}, x=1, y=0] [L56] COND TRUE i < nodecount [L58] EXPR distance[i] VAL [Dest={904:0}, distance={901:0}, distance[i]=-1, edgecount=1, i=1, INFINITY=899, j=1, nodecount=2, source=0, Source={900:0}, Weight={903:0}, x=1, y=0] [L58] CALL __VERIFIER_assert(distance[i]>=0) VAL [\old(cond)=0, INFINITY=899] [L6] COND TRUE !(cond) VAL [\old(cond)=0, cond=0, INFINITY=899] [L7] __VERIFIER_error() VAL [\old(cond)=0, cond=0, INFINITY=899] ----- [2018-11-23 00:53:13,353 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 23.11 12:53:13 BoogieIcfgContainer [2018-11-23 00:53:13,354 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2018-11-23 00:53:13,354 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-23 00:53:13,368 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-23 00:53:13,369 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-23 00:53:13,369 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 12:40:30" (3/4) ... [2018-11-23 00:53:13,371 INFO L138 WitnessPrinter]: Generating witness for reachability counterexample ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator [?] CALL call ULTIMATE.init(); VAL [|#NULL.base|=905, |#NULL.offset|=902, |old(#NULL.base)|=905, |old(#NULL.offset)|=902, |old(~INFINITY~0)|=906, ~INFINITY~0=906] [?] #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~INFINITY~0 := 899; VAL [|#NULL.base|=0, |#NULL.offset|=0, |old(#NULL.base)|=905, |old(#NULL.offset)|=902, |old(~INFINITY~0)|=906, ~INFINITY~0=899] [?] assume true; VAL [|#NULL.base|=0, |#NULL.offset|=0, |old(#NULL.base)|=905, |old(#NULL.offset)|=902, |old(~INFINITY~0)|=906, ~INFINITY~0=899] [?] RET #111#return; VAL [|#NULL.base|=0, |#NULL.offset|=0, ~INFINITY~0=899] [?] CALL call #t~ret19 := main(); VAL [|#NULL.base|=0, |#NULL.offset|=0, ~INFINITY~0=899] [?] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~nodecount~0 := #t~nondet1;havoc #t~nondet1;assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~edgecount~0 := #t~nondet2;havoc #t~nondet2; VAL [main_~edgecount~0=1, main_~nodecount~0=2, |#NULL.base|=0, |#NULL.offset|=0, ~INFINITY~0=899] [?] assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); VAL [main_~edgecount~0=1, main_~nodecount~0=2, |#NULL.base|=0, |#NULL.offset|=0, ~INFINITY~0=899] [?] assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19);~source~0 := 0;call ~#Source~0.base, ~#Source~0.offset := #Ultimate.alloc(80);call write~init~int(0, ~#Source~0.base, ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 4 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 8 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 12 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 16 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 20 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 24 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 28 + ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 32 + ~#Source~0.offset, 4);call write~init~int(4, ~#Source~0.base, 36 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 40 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 44 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 48 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 52 + ~#Source~0.offset, 4);call write~init~int(0, ~#Source~0.base, 56 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 60 + ~#Source~0.offset, 4);call write~init~int(1, ~#Source~0.base, 64 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 68 + ~#Source~0.offset, 4);call write~init~int(2, ~#Source~0.base, 72 + ~#Source~0.offset, 4);call write~init~int(3, ~#Source~0.base, 76 + ~#Source~0.offset, 4);call ~#Dest~0.base, ~#Dest~0.offset := #Ultimate.alloc(80);call write~init~int(1, ~#Dest~0.base, ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 4 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 8 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 12 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 16 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 20 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 24 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 28 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 32 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 36 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 40 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 44 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 48 + ~#Dest~0.offset, 4);call write~init~int(2, ~#Dest~0.base, 52 + ~#Dest~0.offset, 4);call write~init~int(3, ~#Dest~0.base, 56 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 60 + ~#Dest~0.offset, 4);call write~init~int(2, ~#Dest~0.base, 64 + ~#Dest~0.offset, 4);call write~init~int(1, ~#Dest~0.base, 68 + ~#Dest~0.offset, 4);call write~init~int(0, ~#Dest~0.base, 72 + ~#Dest~0.offset, 4);call write~init~int(4, ~#Dest~0.base, 76 + ~#Dest~0.offset, 4);call ~#Weight~0.base, ~#Weight~0.offset := #Ultimate.alloc(80);call write~init~int(0, ~#Weight~0.base, ~#Weight~0.offset, 4);call write~init~int(1, ~#Weight~0.base, 4 + ~#Weight~0.offset, 4);call write~init~int(2, ~#Weight~0.base, 8 + ~#Weight~0.offset, 4);call write~init~int(3, ~#Weight~0.base, 12 + ~#Weight~0.offset, 4);call write~init~int(4, ~#Weight~0.base, 16 + ~#Weight~0.offset, 4);call write~init~int(5, ~#Weight~0.base, 20 + ~#Weight~0.offset, 4);call write~init~int(6, ~#Weight~0.base, 24 + ~#Weight~0.offset, 4);call write~init~int(7, ~#Weight~0.base, 28 + ~#Weight~0.offset, 4);call write~init~int(8, ~#Weight~0.base, 32 + ~#Weight~0.offset, 4);call write~init~int(9, ~#Weight~0.base, 36 + ~#Weight~0.offset, 4);call write~init~int(10, ~#Weight~0.base, 40 + ~#Weight~0.offset, 4);call write~init~int(11, ~#Weight~0.base, 44 + ~#Weight~0.offset, 4);call write~init~int(12, ~#Weight~0.base, 48 + ~#Weight~0.offset, 4);call write~init~int(13, ~#Weight~0.base, 52 + ~#Weight~0.offset, 4);call write~init~int(14, ~#Weight~0.base, 56 + ~#Weight~0.offset, 4);call write~init~int(15, ~#Weight~0.base, 60 + ~#Weight~0.offset, 4);call write~init~int(16, ~#Weight~0.base, 64 + ~#Weight~0.offset, 4);call write~init~int(17, ~#Weight~0.base, 68 + ~#Weight~0.offset, 4);call write~init~int(18, ~#Weight~0.base, 72 + ~#Weight~0.offset, 4);call write~init~int(19, ~#Weight~0.base, 76 + ~#Weight~0.offset, 4);call ~#distance~0.base, ~#distance~0.offset := #Ultimate.alloc(20);havoc ~x~0;havoc ~y~0;havoc ~i~0;havoc ~j~0;~i~0 := 0; VAL [main_~edgecount~0=1, main_~i~0=0, main_~nodecount~0=2, main_~source~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] assume !!(~i~0 < ~nodecount~0); VAL [main_~edgecount~0=1, main_~i~0=0, main_~nodecount~0=2, main_~source~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] assume ~i~0 == ~source~0;call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); VAL [main_~edgecount~0=1, main_~i~0=0, main_~nodecount~0=2, main_~source~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; VAL [main_~edgecount~0=1, main_~i~0=1, main_~nodecount~0=2, main_~source~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] assume !!(~i~0 < ~nodecount~0); VAL [main_~edgecount~0=1, main_~i~0=1, main_~nodecount~0=2, main_~source~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] assume !(~i~0 == ~source~0);call write~int(~INFINITY~0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); VAL [main_~edgecount~0=1, main_~i~0=1, main_~nodecount~0=2, main_~source~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] #t~post3 := ~i~0;~i~0 := 1 + #t~post3;havoc #t~post3; VAL [main_~edgecount~0=1, main_~i~0=2, main_~nodecount~0=2, main_~source~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] assume !(~i~0 < ~nodecount~0); VAL [main_~edgecount~0=1, main_~i~0=2, main_~nodecount~0=2, main_~source~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] ~i~0 := 0; VAL [main_~edgecount~0=1, main_~i~0=0, main_~nodecount~0=2, main_~source~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] assume !!(~i~0 < ~nodecount~0);~j~0 := 0; VAL [main_~edgecount~0=1, main_~i~0=0, main_~j~0=0, main_~nodecount~0=2, main_~source~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] assume !!(~j~0 < ~edgecount~0);call #t~mem6 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4);~x~0 := #t~mem6;havoc #t~mem6;call #t~mem7 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4);~y~0 := #t~mem7;havoc #t~mem7;call #t~mem10 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem8 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem9 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); VAL [main_~edgecount~0=1, main_~i~0=0, main_~j~0=0, main_~nodecount~0=2, main_~source~0=0, main_~x~0=1, main_~y~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~mem10|=899, |main_#t~mem8|=0, |main_#t~mem9|=0, |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] assume #t~mem10 > #t~mem8 + #t~mem9;havoc #t~mem10;havoc #t~mem9;havoc #t~mem8;call write~int(-1, ~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); VAL [main_~edgecount~0=1, main_~i~0=0, main_~j~0=0, main_~nodecount~0=2, main_~source~0=0, main_~x~0=1, main_~y~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; VAL [main_~edgecount~0=1, main_~i~0=0, main_~j~0=1, main_~nodecount~0=2, main_~source~0=0, main_~x~0=1, main_~y~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] assume !(~j~0 < ~edgecount~0); VAL [main_~edgecount~0=1, main_~i~0=0, main_~j~0=1, main_~nodecount~0=2, main_~source~0=0, main_~x~0=1, main_~y~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; VAL [main_~edgecount~0=1, main_~i~0=1, main_~j~0=1, main_~nodecount~0=2, main_~source~0=0, main_~x~0=1, main_~y~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] assume !!(~i~0 < ~nodecount~0);~j~0 := 0; VAL [main_~edgecount~0=1, main_~i~0=1, main_~j~0=0, main_~nodecount~0=2, main_~source~0=0, main_~x~0=1, main_~y~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] assume !!(~j~0 < ~edgecount~0);call #t~mem6 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4);~x~0 := #t~mem6;havoc #t~mem6;call #t~mem7 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4);~y~0 := #t~mem7;havoc #t~mem7;call #t~mem10 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem8 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem9 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); VAL [main_~edgecount~0=1, main_~i~0=1, main_~j~0=0, main_~nodecount~0=2, main_~source~0=0, main_~x~0=1, main_~y~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~mem10|=(- 1), |main_#t~mem8|=0, |main_#t~mem9|=0, |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] assume !(#t~mem10 > #t~mem8 + #t~mem9);havoc #t~mem10;havoc #t~mem9;havoc #t~mem8; VAL [main_~edgecount~0=1, main_~i~0=1, main_~j~0=0, main_~nodecount~0=2, main_~source~0=0, main_~x~0=1, main_~y~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; VAL [main_~edgecount~0=1, main_~i~0=1, main_~j~0=1, main_~nodecount~0=2, main_~source~0=0, main_~x~0=1, main_~y~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] assume !(~j~0 < ~edgecount~0); VAL [main_~edgecount~0=1, main_~i~0=1, main_~j~0=1, main_~nodecount~0=2, main_~source~0=0, main_~x~0=1, main_~y~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; VAL [main_~edgecount~0=1, main_~i~0=2, main_~j~0=1, main_~nodecount~0=2, main_~source~0=0, main_~x~0=1, main_~y~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] assume !(~i~0 < ~nodecount~0); VAL [main_~edgecount~0=1, main_~i~0=2, main_~j~0=1, main_~nodecount~0=2, main_~source~0=0, main_~x~0=1, main_~y~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] ~i~0 := 0; VAL [main_~edgecount~0=1, main_~i~0=0, main_~j~0=1, main_~nodecount~0=2, main_~source~0=0, main_~x~0=1, main_~y~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] assume !!(~i~0 < ~edgecount~0);call #t~mem12 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~i~0, 4);~x~0 := #t~mem12;havoc #t~mem12;call #t~mem13 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~i~0, 4);~y~0 := #t~mem13;havoc #t~mem13;call #t~mem16 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4);call #t~mem14 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4);call #t~mem15 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~i~0, 4); VAL [main_~edgecount~0=1, main_~i~0=0, main_~j~0=1, main_~nodecount~0=2, main_~source~0=0, main_~x~0=1, main_~y~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~mem14|=0, |main_#t~mem15|=0, |main_#t~mem16|=(- 1), |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] assume !(#t~mem16 > #t~mem14 + #t~mem15);havoc #t~mem16;havoc #t~mem14;havoc #t~mem15; VAL [main_~edgecount~0=1, main_~i~0=0, main_~j~0=1, main_~nodecount~0=2, main_~source~0=0, main_~x~0=1, main_~y~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] #t~post11 := ~i~0;~i~0 := 1 + #t~post11;havoc #t~post11; VAL [main_~edgecount~0=1, main_~i~0=1, main_~j~0=1, main_~nodecount~0=2, main_~source~0=0, main_~x~0=1, main_~y~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] assume !(~i~0 < ~edgecount~0); VAL [main_~edgecount~0=1, main_~i~0=1, main_~j~0=1, main_~nodecount~0=2, main_~source~0=0, main_~x~0=1, main_~y~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] ~i~0 := 0; VAL [main_~edgecount~0=1, main_~i~0=0, main_~j~0=1, main_~nodecount~0=2, main_~source~0=0, main_~x~0=1, main_~y~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] assume !!(~i~0 < ~nodecount~0);call #t~mem18 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); VAL [main_~edgecount~0=1, main_~i~0=0, main_~j~0=1, main_~nodecount~0=2, main_~source~0=0, main_~x~0=1, main_~y~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~mem18|=0, |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] CALL call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); VAL [|#NULL.base|=0, |#NULL.offset|=0, |__VERIFIER_assert_#in~cond|=1, ~INFINITY~0=899] [?] ~cond := #in~cond; VAL [__VERIFIER_assert_~cond=1, |#NULL.base|=0, |#NULL.offset|=0, |__VERIFIER_assert_#in~cond|=1, ~INFINITY~0=899] [?] assume !(0 == ~cond); VAL [__VERIFIER_assert_~cond=1, |#NULL.base|=0, |#NULL.offset|=0, |__VERIFIER_assert_#in~cond|=1, ~INFINITY~0=899] [?] assume true; VAL [__VERIFIER_assert_~cond=1, |#NULL.base|=0, |#NULL.offset|=0, |__VERIFIER_assert_#in~cond|=1, ~INFINITY~0=899] [?] RET #115#return; VAL [main_~edgecount~0=1, main_~i~0=0, main_~j~0=1, main_~nodecount~0=2, main_~source~0=0, main_~x~0=1, main_~y~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~mem18|=0, |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] havoc #t~mem18; VAL [main_~edgecount~0=1, main_~i~0=0, main_~j~0=1, main_~nodecount~0=2, main_~source~0=0, main_~x~0=1, main_~y~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] #t~post17 := ~i~0;~i~0 := 1 + #t~post17;havoc #t~post17; VAL [main_~edgecount~0=1, main_~i~0=1, main_~j~0=1, main_~nodecount~0=2, main_~source~0=0, main_~x~0=1, main_~y~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] assume !!(~i~0 < ~nodecount~0);call #t~mem18 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); VAL [main_~edgecount~0=1, main_~i~0=1, main_~j~0=1, main_~nodecount~0=2, main_~source~0=0, main_~x~0=1, main_~y~0=0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~mem18|=(- 1), |main_~#Dest~0.base|=904, |main_~#Dest~0.offset|=0, |main_~#distance~0.base|=901, |main_~#distance~0.offset|=0, |main_~#Source~0.base|=900, |main_~#Source~0.offset|=0, |main_~#Weight~0.base|=903, |main_~#Weight~0.offset|=0, ~INFINITY~0=899] [?] CALL call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); VAL [|#NULL.base|=0, |#NULL.offset|=0, |__VERIFIER_assert_#in~cond|=0, ~INFINITY~0=899] [?] ~cond := #in~cond; VAL [__VERIFIER_assert_~cond=0, |#NULL.base|=0, |#NULL.offset|=0, |__VERIFIER_assert_#in~cond|=0, ~INFINITY~0=899] [?] assume 0 == ~cond; VAL [__VERIFIER_assert_~cond=0, |#NULL.base|=0, |#NULL.offset|=0, |__VERIFIER_assert_#in~cond|=0, ~INFINITY~0=899] [?] assume !false; VAL [__VERIFIER_assert_~cond=0, |#NULL.base|=0, |#NULL.offset|=0, |__VERIFIER_assert_#in~cond|=0, ~INFINITY~0=899] [?] CALL call ULTIMATE.init(); VAL [#NULL.base=905, #NULL.offset=902, old(#NULL.base)=905, old(#NULL.offset)=902, old(~INFINITY~0)=906, ~INFINITY~0=906] [?] #NULL.base, #NULL.offset := 0, 0; [?] #valid := #valid[0 := 0]; [L11] ~INFINITY~0 := 899; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=905, old(#NULL.offset)=902, old(~INFINITY~0)=906, ~INFINITY~0=899] [?] ensures true; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=905, old(#NULL.offset)=902, old(~INFINITY~0)=906, ~INFINITY~0=899] [?] RET call ULTIMATE.init(); VAL [#NULL.base=0, #NULL.offset=0, ~INFINITY~0=899] [?] CALL call #t~ret19 := main(); VAL [#NULL.base=0, #NULL.offset=0, ~INFINITY~0=899] [L13] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L13] ~nodecount~0 := #t~nondet1; [L13] havoc #t~nondet1; [L14] assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; [L14] ~edgecount~0 := #t~nondet2; [L14] havoc #t~nondet2; VAL [#NULL.base=0, #NULL.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~nodecount~0=2] [L15] assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); VAL [#NULL.base=0, #NULL.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~nodecount~0=2] [L16] assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19); [L17] ~source~0 := 0; [L18] call ~#Source~0.base, ~#Source~0.offset := #Ultimate.alloc(80); [L18] call write~init~int(0, ~#Source~0.base, ~#Source~0.offset, 4); [L18] call write~init~int(4, ~#Source~0.base, 4 + ~#Source~0.offset, 4); [L18] call write~init~int(1, ~#Source~0.base, 8 + ~#Source~0.offset, 4); [L18] call write~init~int(1, ~#Source~0.base, 12 + ~#Source~0.offset, 4); [L18] call write~init~int(0, ~#Source~0.base, 16 + ~#Source~0.offset, 4); [L18] call write~init~int(0, ~#Source~0.base, 20 + ~#Source~0.offset, 4); [L18] call write~init~int(1, ~#Source~0.base, 24 + ~#Source~0.offset, 4); [L18] call write~init~int(3, ~#Source~0.base, 28 + ~#Source~0.offset, 4); [L18] call write~init~int(4, ~#Source~0.base, 32 + ~#Source~0.offset, 4); [L18] call write~init~int(4, ~#Source~0.base, 36 + ~#Source~0.offset, 4); [L18] call write~init~int(2, ~#Source~0.base, 40 + ~#Source~0.offset, 4); [L18] call write~init~int(2, ~#Source~0.base, 44 + ~#Source~0.offset, 4); [L18] call write~init~int(3, ~#Source~0.base, 48 + ~#Source~0.offset, 4); [L18] call write~init~int(0, ~#Source~0.base, 52 + ~#Source~0.offset, 4); [L18] call write~init~int(0, ~#Source~0.base, 56 + ~#Source~0.offset, 4); [L18] call write~init~int(3, ~#Source~0.base, 60 + ~#Source~0.offset, 4); [L18] call write~init~int(1, ~#Source~0.base, 64 + ~#Source~0.offset, 4); [L18] call write~init~int(2, ~#Source~0.base, 68 + ~#Source~0.offset, 4); [L18] call write~init~int(2, ~#Source~0.base, 72 + ~#Source~0.offset, 4); [L18] call write~init~int(3, ~#Source~0.base, 76 + ~#Source~0.offset, 4); [L19] call ~#Dest~0.base, ~#Dest~0.offset := #Ultimate.alloc(80); [L19] call write~init~int(1, ~#Dest~0.base, ~#Dest~0.offset, 4); [L19] call write~init~int(3, ~#Dest~0.base, 4 + ~#Dest~0.offset, 4); [L19] call write~init~int(4, ~#Dest~0.base, 8 + ~#Dest~0.offset, 4); [L19] call write~init~int(1, ~#Dest~0.base, 12 + ~#Dest~0.offset, 4); [L19] call write~init~int(1, ~#Dest~0.base, 16 + ~#Dest~0.offset, 4); [L19] call write~init~int(4, ~#Dest~0.base, 20 + ~#Dest~0.offset, 4); [L19] call write~init~int(3, ~#Dest~0.base, 24 + ~#Dest~0.offset, 4); [L19] call write~init~int(4, ~#Dest~0.base, 28 + ~#Dest~0.offset, 4); [L19] call write~init~int(3, ~#Dest~0.base, 32 + ~#Dest~0.offset, 4); [L19] call write~init~int(0, ~#Dest~0.base, 36 + ~#Dest~0.offset, 4); [L19] call write~init~int(0, ~#Dest~0.base, 40 + ~#Dest~0.offset, 4); [L19] call write~init~int(0, ~#Dest~0.base, 44 + ~#Dest~0.offset, 4); [L19] call write~init~int(0, ~#Dest~0.base, 48 + ~#Dest~0.offset, 4); [L19] call write~init~int(2, ~#Dest~0.base, 52 + ~#Dest~0.offset, 4); [L19] call write~init~int(3, ~#Dest~0.base, 56 + ~#Dest~0.offset, 4); [L19] call write~init~int(0, ~#Dest~0.base, 60 + ~#Dest~0.offset, 4); [L19] call write~init~int(2, ~#Dest~0.base, 64 + ~#Dest~0.offset, 4); [L19] call write~init~int(1, ~#Dest~0.base, 68 + ~#Dest~0.offset, 4); [L19] call write~init~int(0, ~#Dest~0.base, 72 + ~#Dest~0.offset, 4); [L19] call write~init~int(4, ~#Dest~0.base, 76 + ~#Dest~0.offset, 4); [L20] call ~#Weight~0.base, ~#Weight~0.offset := #Ultimate.alloc(80); [L20] call write~init~int(0, ~#Weight~0.base, ~#Weight~0.offset, 4); [L20] call write~init~int(1, ~#Weight~0.base, 4 + ~#Weight~0.offset, 4); [L20] call write~init~int(2, ~#Weight~0.base, 8 + ~#Weight~0.offset, 4); [L20] call write~init~int(3, ~#Weight~0.base, 12 + ~#Weight~0.offset, 4); [L20] call write~init~int(4, ~#Weight~0.base, 16 + ~#Weight~0.offset, 4); [L20] call write~init~int(5, ~#Weight~0.base, 20 + ~#Weight~0.offset, 4); [L20] call write~init~int(6, ~#Weight~0.base, 24 + ~#Weight~0.offset, 4); [L20] call write~init~int(7, ~#Weight~0.base, 28 + ~#Weight~0.offset, 4); [L20] call write~init~int(8, ~#Weight~0.base, 32 + ~#Weight~0.offset, 4); [L20] call write~init~int(9, ~#Weight~0.base, 36 + ~#Weight~0.offset, 4); [L20] call write~init~int(10, ~#Weight~0.base, 40 + ~#Weight~0.offset, 4); [L20] call write~init~int(11, ~#Weight~0.base, 44 + ~#Weight~0.offset, 4); [L20] call write~init~int(12, ~#Weight~0.base, 48 + ~#Weight~0.offset, 4); [L20] call write~init~int(13, ~#Weight~0.base, 52 + ~#Weight~0.offset, 4); [L20] call write~init~int(14, ~#Weight~0.base, 56 + ~#Weight~0.offset, 4); [L20] call write~init~int(15, ~#Weight~0.base, 60 + ~#Weight~0.offset, 4); [L20] call write~init~int(16, ~#Weight~0.base, 64 + ~#Weight~0.offset, 4); [L20] call write~init~int(17, ~#Weight~0.base, 68 + ~#Weight~0.offset, 4); [L20] call write~init~int(18, ~#Weight~0.base, 72 + ~#Weight~0.offset, 4); [L20] call write~init~int(19, ~#Weight~0.base, 76 + ~#Weight~0.offset, 4); [L21] call ~#distance~0.base, ~#distance~0.offset := #Ultimate.alloc(20); [L22] havoc ~x~0; [L22] havoc ~y~0; [L23] havoc ~i~0; [L23] havoc ~j~0; [L25] ~i~0 := 0; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~nodecount~0=2, ~source~0=0] [L25-L32] assume !!(~i~0 < ~nodecount~0); VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~nodecount~0=2, ~source~0=0] [L26-L31] assume ~i~0 == ~source~0; [L27] call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~nodecount~0=2, ~source~0=0] [L25] #t~post3 := ~i~0; [L25] ~i~0 := 1 + #t~post3; [L25] havoc #t~post3; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~nodecount~0=2, ~source~0=0] [L25-L32] assume !!(~i~0 < ~nodecount~0); VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~nodecount~0=2, ~source~0=0] [L26-L31] assume !(~i~0 == ~source~0); [L30] call write~int(~INFINITY~0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~nodecount~0=2, ~source~0=0] [L25] #t~post3 := ~i~0; [L25] ~i~0 := 1 + #t~post3; [L25] havoc #t~post3; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=2, ~nodecount~0=2, ~source~0=0] [L25-L32] assume !(~i~0 < ~nodecount~0); VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=2, ~nodecount~0=2, ~source~0=0] [L34] ~i~0 := 0; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~nodecount~0=2, ~source~0=0] [L34-L45] assume !!(~i~0 < ~nodecount~0); [L36] ~j~0 := 0; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=0, ~nodecount~0=2, ~source~0=0] [L36-L44] assume !!(~j~0 < ~edgecount~0); [L38] call #t~mem6 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4); [L38] ~x~0 := #t~mem6; [L38] havoc #t~mem6; [L39] call #t~mem7 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4); [L39] ~y~0 := #t~mem7; [L39] havoc #t~mem7; [L40] call #t~mem10 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); [L40] call #t~mem8 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4); [L40] call #t~mem9 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); VAL [#NULL.base=0, #NULL.offset=0, #t~mem10=899, #t~mem8=0, #t~mem9=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=0, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L40-L43] assume #t~mem10 > #t~mem8 + #t~mem9; [L40] havoc #t~mem10; [L40] havoc #t~mem9; [L40] havoc #t~mem8; [L42] call write~int(-1, ~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=0, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L36] #t~post5 := ~j~0; [L36] ~j~0 := 1 + #t~post5; [L36] havoc #t~post5; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L36-L44] assume !(~j~0 < ~edgecount~0); VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L34] #t~post4 := ~i~0; [L34] ~i~0 := 1 + #t~post4; [L34] havoc #t~post4; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L34-L45] assume !!(~i~0 < ~nodecount~0); [L36] ~j~0 := 0; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=0, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L36-L44] assume !!(~j~0 < ~edgecount~0); [L38] call #t~mem6 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4); [L38] ~x~0 := #t~mem6; [L38] havoc #t~mem6; [L39] call #t~mem7 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4); [L39] ~y~0 := #t~mem7; [L39] havoc #t~mem7; [L40] call #t~mem10 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); [L40] call #t~mem8 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4); [L40] call #t~mem9 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); VAL [#NULL.base=0, #NULL.offset=0, #t~mem10=-1, #t~mem8=0, #t~mem9=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=0, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L40-L43] assume !(#t~mem10 > #t~mem8 + #t~mem9); [L40] havoc #t~mem10; [L40] havoc #t~mem9; [L40] havoc #t~mem8; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=0, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L36] #t~post5 := ~j~0; [L36] ~j~0 := 1 + #t~post5; [L36] havoc #t~post5; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L36-L44] assume !(~j~0 < ~edgecount~0); VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L34] #t~post4 := ~i~0; [L34] ~i~0 := 1 + #t~post4; [L34] havoc #t~post4; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=2, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L34-L45] assume !(~i~0 < ~nodecount~0); VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=2, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L46] ~i~0 := 0; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L46-L54] assume !!(~i~0 < ~edgecount~0); [L48] call #t~mem12 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~i~0, 4); [L48] ~x~0 := #t~mem12; [L48] havoc #t~mem12; [L49] call #t~mem13 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~i~0, 4); [L49] ~y~0 := #t~mem13; [L49] havoc #t~mem13; [L50] call #t~mem16 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); [L50] call #t~mem14 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4); [L50] call #t~mem15 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~i~0, 4); VAL [#NULL.base=0, #NULL.offset=0, #t~mem14=0, #t~mem15=0, #t~mem16=-1, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L50-L53] assume !(#t~mem16 > #t~mem14 + #t~mem15); [L50] havoc #t~mem16; [L50] havoc #t~mem14; [L50] havoc #t~mem15; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L46] #t~post11 := ~i~0; [L46] ~i~0 := 1 + #t~post11; [L46] havoc #t~post11; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L46-L54] assume !(~i~0 < ~edgecount~0); VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L56] ~i~0 := 0; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L56-L59] assume !!(~i~0 < ~nodecount~0); [L58] call #t~mem18 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); VAL [#NULL.base=0, #NULL.offset=0, #t~mem18=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L58] CALL call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); VAL [#in~cond=1, #NULL.base=0, #NULL.offset=0, ~INFINITY~0=899] [L5-L10] ~cond := #in~cond; VAL [#in~cond=1, #NULL.base=0, #NULL.offset=0, ~cond=1, ~INFINITY~0=899] [L6-L8] assume !(0 == ~cond); VAL [#in~cond=1, #NULL.base=0, #NULL.offset=0, ~cond=1, ~INFINITY~0=899] [L5-L10] ensures true; VAL [#in~cond=1, #NULL.base=0, #NULL.offset=0, ~cond=1, ~INFINITY~0=899] [L58] RET call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); VAL [#NULL.base=0, #NULL.offset=0, #t~mem18=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L58] havoc #t~mem18; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L56] #t~post17 := ~i~0; [L56] ~i~0 := 1 + #t~post17; [L56] havoc #t~post17; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L56-L59] assume !!(~i~0 < ~nodecount~0); [L58] call #t~mem18 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); VAL [#NULL.base=0, #NULL.offset=0, #t~mem18=-1, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L58] CALL call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); VAL [#in~cond=0, #NULL.base=0, #NULL.offset=0, ~INFINITY~0=899] [L5-L10] ~cond := #in~cond; VAL [#in~cond=0, #NULL.base=0, #NULL.offset=0, ~cond=0, ~INFINITY~0=899] [L6-L8] assume 0 == ~cond; VAL [#in~cond=0, #NULL.base=0, #NULL.offset=0, ~cond=0, ~INFINITY~0=899] [L7] assert false; VAL [#in~cond=0, #NULL.base=0, #NULL.offset=0, ~cond=0, ~INFINITY~0=899] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.preprocessor.BoogiePreprocessorBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL.base=905, #NULL.offset=902, old(#NULL.base)=905, old(#NULL.offset)=902, old(~INFINITY~0)=906, ~INFINITY~0=906] [?] #NULL.base, #NULL.offset := 0, 0; [?] #valid := #valid[0 := 0]; [L11] ~INFINITY~0 := 899; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=905, old(#NULL.offset)=902, old(~INFINITY~0)=906, ~INFINITY~0=899] [?] ensures true; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=905, old(#NULL.offset)=902, old(~INFINITY~0)=906, ~INFINITY~0=899] [?] RET call ULTIMATE.init(); VAL [#NULL.base=0, #NULL.offset=0, ~INFINITY~0=899] [?] CALL call #t~ret19 := main(); VAL [#NULL.base=0, #NULL.offset=0, ~INFINITY~0=899] [L13] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L13] ~nodecount~0 := #t~nondet1; [L13] havoc #t~nondet1; [L14] assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; [L14] ~edgecount~0 := #t~nondet2; [L14] havoc #t~nondet2; VAL [#NULL.base=0, #NULL.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~nodecount~0=2] [L15] assume !!(0 <= ~nodecount~0 && ~nodecount~0 <= 4); VAL [#NULL.base=0, #NULL.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~nodecount~0=2] [L16] assume !!(0 <= ~edgecount~0 && ~edgecount~0 <= 19); [L17] ~source~0 := 0; [L18] call ~#Source~0.base, ~#Source~0.offset := #Ultimate.alloc(80); [L18] call write~init~int(0, ~#Source~0.base, ~#Source~0.offset, 4); [L18] call write~init~int(4, ~#Source~0.base, 4 + ~#Source~0.offset, 4); [L18] call write~init~int(1, ~#Source~0.base, 8 + ~#Source~0.offset, 4); [L18] call write~init~int(1, ~#Source~0.base, 12 + ~#Source~0.offset, 4); [L18] call write~init~int(0, ~#Source~0.base, 16 + ~#Source~0.offset, 4); [L18] call write~init~int(0, ~#Source~0.base, 20 + ~#Source~0.offset, 4); [L18] call write~init~int(1, ~#Source~0.base, 24 + ~#Source~0.offset, 4); [L18] call write~init~int(3, ~#Source~0.base, 28 + ~#Source~0.offset, 4); [L18] call write~init~int(4, ~#Source~0.base, 32 + ~#Source~0.offset, 4); [L18] call write~init~int(4, ~#Source~0.base, 36 + ~#Source~0.offset, 4); [L18] call write~init~int(2, ~#Source~0.base, 40 + ~#Source~0.offset, 4); [L18] call write~init~int(2, ~#Source~0.base, 44 + ~#Source~0.offset, 4); [L18] call write~init~int(3, ~#Source~0.base, 48 + ~#Source~0.offset, 4); [L18] call write~init~int(0, ~#Source~0.base, 52 + ~#Source~0.offset, 4); [L18] call write~init~int(0, ~#Source~0.base, 56 + ~#Source~0.offset, 4); [L18] call write~init~int(3, ~#Source~0.base, 60 + ~#Source~0.offset, 4); [L18] call write~init~int(1, ~#Source~0.base, 64 + ~#Source~0.offset, 4); [L18] call write~init~int(2, ~#Source~0.base, 68 + ~#Source~0.offset, 4); [L18] call write~init~int(2, ~#Source~0.base, 72 + ~#Source~0.offset, 4); [L18] call write~init~int(3, ~#Source~0.base, 76 + ~#Source~0.offset, 4); [L19] call ~#Dest~0.base, ~#Dest~0.offset := #Ultimate.alloc(80); [L19] call write~init~int(1, ~#Dest~0.base, ~#Dest~0.offset, 4); [L19] call write~init~int(3, ~#Dest~0.base, 4 + ~#Dest~0.offset, 4); [L19] call write~init~int(4, ~#Dest~0.base, 8 + ~#Dest~0.offset, 4); [L19] call write~init~int(1, ~#Dest~0.base, 12 + ~#Dest~0.offset, 4); [L19] call write~init~int(1, ~#Dest~0.base, 16 + ~#Dest~0.offset, 4); [L19] call write~init~int(4, ~#Dest~0.base, 20 + ~#Dest~0.offset, 4); [L19] call write~init~int(3, ~#Dest~0.base, 24 + ~#Dest~0.offset, 4); [L19] call write~init~int(4, ~#Dest~0.base, 28 + ~#Dest~0.offset, 4); [L19] call write~init~int(3, ~#Dest~0.base, 32 + ~#Dest~0.offset, 4); [L19] call write~init~int(0, ~#Dest~0.base, 36 + ~#Dest~0.offset, 4); [L19] call write~init~int(0, ~#Dest~0.base, 40 + ~#Dest~0.offset, 4); [L19] call write~init~int(0, ~#Dest~0.base, 44 + ~#Dest~0.offset, 4); [L19] call write~init~int(0, ~#Dest~0.base, 48 + ~#Dest~0.offset, 4); [L19] call write~init~int(2, ~#Dest~0.base, 52 + ~#Dest~0.offset, 4); [L19] call write~init~int(3, ~#Dest~0.base, 56 + ~#Dest~0.offset, 4); [L19] call write~init~int(0, ~#Dest~0.base, 60 + ~#Dest~0.offset, 4); [L19] call write~init~int(2, ~#Dest~0.base, 64 + ~#Dest~0.offset, 4); [L19] call write~init~int(1, ~#Dest~0.base, 68 + ~#Dest~0.offset, 4); [L19] call write~init~int(0, ~#Dest~0.base, 72 + ~#Dest~0.offset, 4); [L19] call write~init~int(4, ~#Dest~0.base, 76 + ~#Dest~0.offset, 4); [L20] call ~#Weight~0.base, ~#Weight~0.offset := #Ultimate.alloc(80); [L20] call write~init~int(0, ~#Weight~0.base, ~#Weight~0.offset, 4); [L20] call write~init~int(1, ~#Weight~0.base, 4 + ~#Weight~0.offset, 4); [L20] call write~init~int(2, ~#Weight~0.base, 8 + ~#Weight~0.offset, 4); [L20] call write~init~int(3, ~#Weight~0.base, 12 + ~#Weight~0.offset, 4); [L20] call write~init~int(4, ~#Weight~0.base, 16 + ~#Weight~0.offset, 4); [L20] call write~init~int(5, ~#Weight~0.base, 20 + ~#Weight~0.offset, 4); [L20] call write~init~int(6, ~#Weight~0.base, 24 + ~#Weight~0.offset, 4); [L20] call write~init~int(7, ~#Weight~0.base, 28 + ~#Weight~0.offset, 4); [L20] call write~init~int(8, ~#Weight~0.base, 32 + ~#Weight~0.offset, 4); [L20] call write~init~int(9, ~#Weight~0.base, 36 + ~#Weight~0.offset, 4); [L20] call write~init~int(10, ~#Weight~0.base, 40 + ~#Weight~0.offset, 4); [L20] call write~init~int(11, ~#Weight~0.base, 44 + ~#Weight~0.offset, 4); [L20] call write~init~int(12, ~#Weight~0.base, 48 + ~#Weight~0.offset, 4); [L20] call write~init~int(13, ~#Weight~0.base, 52 + ~#Weight~0.offset, 4); [L20] call write~init~int(14, ~#Weight~0.base, 56 + ~#Weight~0.offset, 4); [L20] call write~init~int(15, ~#Weight~0.base, 60 + ~#Weight~0.offset, 4); [L20] call write~init~int(16, ~#Weight~0.base, 64 + ~#Weight~0.offset, 4); [L20] call write~init~int(17, ~#Weight~0.base, 68 + ~#Weight~0.offset, 4); [L20] call write~init~int(18, ~#Weight~0.base, 72 + ~#Weight~0.offset, 4); [L20] call write~init~int(19, ~#Weight~0.base, 76 + ~#Weight~0.offset, 4); [L21] call ~#distance~0.base, ~#distance~0.offset := #Ultimate.alloc(20); [L22] havoc ~x~0; [L22] havoc ~y~0; [L23] havoc ~i~0; [L23] havoc ~j~0; [L25] ~i~0 := 0; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~nodecount~0=2, ~source~0=0] [L25-L32] assume !!(~i~0 < ~nodecount~0); VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~nodecount~0=2, ~source~0=0] [L26-L31] assume ~i~0 == ~source~0; [L27] call write~int(0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~nodecount~0=2, ~source~0=0] [L25] #t~post3 := ~i~0; [L25] ~i~0 := 1 + #t~post3; [L25] havoc #t~post3; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~nodecount~0=2, ~source~0=0] [L25-L32] assume !!(~i~0 < ~nodecount~0); VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~nodecount~0=2, ~source~0=0] [L26-L31] assume !(~i~0 == ~source~0); [L30] call write~int(~INFINITY~0, ~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~nodecount~0=2, ~source~0=0] [L25] #t~post3 := ~i~0; [L25] ~i~0 := 1 + #t~post3; [L25] havoc #t~post3; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=2, ~nodecount~0=2, ~source~0=0] [L25-L32] assume !(~i~0 < ~nodecount~0); VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=2, ~nodecount~0=2, ~source~0=0] [L34] ~i~0 := 0; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~nodecount~0=2, ~source~0=0] [L34-L45] assume !!(~i~0 < ~nodecount~0); [L36] ~j~0 := 0; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=0, ~nodecount~0=2, ~source~0=0] [L36-L44] assume !!(~j~0 < ~edgecount~0); [L38] call #t~mem6 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4); [L38] ~x~0 := #t~mem6; [L38] havoc #t~mem6; [L39] call #t~mem7 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4); [L39] ~y~0 := #t~mem7; [L39] havoc #t~mem7; [L40] call #t~mem10 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); [L40] call #t~mem8 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4); [L40] call #t~mem9 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); VAL [#NULL.base=0, #NULL.offset=0, #t~mem10=899, #t~mem8=0, #t~mem9=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=0, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L40-L43] assume #t~mem10 > #t~mem8 + #t~mem9; [L40] havoc #t~mem10; [L40] havoc #t~mem9; [L40] havoc #t~mem8; [L42] call write~int(-1, ~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=0, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L36] #t~post5 := ~j~0; [L36] ~j~0 := 1 + #t~post5; [L36] havoc #t~post5; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L36-L44] assume !(~j~0 < ~edgecount~0); VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L34] #t~post4 := ~i~0; [L34] ~i~0 := 1 + #t~post4; [L34] havoc #t~post4; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L34-L45] assume !!(~i~0 < ~nodecount~0); [L36] ~j~0 := 0; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=0, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L36-L44] assume !!(~j~0 < ~edgecount~0); [L38] call #t~mem6 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~j~0, 4); [L38] ~x~0 := #t~mem6; [L38] havoc #t~mem6; [L39] call #t~mem7 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~j~0, 4); [L39] ~y~0 := #t~mem7; [L39] havoc #t~mem7; [L40] call #t~mem10 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); [L40] call #t~mem8 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4); [L40] call #t~mem9 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~j~0, 4); VAL [#NULL.base=0, #NULL.offset=0, #t~mem10=-1, #t~mem8=0, #t~mem9=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=0, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L40-L43] assume !(#t~mem10 > #t~mem8 + #t~mem9); [L40] havoc #t~mem10; [L40] havoc #t~mem9; [L40] havoc #t~mem8; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=0, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L36] #t~post5 := ~j~0; [L36] ~j~0 := 1 + #t~post5; [L36] havoc #t~post5; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L36-L44] assume !(~j~0 < ~edgecount~0); VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L34] #t~post4 := ~i~0; [L34] ~i~0 := 1 + #t~post4; [L34] havoc #t~post4; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=2, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L34-L45] assume !(~i~0 < ~nodecount~0); VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=2, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L46] ~i~0 := 0; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L46-L54] assume !!(~i~0 < ~edgecount~0); [L48] call #t~mem12 := read~int(~#Dest~0.base, ~#Dest~0.offset + 4 * ~i~0, 4); [L48] ~x~0 := #t~mem12; [L48] havoc #t~mem12; [L49] call #t~mem13 := read~int(~#Source~0.base, ~#Source~0.offset + 4 * ~i~0, 4); [L49] ~y~0 := #t~mem13; [L49] havoc #t~mem13; [L50] call #t~mem16 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~x~0, 4); [L50] call #t~mem14 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~y~0, 4); [L50] call #t~mem15 := read~int(~#Weight~0.base, ~#Weight~0.offset + 4 * ~i~0, 4); VAL [#NULL.base=0, #NULL.offset=0, #t~mem14=0, #t~mem15=0, #t~mem16=-1, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L50-L53] assume !(#t~mem16 > #t~mem14 + #t~mem15); [L50] havoc #t~mem16; [L50] havoc #t~mem14; [L50] havoc #t~mem15; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L46] #t~post11 := ~i~0; [L46] ~i~0 := 1 + #t~post11; [L46] havoc #t~post11; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L46-L54] assume !(~i~0 < ~edgecount~0); VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L56] ~i~0 := 0; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L56-L59] assume !!(~i~0 < ~nodecount~0); [L58] call #t~mem18 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); VAL [#NULL.base=0, #NULL.offset=0, #t~mem18=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L58] CALL call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); VAL [#in~cond=1, #NULL.base=0, #NULL.offset=0, ~INFINITY~0=899] [L5-L10] ~cond := #in~cond; VAL [#in~cond=1, #NULL.base=0, #NULL.offset=0, ~cond=1, ~INFINITY~0=899] [L6-L8] assume !(0 == ~cond); VAL [#in~cond=1, #NULL.base=0, #NULL.offset=0, ~cond=1, ~INFINITY~0=899] [L5-L10] ensures true; VAL [#in~cond=1, #NULL.base=0, #NULL.offset=0, ~cond=1, ~INFINITY~0=899] [L58] RET call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); VAL [#NULL.base=0, #NULL.offset=0, #t~mem18=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L58] havoc #t~mem18; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L56] #t~post17 := ~i~0; [L56] ~i~0 := 1 + #t~post17; [L56] havoc #t~post17; VAL [#NULL.base=0, #NULL.offset=0, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L56-L59] assume !!(~i~0 < ~nodecount~0); [L58] call #t~mem18 := read~int(~#distance~0.base, ~#distance~0.offset + 4 * ~i~0, 4); VAL [#NULL.base=0, #NULL.offset=0, #t~mem18=-1, ~#Dest~0.base=904, ~#Dest~0.offset=0, ~#distance~0.base=901, ~#distance~0.offset=0, ~#Source~0.base=900, ~#Source~0.offset=0, ~#Weight~0.base=903, ~#Weight~0.offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L58] CALL call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); VAL [#in~cond=0, #NULL.base=0, #NULL.offset=0, ~INFINITY~0=899] [L5-L10] ~cond := #in~cond; VAL [#in~cond=0, #NULL.base=0, #NULL.offset=0, ~cond=0, ~INFINITY~0=899] [L6-L8] assume 0 == ~cond; VAL [#in~cond=0, #NULL.base=0, #NULL.offset=0, ~cond=0, ~INFINITY~0=899] [L7] assert false; VAL [#in~cond=0, #NULL.base=0, #NULL.offset=0, ~cond=0, ~INFINITY~0=899] [?] CALL call ULTIMATE.init(); VAL [#NULL!base=905, #NULL!offset=902, old(#NULL!base)=905, old(#NULL!offset)=902, old(~INFINITY~0)=906, ~INFINITY~0=906] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L11] ~INFINITY~0 := 899; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=905, old(#NULL!offset)=902, old(~INFINITY~0)=906, ~INFINITY~0=899] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0, ~INFINITY~0=899] [?] CALL call #t~ret19 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~INFINITY~0=899] [L13] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L13] ~nodecount~0 := #t~nondet1; [L13] havoc #t~nondet1; [L14] assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; [L14] ~edgecount~0 := #t~nondet2; [L14] havoc #t~nondet2; VAL [#NULL!base=0, #NULL!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~nodecount~0=2] [L15] COND FALSE !(!(0 <= ~nodecount~0 && ~nodecount~0 <= 4)) VAL [#NULL!base=0, #NULL!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~nodecount~0=2] [L16] COND FALSE !(!(0 <= ~edgecount~0 && ~edgecount~0 <= 19)) [L17] ~source~0 := 0; [L18] FCALL call ~#Source~0 := #Ultimate.alloc(80); [L18] FCALL call write~init~int(0, { base: ~#Source~0!base, offset: ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(4, { base: ~#Source~0!base, offset: 4 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(1, { base: ~#Source~0!base, offset: 8 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(1, { base: ~#Source~0!base, offset: 12 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(0, { base: ~#Source~0!base, offset: 16 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(0, { base: ~#Source~0!base, offset: 20 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(1, { base: ~#Source~0!base, offset: 24 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(3, { base: ~#Source~0!base, offset: 28 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(4, { base: ~#Source~0!base, offset: 32 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(4, { base: ~#Source~0!base, offset: 36 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(2, { base: ~#Source~0!base, offset: 40 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(2, { base: ~#Source~0!base, offset: 44 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(3, { base: ~#Source~0!base, offset: 48 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(0, { base: ~#Source~0!base, offset: 52 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(0, { base: ~#Source~0!base, offset: 56 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(3, { base: ~#Source~0!base, offset: 60 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(1, { base: ~#Source~0!base, offset: 64 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(2, { base: ~#Source~0!base, offset: 68 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(2, { base: ~#Source~0!base, offset: 72 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(3, { base: ~#Source~0!base, offset: 76 + ~#Source~0!offset }, 4); [L19] FCALL call ~#Dest~0 := #Ultimate.alloc(80); [L19] FCALL call write~init~int(1, { base: ~#Dest~0!base, offset: ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(3, { base: ~#Dest~0!base, offset: 4 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(4, { base: ~#Dest~0!base, offset: 8 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(1, { base: ~#Dest~0!base, offset: 12 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(1, { base: ~#Dest~0!base, offset: 16 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(4, { base: ~#Dest~0!base, offset: 20 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(3, { base: ~#Dest~0!base, offset: 24 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(4, { base: ~#Dest~0!base, offset: 28 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(3, { base: ~#Dest~0!base, offset: 32 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(0, { base: ~#Dest~0!base, offset: 36 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(0, { base: ~#Dest~0!base, offset: 40 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(0, { base: ~#Dest~0!base, offset: 44 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(0, { base: ~#Dest~0!base, offset: 48 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(2, { base: ~#Dest~0!base, offset: 52 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(3, { base: ~#Dest~0!base, offset: 56 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(0, { base: ~#Dest~0!base, offset: 60 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(2, { base: ~#Dest~0!base, offset: 64 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(1, { base: ~#Dest~0!base, offset: 68 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(0, { base: ~#Dest~0!base, offset: 72 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(4, { base: ~#Dest~0!base, offset: 76 + ~#Dest~0!offset }, 4); [L20] FCALL call ~#Weight~0 := #Ultimate.alloc(80); [L20] FCALL call write~init~int(0, { base: ~#Weight~0!base, offset: ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(1, { base: ~#Weight~0!base, offset: 4 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(2, { base: ~#Weight~0!base, offset: 8 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(3, { base: ~#Weight~0!base, offset: 12 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(4, { base: ~#Weight~0!base, offset: 16 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(5, { base: ~#Weight~0!base, offset: 20 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(6, { base: ~#Weight~0!base, offset: 24 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(7, { base: ~#Weight~0!base, offset: 28 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(8, { base: ~#Weight~0!base, offset: 32 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(9, { base: ~#Weight~0!base, offset: 36 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(10, { base: ~#Weight~0!base, offset: 40 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(11, { base: ~#Weight~0!base, offset: 44 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(12, { base: ~#Weight~0!base, offset: 48 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(13, { base: ~#Weight~0!base, offset: 52 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(14, { base: ~#Weight~0!base, offset: 56 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(15, { base: ~#Weight~0!base, offset: 60 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(16, { base: ~#Weight~0!base, offset: 64 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(17, { base: ~#Weight~0!base, offset: 68 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(18, { base: ~#Weight~0!base, offset: 72 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(19, { base: ~#Weight~0!base, offset: 76 + ~#Weight~0!offset }, 4); [L21] FCALL call ~#distance~0 := #Ultimate.alloc(20); [L22] havoc ~x~0; [L22] havoc ~y~0; [L23] havoc ~i~0; [L23] havoc ~j~0; [L25] ~i~0 := 0; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~nodecount~0=2, ~source~0=0] [L25-L32] COND FALSE !(!(~i~0 < ~nodecount~0)) VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~nodecount~0=2, ~source~0=0] [L26] COND TRUE ~i~0 == ~source~0 [L27] FCALL call write~int(0, { base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~i~0 }, 4); VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~nodecount~0=2, ~source~0=0] [L25] #t~post3 := ~i~0; [L25] ~i~0 := 1 + #t~post3; [L25] havoc #t~post3; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~nodecount~0=2, ~source~0=0] [L25-L32] COND FALSE !(!(~i~0 < ~nodecount~0)) VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~nodecount~0=2, ~source~0=0] [L26] COND FALSE !(~i~0 == ~source~0) [L30] FCALL call write~int(~INFINITY~0, { base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~i~0 }, 4); VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~nodecount~0=2, ~source~0=0] [L25] #t~post3 := ~i~0; [L25] ~i~0 := 1 + #t~post3; [L25] havoc #t~post3; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=2, ~nodecount~0=2, ~source~0=0] [L25-L32] COND TRUE !(~i~0 < ~nodecount~0) VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=2, ~nodecount~0=2, ~source~0=0] [L34] ~i~0 := 0; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~nodecount~0=2, ~source~0=0] [L34-L45] COND FALSE !(!(~i~0 < ~nodecount~0)) [L36] ~j~0 := 0; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=0, ~nodecount~0=2, ~source~0=0] [L36-L44] COND FALSE !(!(~j~0 < ~edgecount~0)) [L38] FCALL call #t~mem6 := read~int({ base: ~#Dest~0!base, offset: ~#Dest~0!offset + 4 * ~j~0 }, 4); [L38] ~x~0 := #t~mem6; [L38] havoc #t~mem6; [L39] FCALL call #t~mem7 := read~int({ base: ~#Source~0!base, offset: ~#Source~0!offset + 4 * ~j~0 }, 4); [L39] ~y~0 := #t~mem7; [L39] havoc #t~mem7; [L40] FCALL call #t~mem10 := read~int({ base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~x~0 }, 4); [L40] FCALL call #t~mem8 := read~int({ base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~y~0 }, 4); [L40] FCALL call #t~mem9 := read~int({ base: ~#Weight~0!base, offset: ~#Weight~0!offset + 4 * ~j~0 }, 4); VAL [#NULL!base=0, #NULL!offset=0, #t~mem10=899, #t~mem8=0, #t~mem9=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=0, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L40] COND TRUE #t~mem10 > #t~mem8 + #t~mem9 [L40] havoc #t~mem10; [L40] havoc #t~mem9; [L40] havoc #t~mem8; [L42] FCALL call write~int(-1, { base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~x~0 }, 4); VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=0, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L36] #t~post5 := ~j~0; [L36] ~j~0 := 1 + #t~post5; [L36] havoc #t~post5; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L36-L44] COND TRUE !(~j~0 < ~edgecount~0) VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L34] #t~post4 := ~i~0; [L34] ~i~0 := 1 + #t~post4; [L34] havoc #t~post4; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L34-L45] COND FALSE !(!(~i~0 < ~nodecount~0)) [L36] ~j~0 := 0; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=0, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L36-L44] COND FALSE !(!(~j~0 < ~edgecount~0)) [L38] FCALL call #t~mem6 := read~int({ base: ~#Dest~0!base, offset: ~#Dest~0!offset + 4 * ~j~0 }, 4); [L38] ~x~0 := #t~mem6; [L38] havoc #t~mem6; [L39] FCALL call #t~mem7 := read~int({ base: ~#Source~0!base, offset: ~#Source~0!offset + 4 * ~j~0 }, 4); [L39] ~y~0 := #t~mem7; [L39] havoc #t~mem7; [L40] FCALL call #t~mem10 := read~int({ base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~x~0 }, 4); [L40] FCALL call #t~mem8 := read~int({ base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~y~0 }, 4); [L40] FCALL call #t~mem9 := read~int({ base: ~#Weight~0!base, offset: ~#Weight~0!offset + 4 * ~j~0 }, 4); VAL [#NULL!base=0, #NULL!offset=0, #t~mem10=-1, #t~mem8=0, #t~mem9=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=0, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L40] COND FALSE !(#t~mem10 > #t~mem8 + #t~mem9) [L40] havoc #t~mem10; [L40] havoc #t~mem9; [L40] havoc #t~mem8; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=0, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L36] #t~post5 := ~j~0; [L36] ~j~0 := 1 + #t~post5; [L36] havoc #t~post5; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L36-L44] COND TRUE !(~j~0 < ~edgecount~0) VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L34] #t~post4 := ~i~0; [L34] ~i~0 := 1 + #t~post4; [L34] havoc #t~post4; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=2, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L34-L45] COND TRUE !(~i~0 < ~nodecount~0) VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=2, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L46] ~i~0 := 0; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L46-L54] COND FALSE !(!(~i~0 < ~edgecount~0)) [L48] FCALL call #t~mem12 := read~int({ base: ~#Dest~0!base, offset: ~#Dest~0!offset + 4 * ~i~0 }, 4); [L48] ~x~0 := #t~mem12; [L48] havoc #t~mem12; [L49] FCALL call #t~mem13 := read~int({ base: ~#Source~0!base, offset: ~#Source~0!offset + 4 * ~i~0 }, 4); [L49] ~y~0 := #t~mem13; [L49] havoc #t~mem13; [L50] FCALL call #t~mem16 := read~int({ base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~x~0 }, 4); [L50] FCALL call #t~mem14 := read~int({ base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~y~0 }, 4); [L50] FCALL call #t~mem15 := read~int({ base: ~#Weight~0!base, offset: ~#Weight~0!offset + 4 * ~i~0 }, 4); VAL [#NULL!base=0, #NULL!offset=0, #t~mem14=0, #t~mem15=0, #t~mem16=-1, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L50] COND FALSE !(#t~mem16 > #t~mem14 + #t~mem15) [L50] havoc #t~mem16; [L50] havoc #t~mem14; [L50] havoc #t~mem15; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L46] #t~post11 := ~i~0; [L46] ~i~0 := 1 + #t~post11; [L46] havoc #t~post11; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L46-L54] COND TRUE !(~i~0 < ~edgecount~0) VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L56] ~i~0 := 0; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L56-L59] COND FALSE !(!(~i~0 < ~nodecount~0)) [L58] FCALL call #t~mem18 := read~int({ base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~i~0 }, 4); VAL [#NULL!base=0, #NULL!offset=0, #t~mem18=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L58] CALL call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); VAL [#in~cond=1, #NULL!base=0, #NULL!offset=0, ~INFINITY~0=899] [L5-L10] ~cond := #in~cond; VAL [#in~cond=1, #NULL!base=0, #NULL!offset=0, ~cond=1, ~INFINITY~0=899] [L6] COND FALSE !(0 == ~cond) VAL [#in~cond=1, #NULL!base=0, #NULL!offset=0, ~cond=1, ~INFINITY~0=899] [L58] RET call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); VAL [#NULL!base=0, #NULL!offset=0, #t~mem18=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L58] havoc #t~mem18; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L56] #t~post17 := ~i~0; [L56] ~i~0 := 1 + #t~post17; [L56] havoc #t~post17; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L56-L59] COND FALSE !(!(~i~0 < ~nodecount~0)) [L58] FCALL call #t~mem18 := read~int({ base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~i~0 }, 4); VAL [#NULL!base=0, #NULL!offset=0, #t~mem18=-1, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L58] CALL call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); VAL [#in~cond=0, #NULL!base=0, #NULL!offset=0, ~INFINITY~0=899] [L5-L10] ~cond := #in~cond; VAL [#in~cond=0, #NULL!base=0, #NULL!offset=0, ~cond=0, ~INFINITY~0=899] [L6] COND TRUE 0 == ~cond VAL [#in~cond=0, #NULL!base=0, #NULL!offset=0, ~cond=0, ~INFINITY~0=899] [L7] assert false; VAL [#in~cond=0, #NULL!base=0, #NULL!offset=0, ~cond=0, ~INFINITY~0=899] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL!base=905, #NULL!offset=902, old(#NULL!base)=905, old(#NULL!offset)=902, old(~INFINITY~0)=906, ~INFINITY~0=906] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L11] ~INFINITY~0 := 899; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=905, old(#NULL!offset)=902, old(~INFINITY~0)=906, ~INFINITY~0=899] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0, ~INFINITY~0=899] [?] CALL call #t~ret19 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~INFINITY~0=899] [L13] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L13] ~nodecount~0 := #t~nondet1; [L13] havoc #t~nondet1; [L14] assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; [L14] ~edgecount~0 := #t~nondet2; [L14] havoc #t~nondet2; VAL [#NULL!base=0, #NULL!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~nodecount~0=2] [L15] COND FALSE !(!(0 <= ~nodecount~0 && ~nodecount~0 <= 4)) VAL [#NULL!base=0, #NULL!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~nodecount~0=2] [L16] COND FALSE !(!(0 <= ~edgecount~0 && ~edgecount~0 <= 19)) [L17] ~source~0 := 0; [L18] FCALL call ~#Source~0 := #Ultimate.alloc(80); [L18] FCALL call write~init~int(0, { base: ~#Source~0!base, offset: ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(4, { base: ~#Source~0!base, offset: 4 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(1, { base: ~#Source~0!base, offset: 8 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(1, { base: ~#Source~0!base, offset: 12 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(0, { base: ~#Source~0!base, offset: 16 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(0, { base: ~#Source~0!base, offset: 20 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(1, { base: ~#Source~0!base, offset: 24 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(3, { base: ~#Source~0!base, offset: 28 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(4, { base: ~#Source~0!base, offset: 32 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(4, { base: ~#Source~0!base, offset: 36 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(2, { base: ~#Source~0!base, offset: 40 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(2, { base: ~#Source~0!base, offset: 44 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(3, { base: ~#Source~0!base, offset: 48 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(0, { base: ~#Source~0!base, offset: 52 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(0, { base: ~#Source~0!base, offset: 56 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(3, { base: ~#Source~0!base, offset: 60 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(1, { base: ~#Source~0!base, offset: 64 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(2, { base: ~#Source~0!base, offset: 68 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(2, { base: ~#Source~0!base, offset: 72 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(3, { base: ~#Source~0!base, offset: 76 + ~#Source~0!offset }, 4); [L19] FCALL call ~#Dest~0 := #Ultimate.alloc(80); [L19] FCALL call write~init~int(1, { base: ~#Dest~0!base, offset: ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(3, { base: ~#Dest~0!base, offset: 4 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(4, { base: ~#Dest~0!base, offset: 8 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(1, { base: ~#Dest~0!base, offset: 12 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(1, { base: ~#Dest~0!base, offset: 16 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(4, { base: ~#Dest~0!base, offset: 20 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(3, { base: ~#Dest~0!base, offset: 24 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(4, { base: ~#Dest~0!base, offset: 28 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(3, { base: ~#Dest~0!base, offset: 32 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(0, { base: ~#Dest~0!base, offset: 36 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(0, { base: ~#Dest~0!base, offset: 40 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(0, { base: ~#Dest~0!base, offset: 44 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(0, { base: ~#Dest~0!base, offset: 48 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(2, { base: ~#Dest~0!base, offset: 52 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(3, { base: ~#Dest~0!base, offset: 56 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(0, { base: ~#Dest~0!base, offset: 60 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(2, { base: ~#Dest~0!base, offset: 64 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(1, { base: ~#Dest~0!base, offset: 68 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(0, { base: ~#Dest~0!base, offset: 72 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(4, { base: ~#Dest~0!base, offset: 76 + ~#Dest~0!offset }, 4); [L20] FCALL call ~#Weight~0 := #Ultimate.alloc(80); [L20] FCALL call write~init~int(0, { base: ~#Weight~0!base, offset: ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(1, { base: ~#Weight~0!base, offset: 4 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(2, { base: ~#Weight~0!base, offset: 8 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(3, { base: ~#Weight~0!base, offset: 12 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(4, { base: ~#Weight~0!base, offset: 16 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(5, { base: ~#Weight~0!base, offset: 20 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(6, { base: ~#Weight~0!base, offset: 24 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(7, { base: ~#Weight~0!base, offset: 28 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(8, { base: ~#Weight~0!base, offset: 32 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(9, { base: ~#Weight~0!base, offset: 36 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(10, { base: ~#Weight~0!base, offset: 40 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(11, { base: ~#Weight~0!base, offset: 44 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(12, { base: ~#Weight~0!base, offset: 48 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(13, { base: ~#Weight~0!base, offset: 52 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(14, { base: ~#Weight~0!base, offset: 56 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(15, { base: ~#Weight~0!base, offset: 60 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(16, { base: ~#Weight~0!base, offset: 64 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(17, { base: ~#Weight~0!base, offset: 68 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(18, { base: ~#Weight~0!base, offset: 72 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(19, { base: ~#Weight~0!base, offset: 76 + ~#Weight~0!offset }, 4); [L21] FCALL call ~#distance~0 := #Ultimate.alloc(20); [L22] havoc ~x~0; [L22] havoc ~y~0; [L23] havoc ~i~0; [L23] havoc ~j~0; [L25] ~i~0 := 0; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~nodecount~0=2, ~source~0=0] [L25-L32] COND FALSE !(!(~i~0 < ~nodecount~0)) VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~nodecount~0=2, ~source~0=0] [L26] COND TRUE ~i~0 == ~source~0 [L27] FCALL call write~int(0, { base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~i~0 }, 4); VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~nodecount~0=2, ~source~0=0] [L25] #t~post3 := ~i~0; [L25] ~i~0 := 1 + #t~post3; [L25] havoc #t~post3; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~nodecount~0=2, ~source~0=0] [L25-L32] COND FALSE !(!(~i~0 < ~nodecount~0)) VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~nodecount~0=2, ~source~0=0] [L26] COND FALSE !(~i~0 == ~source~0) [L30] FCALL call write~int(~INFINITY~0, { base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~i~0 }, 4); VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~nodecount~0=2, ~source~0=0] [L25] #t~post3 := ~i~0; [L25] ~i~0 := 1 + #t~post3; [L25] havoc #t~post3; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=2, ~nodecount~0=2, ~source~0=0] [L25-L32] COND TRUE !(~i~0 < ~nodecount~0) VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=2, ~nodecount~0=2, ~source~0=0] [L34] ~i~0 := 0; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~nodecount~0=2, ~source~0=0] [L34-L45] COND FALSE !(!(~i~0 < ~nodecount~0)) [L36] ~j~0 := 0; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=0, ~nodecount~0=2, ~source~0=0] [L36-L44] COND FALSE !(!(~j~0 < ~edgecount~0)) [L38] FCALL call #t~mem6 := read~int({ base: ~#Dest~0!base, offset: ~#Dest~0!offset + 4 * ~j~0 }, 4); [L38] ~x~0 := #t~mem6; [L38] havoc #t~mem6; [L39] FCALL call #t~mem7 := read~int({ base: ~#Source~0!base, offset: ~#Source~0!offset + 4 * ~j~0 }, 4); [L39] ~y~0 := #t~mem7; [L39] havoc #t~mem7; [L40] FCALL call #t~mem10 := read~int({ base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~x~0 }, 4); [L40] FCALL call #t~mem8 := read~int({ base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~y~0 }, 4); [L40] FCALL call #t~mem9 := read~int({ base: ~#Weight~0!base, offset: ~#Weight~0!offset + 4 * ~j~0 }, 4); VAL [#NULL!base=0, #NULL!offset=0, #t~mem10=899, #t~mem8=0, #t~mem9=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=0, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L40] COND TRUE #t~mem10 > #t~mem8 + #t~mem9 [L40] havoc #t~mem10; [L40] havoc #t~mem9; [L40] havoc #t~mem8; [L42] FCALL call write~int(-1, { base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~x~0 }, 4); VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=0, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L36] #t~post5 := ~j~0; [L36] ~j~0 := 1 + #t~post5; [L36] havoc #t~post5; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L36-L44] COND TRUE !(~j~0 < ~edgecount~0) VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L34] #t~post4 := ~i~0; [L34] ~i~0 := 1 + #t~post4; [L34] havoc #t~post4; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L34-L45] COND FALSE !(!(~i~0 < ~nodecount~0)) [L36] ~j~0 := 0; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=0, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L36-L44] COND FALSE !(!(~j~0 < ~edgecount~0)) [L38] FCALL call #t~mem6 := read~int({ base: ~#Dest~0!base, offset: ~#Dest~0!offset + 4 * ~j~0 }, 4); [L38] ~x~0 := #t~mem6; [L38] havoc #t~mem6; [L39] FCALL call #t~mem7 := read~int({ base: ~#Source~0!base, offset: ~#Source~0!offset + 4 * ~j~0 }, 4); [L39] ~y~0 := #t~mem7; [L39] havoc #t~mem7; [L40] FCALL call #t~mem10 := read~int({ base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~x~0 }, 4); [L40] FCALL call #t~mem8 := read~int({ base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~y~0 }, 4); [L40] FCALL call #t~mem9 := read~int({ base: ~#Weight~0!base, offset: ~#Weight~0!offset + 4 * ~j~0 }, 4); VAL [#NULL!base=0, #NULL!offset=0, #t~mem10=-1, #t~mem8=0, #t~mem9=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=0, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L40] COND FALSE !(#t~mem10 > #t~mem8 + #t~mem9) [L40] havoc #t~mem10; [L40] havoc #t~mem9; [L40] havoc #t~mem8; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=0, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L36] #t~post5 := ~j~0; [L36] ~j~0 := 1 + #t~post5; [L36] havoc #t~post5; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L36-L44] COND TRUE !(~j~0 < ~edgecount~0) VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L34] #t~post4 := ~i~0; [L34] ~i~0 := 1 + #t~post4; [L34] havoc #t~post4; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=2, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L34-L45] COND TRUE !(~i~0 < ~nodecount~0) VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=2, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L46] ~i~0 := 0; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L46-L54] COND FALSE !(!(~i~0 < ~edgecount~0)) [L48] FCALL call #t~mem12 := read~int({ base: ~#Dest~0!base, offset: ~#Dest~0!offset + 4 * ~i~0 }, 4); [L48] ~x~0 := #t~mem12; [L48] havoc #t~mem12; [L49] FCALL call #t~mem13 := read~int({ base: ~#Source~0!base, offset: ~#Source~0!offset + 4 * ~i~0 }, 4); [L49] ~y~0 := #t~mem13; [L49] havoc #t~mem13; [L50] FCALL call #t~mem16 := read~int({ base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~x~0 }, 4); [L50] FCALL call #t~mem14 := read~int({ base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~y~0 }, 4); [L50] FCALL call #t~mem15 := read~int({ base: ~#Weight~0!base, offset: ~#Weight~0!offset + 4 * ~i~0 }, 4); VAL [#NULL!base=0, #NULL!offset=0, #t~mem14=0, #t~mem15=0, #t~mem16=-1, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L50] COND FALSE !(#t~mem16 > #t~mem14 + #t~mem15) [L50] havoc #t~mem16; [L50] havoc #t~mem14; [L50] havoc #t~mem15; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L46] #t~post11 := ~i~0; [L46] ~i~0 := 1 + #t~post11; [L46] havoc #t~post11; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L46-L54] COND TRUE !(~i~0 < ~edgecount~0) VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L56] ~i~0 := 0; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L56-L59] COND FALSE !(!(~i~0 < ~nodecount~0)) [L58] FCALL call #t~mem18 := read~int({ base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~i~0 }, 4); VAL [#NULL!base=0, #NULL!offset=0, #t~mem18=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L58] CALL call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); VAL [#in~cond=1, #NULL!base=0, #NULL!offset=0, ~INFINITY~0=899] [L5-L10] ~cond := #in~cond; VAL [#in~cond=1, #NULL!base=0, #NULL!offset=0, ~cond=1, ~INFINITY~0=899] [L6] COND FALSE !(0 == ~cond) VAL [#in~cond=1, #NULL!base=0, #NULL!offset=0, ~cond=1, ~INFINITY~0=899] [L58] RET call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); VAL [#NULL!base=0, #NULL!offset=0, #t~mem18=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L58] havoc #t~mem18; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L56] #t~post17 := ~i~0; [L56] ~i~0 := 1 + #t~post17; [L56] havoc #t~post17; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L56-L59] COND FALSE !(!(~i~0 < ~nodecount~0)) [L58] FCALL call #t~mem18 := read~int({ base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~i~0 }, 4); VAL [#NULL!base=0, #NULL!offset=0, #t~mem18=-1, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L58] CALL call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); VAL [#in~cond=0, #NULL!base=0, #NULL!offset=0, ~INFINITY~0=899] [L5-L10] ~cond := #in~cond; VAL [#in~cond=0, #NULL!base=0, #NULL!offset=0, ~cond=0, ~INFINITY~0=899] [L6] COND TRUE 0 == ~cond VAL [#in~cond=0, #NULL!base=0, #NULL!offset=0, ~cond=0, ~INFINITY~0=899] [L7] assert false; VAL [#in~cond=0, #NULL!base=0, #NULL!offset=0, ~cond=0, ~INFINITY~0=899] [?] CALL call ULTIMATE.init(); VAL [#NULL!base=905, #NULL!offset=902, old(#NULL!base)=905, old(#NULL!offset)=902, old(~INFINITY~0)=906, ~INFINITY~0=906] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L11] ~INFINITY~0 := 899; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=905, old(#NULL!offset)=902, old(~INFINITY~0)=906, ~INFINITY~0=899] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0, ~INFINITY~0=899] [?] CALL call #t~ret19 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~INFINITY~0=899] [L13] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L13] ~nodecount~0 := #t~nondet1; [L13] havoc #t~nondet1; [L14] assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; [L14] ~edgecount~0 := #t~nondet2; [L14] havoc #t~nondet2; VAL [#NULL!base=0, #NULL!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~nodecount~0=2] [L15] COND FALSE !(!(0 <= ~nodecount~0 && ~nodecount~0 <= 4)) VAL [#NULL!base=0, #NULL!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~nodecount~0=2] [L16] COND FALSE !(!(0 <= ~edgecount~0 && ~edgecount~0 <= 19)) [L17] ~source~0 := 0; [L18] FCALL call ~#Source~0 := #Ultimate.alloc(80); [L18] FCALL call write~init~int(0, { base: ~#Source~0!base, offset: ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(4, { base: ~#Source~0!base, offset: 4 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(1, { base: ~#Source~0!base, offset: 8 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(1, { base: ~#Source~0!base, offset: 12 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(0, { base: ~#Source~0!base, offset: 16 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(0, { base: ~#Source~0!base, offset: 20 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(1, { base: ~#Source~0!base, offset: 24 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(3, { base: ~#Source~0!base, offset: 28 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(4, { base: ~#Source~0!base, offset: 32 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(4, { base: ~#Source~0!base, offset: 36 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(2, { base: ~#Source~0!base, offset: 40 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(2, { base: ~#Source~0!base, offset: 44 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(3, { base: ~#Source~0!base, offset: 48 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(0, { base: ~#Source~0!base, offset: 52 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(0, { base: ~#Source~0!base, offset: 56 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(3, { base: ~#Source~0!base, offset: 60 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(1, { base: ~#Source~0!base, offset: 64 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(2, { base: ~#Source~0!base, offset: 68 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(2, { base: ~#Source~0!base, offset: 72 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(3, { base: ~#Source~0!base, offset: 76 + ~#Source~0!offset }, 4); [L19] FCALL call ~#Dest~0 := #Ultimate.alloc(80); [L19] FCALL call write~init~int(1, { base: ~#Dest~0!base, offset: ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(3, { base: ~#Dest~0!base, offset: 4 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(4, { base: ~#Dest~0!base, offset: 8 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(1, { base: ~#Dest~0!base, offset: 12 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(1, { base: ~#Dest~0!base, offset: 16 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(4, { base: ~#Dest~0!base, offset: 20 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(3, { base: ~#Dest~0!base, offset: 24 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(4, { base: ~#Dest~0!base, offset: 28 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(3, { base: ~#Dest~0!base, offset: 32 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(0, { base: ~#Dest~0!base, offset: 36 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(0, { base: ~#Dest~0!base, offset: 40 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(0, { base: ~#Dest~0!base, offset: 44 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(0, { base: ~#Dest~0!base, offset: 48 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(2, { base: ~#Dest~0!base, offset: 52 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(3, { base: ~#Dest~0!base, offset: 56 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(0, { base: ~#Dest~0!base, offset: 60 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(2, { base: ~#Dest~0!base, offset: 64 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(1, { base: ~#Dest~0!base, offset: 68 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(0, { base: ~#Dest~0!base, offset: 72 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(4, { base: ~#Dest~0!base, offset: 76 + ~#Dest~0!offset }, 4); [L20] FCALL call ~#Weight~0 := #Ultimate.alloc(80); [L20] FCALL call write~init~int(0, { base: ~#Weight~0!base, offset: ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(1, { base: ~#Weight~0!base, offset: 4 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(2, { base: ~#Weight~0!base, offset: 8 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(3, { base: ~#Weight~0!base, offset: 12 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(4, { base: ~#Weight~0!base, offset: 16 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(5, { base: ~#Weight~0!base, offset: 20 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(6, { base: ~#Weight~0!base, offset: 24 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(7, { base: ~#Weight~0!base, offset: 28 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(8, { base: ~#Weight~0!base, offset: 32 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(9, { base: ~#Weight~0!base, offset: 36 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(10, { base: ~#Weight~0!base, offset: 40 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(11, { base: ~#Weight~0!base, offset: 44 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(12, { base: ~#Weight~0!base, offset: 48 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(13, { base: ~#Weight~0!base, offset: 52 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(14, { base: ~#Weight~0!base, offset: 56 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(15, { base: ~#Weight~0!base, offset: 60 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(16, { base: ~#Weight~0!base, offset: 64 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(17, { base: ~#Weight~0!base, offset: 68 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(18, { base: ~#Weight~0!base, offset: 72 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(19, { base: ~#Weight~0!base, offset: 76 + ~#Weight~0!offset }, 4); [L21] FCALL call ~#distance~0 := #Ultimate.alloc(20); [L22] havoc ~x~0; [L22] havoc ~y~0; [L23] havoc ~i~0; [L23] havoc ~j~0; [L25] ~i~0 := 0; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~nodecount~0=2, ~source~0=0] [L25-L32] COND FALSE !(!(~i~0 < ~nodecount~0)) VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~nodecount~0=2, ~source~0=0] [L26] COND TRUE ~i~0 == ~source~0 [L27] FCALL call write~int(0, { base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~i~0 }, 4); VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~nodecount~0=2, ~source~0=0] [L25] #t~post3 := ~i~0; [L25] ~i~0 := 1 + #t~post3; [L25] havoc #t~post3; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~nodecount~0=2, ~source~0=0] [L25-L32] COND FALSE !(!(~i~0 < ~nodecount~0)) VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~nodecount~0=2, ~source~0=0] [L26] COND FALSE !(~i~0 == ~source~0) [L30] FCALL call write~int(~INFINITY~0, { base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~i~0 }, 4); VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~nodecount~0=2, ~source~0=0] [L25] #t~post3 := ~i~0; [L25] ~i~0 := 1 + #t~post3; [L25] havoc #t~post3; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=2, ~nodecount~0=2, ~source~0=0] [L25-L32] COND TRUE !(~i~0 < ~nodecount~0) VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=2, ~nodecount~0=2, ~source~0=0] [L34] ~i~0 := 0; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~nodecount~0=2, ~source~0=0] [L34-L45] COND FALSE !(!(~i~0 < ~nodecount~0)) [L36] ~j~0 := 0; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=0, ~nodecount~0=2, ~source~0=0] [L36-L44] COND FALSE !(!(~j~0 < ~edgecount~0)) [L38] FCALL call #t~mem6 := read~int({ base: ~#Dest~0!base, offset: ~#Dest~0!offset + 4 * ~j~0 }, 4); [L38] ~x~0 := #t~mem6; [L38] havoc #t~mem6; [L39] FCALL call #t~mem7 := read~int({ base: ~#Source~0!base, offset: ~#Source~0!offset + 4 * ~j~0 }, 4); [L39] ~y~0 := #t~mem7; [L39] havoc #t~mem7; [L40] FCALL call #t~mem10 := read~int({ base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~x~0 }, 4); [L40] FCALL call #t~mem8 := read~int({ base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~y~0 }, 4); [L40] FCALL call #t~mem9 := read~int({ base: ~#Weight~0!base, offset: ~#Weight~0!offset + 4 * ~j~0 }, 4); VAL [#NULL!base=0, #NULL!offset=0, #t~mem10=899, #t~mem8=0, #t~mem9=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=0, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L40] COND TRUE #t~mem10 > #t~mem8 + #t~mem9 [L40] havoc #t~mem10; [L40] havoc #t~mem9; [L40] havoc #t~mem8; [L42] FCALL call write~int(-1, { base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~x~0 }, 4); VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=0, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L36] #t~post5 := ~j~0; [L36] ~j~0 := 1 + #t~post5; [L36] havoc #t~post5; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L36-L44] COND TRUE !(~j~0 < ~edgecount~0) VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L34] #t~post4 := ~i~0; [L34] ~i~0 := 1 + #t~post4; [L34] havoc #t~post4; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L34-L45] COND FALSE !(!(~i~0 < ~nodecount~0)) [L36] ~j~0 := 0; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=0, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L36-L44] COND FALSE !(!(~j~0 < ~edgecount~0)) [L38] FCALL call #t~mem6 := read~int({ base: ~#Dest~0!base, offset: ~#Dest~0!offset + 4 * ~j~0 }, 4); [L38] ~x~0 := #t~mem6; [L38] havoc #t~mem6; [L39] FCALL call #t~mem7 := read~int({ base: ~#Source~0!base, offset: ~#Source~0!offset + 4 * ~j~0 }, 4); [L39] ~y~0 := #t~mem7; [L39] havoc #t~mem7; [L40] FCALL call #t~mem10 := read~int({ base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~x~0 }, 4); [L40] FCALL call #t~mem8 := read~int({ base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~y~0 }, 4); [L40] FCALL call #t~mem9 := read~int({ base: ~#Weight~0!base, offset: ~#Weight~0!offset + 4 * ~j~0 }, 4); VAL [#NULL!base=0, #NULL!offset=0, #t~mem10=-1, #t~mem8=0, #t~mem9=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=0, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L40] COND FALSE !(#t~mem10 > #t~mem8 + #t~mem9) [L40] havoc #t~mem10; [L40] havoc #t~mem9; [L40] havoc #t~mem8; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=0, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L36] #t~post5 := ~j~0; [L36] ~j~0 := 1 + #t~post5; [L36] havoc #t~post5; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L36-L44] COND TRUE !(~j~0 < ~edgecount~0) VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L34] #t~post4 := ~i~0; [L34] ~i~0 := 1 + #t~post4; [L34] havoc #t~post4; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=2, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L34-L45] COND TRUE !(~i~0 < ~nodecount~0) VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=2, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L46] ~i~0 := 0; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L46-L54] COND FALSE !(!(~i~0 < ~edgecount~0)) [L48] FCALL call #t~mem12 := read~int({ base: ~#Dest~0!base, offset: ~#Dest~0!offset + 4 * ~i~0 }, 4); [L48] ~x~0 := #t~mem12; [L48] havoc #t~mem12; [L49] FCALL call #t~mem13 := read~int({ base: ~#Source~0!base, offset: ~#Source~0!offset + 4 * ~i~0 }, 4); [L49] ~y~0 := #t~mem13; [L49] havoc #t~mem13; [L50] FCALL call #t~mem16 := read~int({ base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~x~0 }, 4); [L50] FCALL call #t~mem14 := read~int({ base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~y~0 }, 4); [L50] FCALL call #t~mem15 := read~int({ base: ~#Weight~0!base, offset: ~#Weight~0!offset + 4 * ~i~0 }, 4); VAL [#NULL!base=0, #NULL!offset=0, #t~mem14=0, #t~mem15=0, #t~mem16=-1, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L50] COND FALSE !(#t~mem16 > #t~mem14 + #t~mem15) [L50] havoc #t~mem16; [L50] havoc #t~mem14; [L50] havoc #t~mem15; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L46] #t~post11 := ~i~0; [L46] ~i~0 := 1 + #t~post11; [L46] havoc #t~post11; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L46-L54] COND TRUE !(~i~0 < ~edgecount~0) VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L56] ~i~0 := 0; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L56-L59] COND FALSE !(!(~i~0 < ~nodecount~0)) [L58] FCALL call #t~mem18 := read~int({ base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~i~0 }, 4); VAL [#NULL!base=0, #NULL!offset=0, #t~mem18=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L58] CALL call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); VAL [#in~cond=1, #NULL!base=0, #NULL!offset=0, ~INFINITY~0=899] [L5-L10] ~cond := #in~cond; VAL [#in~cond=1, #NULL!base=0, #NULL!offset=0, ~cond=1, ~INFINITY~0=899] [L6] COND FALSE !(0 == ~cond) VAL [#in~cond=1, #NULL!base=0, #NULL!offset=0, ~cond=1, ~INFINITY~0=899] [L58] RET call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); VAL [#NULL!base=0, #NULL!offset=0, #t~mem18=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L58] havoc #t~mem18; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L56] #t~post17 := ~i~0; [L56] ~i~0 := 1 + #t~post17; [L56] havoc #t~post17; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L56-L59] COND FALSE !(!(~i~0 < ~nodecount~0)) [L58] FCALL call #t~mem18 := read~int({ base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~i~0 }, 4); VAL [#NULL!base=0, #NULL!offset=0, #t~mem18=-1, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L58] CALL call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); VAL [#in~cond=0, #NULL!base=0, #NULL!offset=0, ~INFINITY~0=899] [L5-L10] ~cond := #in~cond; VAL [#in~cond=0, #NULL!base=0, #NULL!offset=0, ~cond=0, ~INFINITY~0=899] [L6] COND TRUE 0 == ~cond VAL [#in~cond=0, #NULL!base=0, #NULL!offset=0, ~cond=0, ~INFINITY~0=899] [L7] assert false; VAL [#in~cond=0, #NULL!base=0, #NULL!offset=0, ~cond=0, ~INFINITY~0=899] ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL!base=905, #NULL!offset=902, old(#NULL!base)=905, old(#NULL!offset)=902, old(~INFINITY~0)=906, ~INFINITY~0=906] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L11] ~INFINITY~0 := 899; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=905, old(#NULL!offset)=902, old(~INFINITY~0)=906, ~INFINITY~0=899] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0, ~INFINITY~0=899] [?] CALL call #t~ret19 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~INFINITY~0=899] [L13] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L13] ~nodecount~0 := #t~nondet1; [L13] havoc #t~nondet1; [L14] assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; [L14] ~edgecount~0 := #t~nondet2; [L14] havoc #t~nondet2; VAL [#NULL!base=0, #NULL!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~nodecount~0=2] [L15] COND FALSE !(!(0 <= ~nodecount~0 && ~nodecount~0 <= 4)) VAL [#NULL!base=0, #NULL!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~nodecount~0=2] [L16] COND FALSE !(!(0 <= ~edgecount~0 && ~edgecount~0 <= 19)) [L17] ~source~0 := 0; [L18] FCALL call ~#Source~0 := #Ultimate.alloc(80); [L18] FCALL call write~init~int(0, { base: ~#Source~0!base, offset: ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(4, { base: ~#Source~0!base, offset: 4 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(1, { base: ~#Source~0!base, offset: 8 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(1, { base: ~#Source~0!base, offset: 12 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(0, { base: ~#Source~0!base, offset: 16 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(0, { base: ~#Source~0!base, offset: 20 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(1, { base: ~#Source~0!base, offset: 24 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(3, { base: ~#Source~0!base, offset: 28 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(4, { base: ~#Source~0!base, offset: 32 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(4, { base: ~#Source~0!base, offset: 36 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(2, { base: ~#Source~0!base, offset: 40 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(2, { base: ~#Source~0!base, offset: 44 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(3, { base: ~#Source~0!base, offset: 48 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(0, { base: ~#Source~0!base, offset: 52 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(0, { base: ~#Source~0!base, offset: 56 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(3, { base: ~#Source~0!base, offset: 60 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(1, { base: ~#Source~0!base, offset: 64 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(2, { base: ~#Source~0!base, offset: 68 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(2, { base: ~#Source~0!base, offset: 72 + ~#Source~0!offset }, 4); [L18] FCALL call write~init~int(3, { base: ~#Source~0!base, offset: 76 + ~#Source~0!offset }, 4); [L19] FCALL call ~#Dest~0 := #Ultimate.alloc(80); [L19] FCALL call write~init~int(1, { base: ~#Dest~0!base, offset: ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(3, { base: ~#Dest~0!base, offset: 4 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(4, { base: ~#Dest~0!base, offset: 8 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(1, { base: ~#Dest~0!base, offset: 12 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(1, { base: ~#Dest~0!base, offset: 16 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(4, { base: ~#Dest~0!base, offset: 20 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(3, { base: ~#Dest~0!base, offset: 24 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(4, { base: ~#Dest~0!base, offset: 28 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(3, { base: ~#Dest~0!base, offset: 32 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(0, { base: ~#Dest~0!base, offset: 36 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(0, { base: ~#Dest~0!base, offset: 40 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(0, { base: ~#Dest~0!base, offset: 44 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(0, { base: ~#Dest~0!base, offset: 48 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(2, { base: ~#Dest~0!base, offset: 52 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(3, { base: ~#Dest~0!base, offset: 56 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(0, { base: ~#Dest~0!base, offset: 60 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(2, { base: ~#Dest~0!base, offset: 64 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(1, { base: ~#Dest~0!base, offset: 68 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(0, { base: ~#Dest~0!base, offset: 72 + ~#Dest~0!offset }, 4); [L19] FCALL call write~init~int(4, { base: ~#Dest~0!base, offset: 76 + ~#Dest~0!offset }, 4); [L20] FCALL call ~#Weight~0 := #Ultimate.alloc(80); [L20] FCALL call write~init~int(0, { base: ~#Weight~0!base, offset: ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(1, { base: ~#Weight~0!base, offset: 4 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(2, { base: ~#Weight~0!base, offset: 8 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(3, { base: ~#Weight~0!base, offset: 12 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(4, { base: ~#Weight~0!base, offset: 16 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(5, { base: ~#Weight~0!base, offset: 20 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(6, { base: ~#Weight~0!base, offset: 24 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(7, { base: ~#Weight~0!base, offset: 28 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(8, { base: ~#Weight~0!base, offset: 32 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(9, { base: ~#Weight~0!base, offset: 36 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(10, { base: ~#Weight~0!base, offset: 40 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(11, { base: ~#Weight~0!base, offset: 44 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(12, { base: ~#Weight~0!base, offset: 48 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(13, { base: ~#Weight~0!base, offset: 52 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(14, { base: ~#Weight~0!base, offset: 56 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(15, { base: ~#Weight~0!base, offset: 60 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(16, { base: ~#Weight~0!base, offset: 64 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(17, { base: ~#Weight~0!base, offset: 68 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(18, { base: ~#Weight~0!base, offset: 72 + ~#Weight~0!offset }, 4); [L20] FCALL call write~init~int(19, { base: ~#Weight~0!base, offset: 76 + ~#Weight~0!offset }, 4); [L21] FCALL call ~#distance~0 := #Ultimate.alloc(20); [L22] havoc ~x~0; [L22] havoc ~y~0; [L23] havoc ~i~0; [L23] havoc ~j~0; [L25] ~i~0 := 0; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~nodecount~0=2, ~source~0=0] [L25-L32] COND FALSE !(!(~i~0 < ~nodecount~0)) VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~nodecount~0=2, ~source~0=0] [L26] COND TRUE ~i~0 == ~source~0 [L27] FCALL call write~int(0, { base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~i~0 }, 4); VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~nodecount~0=2, ~source~0=0] [L25] #t~post3 := ~i~0; [L25] ~i~0 := 1 + #t~post3; [L25] havoc #t~post3; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~nodecount~0=2, ~source~0=0] [L25-L32] COND FALSE !(!(~i~0 < ~nodecount~0)) VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~nodecount~0=2, ~source~0=0] [L26] COND FALSE !(~i~0 == ~source~0) [L30] FCALL call write~int(~INFINITY~0, { base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~i~0 }, 4); VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~nodecount~0=2, ~source~0=0] [L25] #t~post3 := ~i~0; [L25] ~i~0 := 1 + #t~post3; [L25] havoc #t~post3; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=2, ~nodecount~0=2, ~source~0=0] [L25-L32] COND TRUE !(~i~0 < ~nodecount~0) VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=2, ~nodecount~0=2, ~source~0=0] [L34] ~i~0 := 0; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~nodecount~0=2, ~source~0=0] [L34-L45] COND FALSE !(!(~i~0 < ~nodecount~0)) [L36] ~j~0 := 0; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=0, ~nodecount~0=2, ~source~0=0] [L36-L44] COND FALSE !(!(~j~0 < ~edgecount~0)) [L38] FCALL call #t~mem6 := read~int({ base: ~#Dest~0!base, offset: ~#Dest~0!offset + 4 * ~j~0 }, 4); [L38] ~x~0 := #t~mem6; [L38] havoc #t~mem6; [L39] FCALL call #t~mem7 := read~int({ base: ~#Source~0!base, offset: ~#Source~0!offset + 4 * ~j~0 }, 4); [L39] ~y~0 := #t~mem7; [L39] havoc #t~mem7; [L40] FCALL call #t~mem10 := read~int({ base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~x~0 }, 4); [L40] FCALL call #t~mem8 := read~int({ base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~y~0 }, 4); [L40] FCALL call #t~mem9 := read~int({ base: ~#Weight~0!base, offset: ~#Weight~0!offset + 4 * ~j~0 }, 4); VAL [#NULL!base=0, #NULL!offset=0, #t~mem10=899, #t~mem8=0, #t~mem9=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=0, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L40] COND TRUE #t~mem10 > #t~mem8 + #t~mem9 [L40] havoc #t~mem10; [L40] havoc #t~mem9; [L40] havoc #t~mem8; [L42] FCALL call write~int(-1, { base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~x~0 }, 4); VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=0, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L36] #t~post5 := ~j~0; [L36] ~j~0 := 1 + #t~post5; [L36] havoc #t~post5; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L36-L44] COND TRUE !(~j~0 < ~edgecount~0) VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L34] #t~post4 := ~i~0; [L34] ~i~0 := 1 + #t~post4; [L34] havoc #t~post4; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L34-L45] COND FALSE !(!(~i~0 < ~nodecount~0)) [L36] ~j~0 := 0; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=0, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L36-L44] COND FALSE !(!(~j~0 < ~edgecount~0)) [L38] FCALL call #t~mem6 := read~int({ base: ~#Dest~0!base, offset: ~#Dest~0!offset + 4 * ~j~0 }, 4); [L38] ~x~0 := #t~mem6; [L38] havoc #t~mem6; [L39] FCALL call #t~mem7 := read~int({ base: ~#Source~0!base, offset: ~#Source~0!offset + 4 * ~j~0 }, 4); [L39] ~y~0 := #t~mem7; [L39] havoc #t~mem7; [L40] FCALL call #t~mem10 := read~int({ base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~x~0 }, 4); [L40] FCALL call #t~mem8 := read~int({ base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~y~0 }, 4); [L40] FCALL call #t~mem9 := read~int({ base: ~#Weight~0!base, offset: ~#Weight~0!offset + 4 * ~j~0 }, 4); VAL [#NULL!base=0, #NULL!offset=0, #t~mem10=-1, #t~mem8=0, #t~mem9=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=0, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L40] COND FALSE !(#t~mem10 > #t~mem8 + #t~mem9) [L40] havoc #t~mem10; [L40] havoc #t~mem9; [L40] havoc #t~mem8; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=0, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L36] #t~post5 := ~j~0; [L36] ~j~0 := 1 + #t~post5; [L36] havoc #t~post5; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L36-L44] COND TRUE !(~j~0 < ~edgecount~0) VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L34] #t~post4 := ~i~0; [L34] ~i~0 := 1 + #t~post4; [L34] havoc #t~post4; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=2, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L34-L45] COND TRUE !(~i~0 < ~nodecount~0) VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=2, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L46] ~i~0 := 0; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L46-L54] COND FALSE !(!(~i~0 < ~edgecount~0)) [L48] FCALL call #t~mem12 := read~int({ base: ~#Dest~0!base, offset: ~#Dest~0!offset + 4 * ~i~0 }, 4); [L48] ~x~0 := #t~mem12; [L48] havoc #t~mem12; [L49] FCALL call #t~mem13 := read~int({ base: ~#Source~0!base, offset: ~#Source~0!offset + 4 * ~i~0 }, 4); [L49] ~y~0 := #t~mem13; [L49] havoc #t~mem13; [L50] FCALL call #t~mem16 := read~int({ base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~x~0 }, 4); [L50] FCALL call #t~mem14 := read~int({ base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~y~0 }, 4); [L50] FCALL call #t~mem15 := read~int({ base: ~#Weight~0!base, offset: ~#Weight~0!offset + 4 * ~i~0 }, 4); VAL [#NULL!base=0, #NULL!offset=0, #t~mem14=0, #t~mem15=0, #t~mem16=-1, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L50] COND FALSE !(#t~mem16 > #t~mem14 + #t~mem15) [L50] havoc #t~mem16; [L50] havoc #t~mem14; [L50] havoc #t~mem15; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L46] #t~post11 := ~i~0; [L46] ~i~0 := 1 + #t~post11; [L46] havoc #t~post11; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L46-L54] COND TRUE !(~i~0 < ~edgecount~0) VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L56] ~i~0 := 0; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L56-L59] COND FALSE !(!(~i~0 < ~nodecount~0)) [L58] FCALL call #t~mem18 := read~int({ base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~i~0 }, 4); VAL [#NULL!base=0, #NULL!offset=0, #t~mem18=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L58] CALL call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); VAL [#in~cond=1, #NULL!base=0, #NULL!offset=0, ~INFINITY~0=899] [L5-L10] ~cond := #in~cond; VAL [#in~cond=1, #NULL!base=0, #NULL!offset=0, ~cond=1, ~INFINITY~0=899] [L6] COND FALSE !(0 == ~cond) VAL [#in~cond=1, #NULL!base=0, #NULL!offset=0, ~cond=1, ~INFINITY~0=899] [L58] RET call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); VAL [#NULL!base=0, #NULL!offset=0, #t~mem18=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L58] havoc #t~mem18; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=0, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L56] #t~post17 := ~i~0; [L56] ~i~0 := 1 + #t~post17; [L56] havoc #t~post17; VAL [#NULL!base=0, #NULL!offset=0, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L56-L59] COND FALSE !(!(~i~0 < ~nodecount~0)) [L58] FCALL call #t~mem18 := read~int({ base: ~#distance~0!base, offset: ~#distance~0!offset + 4 * ~i~0 }, 4); VAL [#NULL!base=0, #NULL!offset=0, #t~mem18=-1, ~#Dest~0!base=904, ~#Dest~0!offset=0, ~#distance~0!base=901, ~#distance~0!offset=0, ~#Source~0!base=900, ~#Source~0!offset=0, ~#Weight~0!base=903, ~#Weight~0!offset=0, ~edgecount~0=1, ~INFINITY~0=899, ~i~0=1, ~j~0=1, ~nodecount~0=2, ~source~0=0, ~x~0=1, ~y~0=0] [L58] CALL call __VERIFIER_assert((if #t~mem18 >= 0 then 1 else 0)); VAL [#in~cond=0, #NULL!base=0, #NULL!offset=0, ~INFINITY~0=899] [L5-L10] ~cond := #in~cond; VAL [#in~cond=0, #NULL!base=0, #NULL!offset=0, ~cond=0, ~INFINITY~0=899] [L6] COND TRUE 0 == ~cond VAL [#in~cond=0, #NULL!base=0, #NULL!offset=0, ~cond=0, ~INFINITY~0=899] [L7] assert false; VAL [#in~cond=0, #NULL!base=0, #NULL!offset=0, ~cond=0, ~INFINITY~0=899] [L11] int INFINITY = 899; VAL [\old(INFINITY)=906, INFINITY=899] [L13] int nodecount = __VERIFIER_nondet_int(); [L14] int edgecount = __VERIFIER_nondet_int(); [L15] COND FALSE !(!(0 <= nodecount && nodecount <= 4)) VAL [edgecount=1, INFINITY=899, nodecount=2] [L16] COND FALSE !(!(0 <= edgecount && edgecount <= 19)) [L17] int source = 0; [L18] int Source[20] = {0,4,1,1,0,0,1,3,4,4,2,2,3,0,0,3,1,2,2,3}; [L19] int Dest[20] = {1,3,4,1,1,4,3,4,3,0,0,0,0,2,3,0,2,1,0,4}; [L20] int Weight[20] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19}; [L21] int distance[5]; [L22] int x,y; [L23] int i,j; [L25] i = 0 VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=0, INFINITY=899, nodecount=2, source=0, Source={900:0}, Weight={903:0}] [L25] COND TRUE i < nodecount VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=0, INFINITY=899, nodecount=2, Source={900:0}, source=0, Weight={903:0}] [L26] COND TRUE i == source [L27] distance[i] = 0 VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=0, INFINITY=899, nodecount=2, Source={900:0}, source=0, Weight={903:0}] [L25] i++ VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=1, INFINITY=899, nodecount=2, Source={900:0}, source=0, Weight={903:0}] [L25] COND TRUE i < nodecount VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=1, INFINITY=899, nodecount=2, Source={900:0}, source=0, Weight={903:0}] [L26] COND FALSE !(i == source) [L30] distance[i] = INFINITY VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=1, INFINITY=899, nodecount=2, source=0, Source={900:0}, Weight={903:0}] [L25] i++ VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=2, INFINITY=899, nodecount=2, Source={900:0}, source=0, Weight={903:0}] [L25] COND FALSE !(i < nodecount) VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=2, INFINITY=899, nodecount=2, Source={900:0}, source=0, Weight={903:0}] [L34] i = 0 VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=0, INFINITY=899, nodecount=2, Source={900:0}, source=0, Weight={903:0}] [L34] COND TRUE i < nodecount [L36] j = 0 VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=0, INFINITY=899, j=0, nodecount=2, Source={900:0}, source=0, Weight={903:0}] [L36] COND TRUE j < edgecount [L38] EXPR Dest[j] [L38] x = Dest[j] [L39] EXPR Source[j] [L39] y = Source[j] [L40] EXPR distance[x] [L40] EXPR distance[y] [L40] EXPR Weight[j] VAL [Dest={904:0}, distance={901:0}, distance[x]=899, distance[y]=0, edgecount=1, i=0, INFINITY=899, j=0, nodecount=2, Source={900:0}, source=0, Weight={903:0}, Weight[j]=0, x=1, y=0] [L40] COND TRUE distance[x] > distance[y] + Weight[j] [L42] distance[x] = -1 VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=0, INFINITY=899, j=0, nodecount=2, source=0, Source={900:0}, Weight={903:0}, x=1, y=0] [L36] j++ VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=0, INFINITY=899, j=1, nodecount=2, Source={900:0}, source=0, Weight={903:0}, x=1, y=0] [L36] COND FALSE !(j < edgecount) VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=0, INFINITY=899, j=1, nodecount=2, source=0, Source={900:0}, Weight={903:0}, x=1, y=0] [L34] i++ VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=1, INFINITY=899, j=1, nodecount=2, source=0, Source={900:0}, Weight={903:0}, x=1, y=0] [L34] COND TRUE i < nodecount [L36] j = 0 VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=1, INFINITY=899, j=0, nodecount=2, Source={900:0}, source=0, Weight={903:0}, x=1, y=0] [L36] COND TRUE j < edgecount [L38] EXPR Dest[j] [L38] x = Dest[j] [L39] EXPR Source[j] [L39] y = Source[j] [L40] EXPR distance[x] [L40] EXPR distance[y] [L40] EXPR Weight[j] VAL [Dest={904:0}, distance={901:0}, distance[x]=-1, distance[y]=0, edgecount=1, i=1, INFINITY=899, j=0, nodecount=2, Source={900:0}, source=0, Weight={903:0}, Weight[j]=0, x=1, y=0] [L40] COND FALSE !(distance[x] > distance[y] + Weight[j]) [L36] j++ VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=1, INFINITY=899, j=1, nodecount=2, Source={900:0}, source=0, Weight={903:0}, x=1, y=0] [L36] COND FALSE !(j < edgecount) VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=1, INFINITY=899, j=1, nodecount=2, source=0, Source={900:0}, Weight={903:0}, x=1, y=0] [L34] i++ VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=2, INFINITY=899, j=1, nodecount=2, source=0, Source={900:0}, Weight={903:0}, x=1, y=0] [L34] COND FALSE !(i < nodecount) VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=2, INFINITY=899, j=1, nodecount=2, Source={900:0}, source=0, Weight={903:0}, x=1, y=0] [L46] i = 0 VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=0, INFINITY=899, j=1, nodecount=2, Source={900:0}, source=0, Weight={903:0}, x=1, y=0] [L46] COND TRUE i < edgecount [L48] EXPR Dest[i] [L48] x = Dest[i] [L49] EXPR Source[i] [L49] y = Source[i] [L50] EXPR distance[x] [L50] EXPR distance[y] [L50] EXPR Weight[i] VAL [Dest={904:0}, distance={901:0}, distance[x]=-1, distance[y]=0, edgecount=1, i=0, INFINITY=899, j=1, nodecount=2, source=0, Source={900:0}, Weight={903:0}, Weight[i]=0, x=1, y=0] [L50] COND FALSE !(distance[x] > distance[y] + Weight[i]) [L46] i++ VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=1, INFINITY=899, j=1, nodecount=2, source=0, Source={900:0}, Weight={903:0}, x=1, y=0] [L46] COND FALSE !(i < edgecount) VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=1, INFINITY=899, j=1, nodecount=2, source=0, Source={900:0}, Weight={903:0}, x=1, y=0] [L56] i = 0 VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=0, INFINITY=899, j=1, nodecount=2, Source={900:0}, source=0, Weight={903:0}, x=1, y=0] [L56] COND TRUE i < nodecount [L58] EXPR distance[i] VAL [Dest={904:0}, distance={901:0}, distance[i]=0, edgecount=1, i=0, INFINITY=899, j=1, nodecount=2, Source={900:0}, source=0, Weight={903:0}, x=1, y=0] [L58] CALL __VERIFIER_assert(distance[i]>=0) VAL [\old(cond)=1, INFINITY=899] [L6] COND FALSE !(!(cond)) VAL [\old(cond)=1, cond=1, INFINITY=899] [L58] RET __VERIFIER_assert(distance[i]>=0) VAL [Dest={904:0}, distance={901:0}, distance[i]=0, edgecount=1, i=0, INFINITY=899, j=1, nodecount=2, Source={900:0}, source=0, Weight={903:0}, x=1, y=0] [L56] i++ VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=1, INFINITY=899, j=1, nodecount=2, source=0, Source={900:0}, Weight={903:0}, x=1, y=0] [L56] COND TRUE i < nodecount [L58] EXPR distance[i] VAL [Dest={904:0}, distance={901:0}, distance[i]=-1, edgecount=1, i=1, INFINITY=899, j=1, nodecount=2, source=0, Source={900:0}, Weight={903:0}, x=1, y=0] [L58] CALL __VERIFIER_assert(distance[i]>=0) VAL [\old(cond)=0, INFINITY=899] [L6] COND TRUE !(cond) VAL [\old(cond)=0, cond=0, INFINITY=899] [L7] __VERIFIER_error() VAL [\old(cond)=0, cond=0, INFINITY=899] ----- [2018-11-23 00:53:14,173 INFO L145 WitnessManager]: Wrote witness to /tmp/vcloud-vcloud-master/worker/working_dir_838ae831-646e-48d0-9298-884fec51bd75/bin-2019/uautomizer/witness.graphml [2018-11-23 00:53:14,173 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-23 00:53:14,174 INFO L168 Benchmark]: Toolchain (without parser) took 764399.05 ms. Allocated memory was 1.0 GB in the beginning and 1.3 GB in the end (delta: 296.2 MB). Free memory was 952.7 MB in the beginning and 1.3 GB in the end (delta: -317.4 MB). Peak memory consumption was 439.4 MB. Max. memory is 11.5 GB. [2018-11-23 00:53:14,175 INFO L168 Benchmark]: CDTParser took 0.13 ms. Allocated memory is still 1.0 GB. Free memory is still 980.1 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 00:53:14,175 INFO L168 Benchmark]: CACSL2BoogieTranslator took 192.25 ms. Allocated memory is still 1.0 GB. Free memory was 952.7 MB in the beginning and 939.3 MB in the end (delta: 13.4 MB). Peak memory consumption was 13.4 MB. Max. memory is 11.5 GB. [2018-11-23 00:53:14,175 INFO L168 Benchmark]: Boogie Procedure Inliner took 24.49 ms. Allocated memory is still 1.0 GB. Free memory is still 939.3 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 00:53:14,175 INFO L168 Benchmark]: Boogie Preprocessor took 68.08 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 166.7 MB). Free memory was 939.3 MB in the beginning and 1.2 GB in the end (delta: -222.1 MB). Peak memory consumption was 17.3 MB. Max. memory is 11.5 GB. [2018-11-23 00:53:14,175 INFO L168 Benchmark]: RCFGBuilder took 295.86 ms. Allocated memory is still 1.2 GB. Free memory was 1.2 GB in the beginning and 1.1 GB in the end (delta: 24.6 MB). Peak memory consumption was 24.6 MB. Max. memory is 11.5 GB. [2018-11-23 00:53:14,176 INFO L168 Benchmark]: TraceAbstraction took 762995.24 ms. Allocated memory was 1.2 GB in the beginning and 1.3 GB in the end (delta: 137.9 MB). Free memory was 1.1 GB in the beginning and 818.1 MB in the end (delta: 318.6 MB). Peak memory consumption was 456.5 MB. Max. memory is 11.5 GB. [2018-11-23 00:53:14,176 INFO L168 Benchmark]: Witness Printer took 819.47 ms. Allocated memory was 1.3 GB in the beginning and 1.3 GB in the end (delta: -8.4 MB). Free memory was 818.1 MB in the beginning and 1.3 GB in the end (delta: -452.0 MB). Peak memory consumption was 272.6 kB. Max. memory is 11.5 GB. [2018-11-23 00:53:14,177 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.13 ms. Allocated memory is still 1.0 GB. Free memory is still 980.1 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 192.25 ms. Allocated memory is still 1.0 GB. Free memory was 952.7 MB in the beginning and 939.3 MB in the end (delta: 13.4 MB). Peak memory consumption was 13.4 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 24.49 ms. Allocated memory is still 1.0 GB. Free memory is still 939.3 MB. There was no memory consumed. Max. memory is 11.5 GB. * Boogie Preprocessor took 68.08 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 166.7 MB). Free memory was 939.3 MB in the beginning and 1.2 GB in the end (delta: -222.1 MB). Peak memory consumption was 17.3 MB. Max. memory is 11.5 GB. * RCFGBuilder took 295.86 ms. Allocated memory is still 1.2 GB. Free memory was 1.2 GB in the beginning and 1.1 GB in the end (delta: 24.6 MB). Peak memory consumption was 24.6 MB. Max. memory is 11.5 GB. * TraceAbstraction took 762995.24 ms. Allocated memory was 1.2 GB in the beginning and 1.3 GB in the end (delta: 137.9 MB). Free memory was 1.1 GB in the beginning and 818.1 MB in the end (delta: 318.6 MB). Peak memory consumption was 456.5 MB. Max. memory is 11.5 GB. * Witness Printer took 819.47 ms. Allocated memory was 1.3 GB in the beginning and 1.3 GB in the end (delta: -8.4 MB). Free memory was 818.1 MB in the beginning and 1.3 GB in the end (delta: -452.0 MB). Peak memory consumption was 272.6 kB. Max. memory is 11.5 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - CounterExampleResult [Line: 7]: a call of __VERIFIER_error() is reachable a call of __VERIFIER_error() is reachable We found a FailurePath: [L11] int INFINITY = 899; VAL [\old(INFINITY)=906, INFINITY=899] [L13] int nodecount = __VERIFIER_nondet_int(); [L14] int edgecount = __VERIFIER_nondet_int(); [L15] COND FALSE !(!(0 <= nodecount && nodecount <= 4)) VAL [edgecount=1, INFINITY=899, nodecount=2] [L16] COND FALSE !(!(0 <= edgecount && edgecount <= 19)) [L17] int source = 0; [L18] int Source[20] = {0,4,1,1,0,0,1,3,4,4,2,2,3,0,0,3,1,2,2,3}; [L19] int Dest[20] = {1,3,4,1,1,4,3,4,3,0,0,0,0,2,3,0,2,1,0,4}; [L20] int Weight[20] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19}; [L21] int distance[5]; [L22] int x,y; [L23] int i,j; [L25] i = 0 VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=0, INFINITY=899, nodecount=2, Source={900:0}, source=0, Weight={903:0}] [L25] COND TRUE i < nodecount VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=0, INFINITY=899, nodecount=2, source=0, Source={900:0}, Weight={903:0}] [L26] COND TRUE i == source [L27] distance[i] = 0 VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=0, INFINITY=899, nodecount=2, Source={900:0}, source=0, Weight={903:0}] [L25] i++ VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=1, INFINITY=899, nodecount=2, Source={900:0}, source=0, Weight={903:0}] [L25] COND TRUE i < nodecount VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=1, INFINITY=899, nodecount=2, Source={900:0}, source=0, Weight={903:0}] [L26] COND FALSE !(i == source) [L30] distance[i] = INFINITY VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=1, INFINITY=899, nodecount=2, source=0, Source={900:0}, Weight={903:0}] [L25] i++ VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=2, INFINITY=899, nodecount=2, Source={900:0}, source=0, Weight={903:0}] [L25] COND FALSE !(i < nodecount) VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=2, INFINITY=899, nodecount=2, Source={900:0}, source=0, Weight={903:0}] [L34] i = 0 VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=0, INFINITY=899, nodecount=2, Source={900:0}, source=0, Weight={903:0}] [L34] COND TRUE i < nodecount [L36] j = 0 VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=0, INFINITY=899, j=0, nodecount=2, source=0, Source={900:0}, Weight={903:0}] [L36] COND TRUE j < edgecount [L38] EXPR Dest[j] [L38] x = Dest[j] [L39] EXPR Source[j] [L39] y = Source[j] [L40] EXPR distance[x] [L40] EXPR distance[y] [L40] EXPR Weight[j] VAL [Dest={904:0}, distance={901:0}, distance[x]=899, distance[y]=0, edgecount=1, i=0, INFINITY=899, j=0, nodecount=2, Source={900:0}, source=0, Weight={903:0}, Weight[j]=0, x=1, y=0] [L40] COND TRUE distance[x] > distance[y] + Weight[j] [L42] distance[x] = -1 VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=0, INFINITY=899, j=0, nodecount=2, source=0, Source={900:0}, Weight={903:0}, x=1, y=0] [L36] j++ VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=0, INFINITY=899, j=1, nodecount=2, Source={900:0}, source=0, Weight={903:0}, x=1, y=0] [L36] COND FALSE !(j < edgecount) VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=0, INFINITY=899, j=1, nodecount=2, Source={900:0}, source=0, Weight={903:0}, x=1, y=0] [L34] i++ VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=1, INFINITY=899, j=1, nodecount=2, Source={900:0}, source=0, Weight={903:0}, x=1, y=0] [L34] COND TRUE i < nodecount [L36] j = 0 VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=1, INFINITY=899, j=0, nodecount=2, source=0, Source={900:0}, Weight={903:0}, x=1, y=0] [L36] COND TRUE j < edgecount [L38] EXPR Dest[j] [L38] x = Dest[j] [L39] EXPR Source[j] [L39] y = Source[j] [L40] EXPR distance[x] [L40] EXPR distance[y] [L40] EXPR Weight[j] VAL [Dest={904:0}, distance={901:0}, distance[x]=-1, distance[y]=0, edgecount=1, i=1, INFINITY=899, j=0, nodecount=2, Source={900:0}, source=0, Weight={903:0}, Weight[j]=0, x=1, y=0] [L40] COND FALSE !(distance[x] > distance[y] + Weight[j]) [L36] j++ VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=1, INFINITY=899, j=1, nodecount=2, source=0, Source={900:0}, Weight={903:0}, x=1, y=0] [L36] COND FALSE !(j < edgecount) VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=1, INFINITY=899, j=1, nodecount=2, source=0, Source={900:0}, Weight={903:0}, x=1, y=0] [L34] i++ VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=2, INFINITY=899, j=1, nodecount=2, source=0, Source={900:0}, Weight={903:0}, x=1, y=0] [L34] COND FALSE !(i < nodecount) VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=2, INFINITY=899, j=1, nodecount=2, source=0, Source={900:0}, Weight={903:0}, x=1, y=0] [L46] i = 0 VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=0, INFINITY=899, j=1, nodecount=2, source=0, Source={900:0}, Weight={903:0}, x=1, y=0] [L46] COND TRUE i < edgecount [L48] EXPR Dest[i] [L48] x = Dest[i] [L49] EXPR Source[i] [L49] y = Source[i] [L50] EXPR distance[x] [L50] EXPR distance[y] [L50] EXPR Weight[i] VAL [Dest={904:0}, distance={901:0}, distance[x]=-1, distance[y]=0, edgecount=1, i=0, INFINITY=899, j=1, nodecount=2, Source={900:0}, source=0, Weight={903:0}, Weight[i]=0, x=1, y=0] [L50] COND FALSE !(distance[x] > distance[y] + Weight[i]) [L46] i++ VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=1, INFINITY=899, j=1, nodecount=2, source=0, Source={900:0}, Weight={903:0}, x=1, y=0] [L46] COND FALSE !(i < edgecount) VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=1, INFINITY=899, j=1, nodecount=2, source=0, Source={900:0}, Weight={903:0}, x=1, y=0] [L56] i = 0 VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=0, INFINITY=899, j=1, nodecount=2, Source={900:0}, source=0, Weight={903:0}, x=1, y=0] [L56] COND TRUE i < nodecount [L58] EXPR distance[i] VAL [Dest={904:0}, distance={901:0}, distance[i]=0, edgecount=1, i=0, INFINITY=899, j=1, nodecount=2, source=0, Source={900:0}, Weight={903:0}, x=1, y=0] [L58] CALL __VERIFIER_assert(distance[i]>=0) VAL [\old(cond)=1, INFINITY=899] [L6] COND FALSE !(!(cond)) VAL [\old(cond)=1, cond=1, INFINITY=899] [L58] RET __VERIFIER_assert(distance[i]>=0) VAL [Dest={904:0}, distance={901:0}, distance[i]=0, edgecount=1, i=0, INFINITY=899, j=1, nodecount=2, Source={900:0}, source=0, Weight={903:0}, x=1, y=0] [L56] i++ VAL [Dest={904:0}, distance={901:0}, edgecount=1, i=1, INFINITY=899, j=1, nodecount=2, source=0, Source={900:0}, Weight={903:0}, x=1, y=0] [L56] COND TRUE i < nodecount [L58] EXPR distance[i] VAL [Dest={904:0}, distance={901:0}, distance[i]=-1, edgecount=1, i=1, INFINITY=899, j=1, nodecount=2, source=0, Source={900:0}, Weight={903:0}, x=1, y=0] [L58] CALL __VERIFIER_assert(distance[i]>=0) VAL [\old(cond)=0, INFINITY=899] [L6] COND TRUE !(cond) VAL [\old(cond)=0, cond=0, INFINITY=899] [L7] __VERIFIER_error() VAL [\old(cond)=0, cond=0, INFINITY=899] - StatisticsResult: Ultimate Automizer benchmark data CFG has 4 procedures, 37 locations, 1 error locations. UNSAFE Result, 762.9s OverallTime, 23 OverallIterations, 4 TraceHistogramMax, 695.5s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: 1300 SDtfs, 4680 SDslu, 7858 SDs, 0 SdLazy, 14528 SolverSat, 3471 SolverUnsat, 137 SolverUnknown, 0 SolverNotchecked, 287.6s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 1351 GetRequests, 602 SyntacticMatches, 27 SemanticMatches, 722 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 23908 ImplicationChecksByTransitivity, 459.1s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=780occurred in iteration=22, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s AbstIntTime, 0 AbstIntIterations, 0 AbstIntStrong, NaN AbsIntWeakeningRatio, NaN AbsIntAvgWeakeningVarsNumRemoved, NaN AbsIntAvgWeakenedConjuncts, 0.0s DumpTime, AutomataMinimizationStatistics: 1.4s AutomataMinimizationTime, 22 MinimizatonAttempts, 4732 StatesRemovedByMinimization, 22 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TraceCheckStatistics: 0.1s SsaConstructionTime, 1.0s SatisfiabilityAnalysisTime, 63.4s InterpolantComputationTime, 1552 NumberOfCodeBlocks, 1546 NumberOfCodeBlocksAsserted, 70 NumberOfCheckSat, 1463 ConstructedInterpolants, 96 QuantifiedInterpolants, 675799 SizeOfPredicates, 153 NumberOfNonLiveVariables, 4827 ConjunctsInSsa, 353 ConjunctsInUnsatCore, 41 InterpolantComputations, 3 PerfectInterpolantSequences, 277/724 InterpolantCoveringCapability, InvariantSynthesisStatistics: No data available, InterpolantConsolidationStatistics: No data available, ReuseStatistics: No data available RESULT: Ultimate proved your program to be incorrect! Received shutdown request...