./Ultimate.py --spec ../../sv-benchmarks/c/properties/unreach-call.prp --file ../../sv-benchmarks/c/reducercommutativity/rangesum10_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_b98a0242-ee8a-4f92-a2f9-1da3047ed98d/bin-2019/uautomizer/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_b98a0242-ee8a-4f92-a2f9-1da3047ed98d/bin-2019/uautomizer/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_b98a0242-ee8a-4f92-a2f9-1da3047ed98d/bin-2019/uautomizer/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_b98a0242-ee8a-4f92-a2f9-1da3047ed98d/bin-2019/uautomizer/config/AutomizerReach.xml -i ../../sv-benchmarks/c/reducercommutativity/rangesum10_false-unreach-call_true-termination.i -s /tmp/vcloud-vcloud-master/worker/working_dir_b98a0242-ee8a-4f92-a2f9-1da3047ed98d/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_b98a0242-ee8a-4f92-a2f9-1da3047ed98d/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 af68da58954d6230e3860792840330ae6de845ab ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 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 14:19:41,634 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 14:19:41,635 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 14:19:41,642 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 14:19:41,642 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 14:19:41,643 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 14:19:41,643 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 14:19:41,644 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 14:19:41,645 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 14:19:41,646 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 14:19:41,647 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 14:19:41,647 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 14:19:41,648 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 14:19:41,648 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 14:19:41,649 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 14:19:41,649 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 14:19:41,650 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 14:19:41,651 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 14:19:41,652 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 14:19:41,653 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 14:19:41,654 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 14:19:41,655 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 14:19:41,656 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 14:19:41,656 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 14:19:41,657 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 14:19:41,657 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 14:19:41,658 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 14:19:41,658 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 14:19:41,659 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 14:19:41,660 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 14:19:41,660 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 14:19:41,660 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 14:19:41,660 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 14:19:41,660 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 14:19:41,661 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 14:19:41,662 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 14:19:41,662 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_b98a0242-ee8a-4f92-a2f9-1da3047ed98d/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Default.epf [2018-11-23 14:19:41,672 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 14:19:41,672 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 14:19:41,672 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 14:19:41,672 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 14:19:41,673 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 14:19:41,673 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 14:19:41,673 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 14:19:41,673 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 14:19:41,673 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 14:19:41,674 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 14:19:41,674 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 14:19:41,674 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 14:19:41,674 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 14:19:41,674 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 14:19:41,674 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 14:19:41,675 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 14:19:41,675 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 14:19:41,675 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 14:19:41,675 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 14:19:41,675 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 14:19:41,675 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 14:19:41,675 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 14:19:41,676 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 14:19:41,676 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 14:19:41,676 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 14:19:41,676 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 14:19:41,676 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 14:19:41,676 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-23 14:19:41,676 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 14:19:41,676 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-23 14:19:41,676 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_b98a0242-ee8a-4f92-a2f9-1da3047ed98d/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 -> af68da58954d6230e3860792840330ae6de845ab [2018-11-23 14:19:41,701 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 14:19:41,709 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 14:19:41,711 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 14:19:41,712 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 14:19:41,712 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 14:19:41,713 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_b98a0242-ee8a-4f92-a2f9-1da3047ed98d/bin-2019/uautomizer/../../sv-benchmarks/c/reducercommutativity/rangesum10_false-unreach-call_true-termination.i [2018-11-23 14:19:41,753 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_b98a0242-ee8a-4f92-a2f9-1da3047ed98d/bin-2019/uautomizer/data/57589c4f1/49c9c00a14e543299ef69eda1f1b6a1e/FLAG2b084fc4b [2018-11-23 14:19:42,110 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 14:19:42,111 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_b98a0242-ee8a-4f92-a2f9-1da3047ed98d/sv-benchmarks/c/reducercommutativity/rangesum10_false-unreach-call_true-termination.i [2018-11-23 14:19:42,115 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_b98a0242-ee8a-4f92-a2f9-1da3047ed98d/bin-2019/uautomizer/data/57589c4f1/49c9c00a14e543299ef69eda1f1b6a1e/FLAG2b084fc4b [2018-11-23 14:19:42,127 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_b98a0242-ee8a-4f92-a2f9-1da3047ed98d/bin-2019/uautomizer/data/57589c4f1/49c9c00a14e543299ef69eda1f1b6a1e [2018-11-23 14:19:42,130 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 14:19:42,131 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 14:19:42,132 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 14:19:42,132 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 14:19:42,135 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 14:19:42,136 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 02:19:42" (1/1) ... [2018-11-23 14:19:42,139 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@16069910 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:19:42, skipping insertion in model container [2018-11-23 14:19:42,139 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 02:19:42" (1/1) ... [2018-11-23 14:19:42,148 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 14:19:42,167 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 14:19:42,304 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 14:19:42,309 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 14:19:42,325 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 14:19:42,334 INFO L195 MainTranslator]: Completed translation [2018-11-23 14:19:42,334 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:19:42 WrapperNode [2018-11-23 14:19:42,334 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 14:19:42,335 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 14:19:42,335 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 14:19:42,335 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 14:19:42,340 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:19:42" (1/1) ... [2018-11-23 14:19:42,347 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:19:42" (1/1) ... [2018-11-23 14:19:42,351 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 14:19:42,352 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 14:19:42,352 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 14:19:42,352 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 14:19:42,357 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:19:42" (1/1) ... [2018-11-23 14:19:42,358 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:19:42" (1/1) ... [2018-11-23 14:19:42,359 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:19:42" (1/1) ... [2018-11-23 14:19:42,359 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:19:42" (1/1) ... [2018-11-23 14:19:42,364 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:19:42" (1/1) ... [2018-11-23 14:19:42,404 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:19:42" (1/1) ... [2018-11-23 14:19:42,405 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:19:42" (1/1) ... [2018-11-23 14:19:42,407 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 14:19:42,408 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 14:19:42,408 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 14:19:42,408 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 14:19:42,408 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:19:42" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_b98a0242-ee8a-4f92-a2f9-1da3047ed98d/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 14:19:42,446 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-23 14:19:42,446 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 14:19:42,447 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 14:19:42,447 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 14:19:42,447 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 14:19:42,447 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 14:19:42,447 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-23 14:19:42,447 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 14:19:42,447 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 14:19:42,447 INFO L130 BoogieDeclarations]: Found specification of procedure rangesum [2018-11-23 14:19:42,447 INFO L138 BoogieDeclarations]: Found implementation of procedure rangesum [2018-11-23 14:19:42,448 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 14:19:42,448 INFO L130 BoogieDeclarations]: Found specification of procedure init_nondet [2018-11-23 14:19:42,448 INFO L138 BoogieDeclarations]: Found implementation of procedure init_nondet [2018-11-23 14:19:42,593 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 14:19:42,593 INFO L280 CfgBuilder]: Removed 3 assue(true) statements. [2018-11-23 14:19:42,593 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 02:19:42 BoogieIcfgContainer [2018-11-23 14:19:42,593 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 14:19:42,594 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 14:19:42,594 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 14:19:42,596 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 14:19:42,596 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 02:19:42" (1/3) ... [2018-11-23 14:19:42,597 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1637a8c9 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 02:19:42, skipping insertion in model container [2018-11-23 14:19:42,597 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:19:42" (2/3) ... [2018-11-23 14:19:42,597 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1637a8c9 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 02:19:42, skipping insertion in model container [2018-11-23 14:19:42,597 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 02:19:42" (3/3) ... [2018-11-23 14:19:42,599 INFO L112 eAbstractionObserver]: Analyzing ICFG rangesum10_false-unreach-call_true-termination.i [2018-11-23 14:19:42,606 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 14:19:42,610 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 14:19:42,619 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 14:19:42,637 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 14:19:42,638 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 14:19:42,638 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 14:19:42,638 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 14:19:42,638 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 14:19:42,638 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 14:19:42,638 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 14:19:42,638 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 14:19:42,638 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 14:19:42,650 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states. [2018-11-23 14:19:42,654 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2018-11-23 14:19:42,654 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 14:19:42,654 INFO L402 BasicCegarLoop]: trace histogram [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 14:19:42,656 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 14:19:42,659 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 14:19:42,659 INFO L82 PathProgramCache]: Analyzing trace with hash -332770493, now seen corresponding path program 1 times [2018-11-23 14:19:42,660 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 14:19:42,660 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 14:19:42,695 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 14:19:42,696 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 14:19:42,696 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 14:19:42,730 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 14:19:42,759 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unsupported non-linear arithmetic [2018-11-23 14:19:42,760 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 14:19:42,760 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_b98a0242-ee8a-4f92-a2f9-1da3047ed98d/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 14:19:42,770 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 14:19:42,809 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 14:19:42,815 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 14:19:42,834 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 11 trivial. 0 not checked. [2018-11-23 14:19:42,853 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 14:19:42,854 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 14:19:42,856 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 14:19:42,865 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 14:19:42,865 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 14:19:42,867 INFO L87 Difference]: Start difference. First operand 37 states. Second operand 2 states. [2018-11-23 14:19:42,884 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 14:19:42,884 INFO L93 Difference]: Finished difference Result 64 states and 85 transitions. [2018-11-23 14:19:42,884 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 14:19:42,885 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 37 [2018-11-23 14:19:42,886 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 14:19:42,892 INFO L225 Difference]: With dead ends: 64 [2018-11-23 14:19:42,892 INFO L226 Difference]: Without dead ends: 32 [2018-11-23 14:19:42,894 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 36 GetRequests, 36 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 14:19:42,908 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2018-11-23 14:19:42,920 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 32. [2018-11-23 14:19:42,921 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 32 states. [2018-11-23 14:19:42,922 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 38 transitions. [2018-11-23 14:19:42,923 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 38 transitions. Word has length 37 [2018-11-23 14:19:42,923 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 14:19:42,923 INFO L480 AbstractCegarLoop]: Abstraction has 32 states and 38 transitions. [2018-11-23 14:19:42,923 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 14:19:42,923 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 38 transitions. [2018-11-23 14:19:42,925 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2018-11-23 14:19:42,925 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 14:19:42,925 INFO L402 BasicCegarLoop]: trace histogram [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 14:19:42,925 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 14:19:42,925 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 14:19:42,925 INFO L82 PathProgramCache]: Analyzing trace with hash -991975144, now seen corresponding path program 1 times [2018-11-23 14:19:42,925 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 14:19:42,925 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 14:19:42,926 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 14:19:42,926 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 14:19:42,926 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 14:19:42,936 ERROR L235 seRefinementStrategy]: Caught known exception: Unsupported non-linear arithmetic [2018-11-23 14:19:42,936 INFO L258 seRefinementStrategy]: Advancing trace checker [2018-11-23 14:19:42,937 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_b98a0242-ee8a-4f92-a2f9-1da3047ed98d/bin-2019/uautomizer/z3 Starting monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2018-11-23 14:19:42,947 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 14:19:42,985 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 14:19:42,988 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 14:19:43,010 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2018-11-23 14:19:43,030 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 14:19:43,030 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 14:19:43,031 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 14:19:43,031 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 14:19:43,032 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 14:19:43,032 INFO L87 Difference]: Start difference. First operand 32 states and 38 transitions. Second operand 3 states. [2018-11-23 14:19:43,054 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 14:19:43,054 INFO L93 Difference]: Finished difference Result 56 states and 68 transitions. [2018-11-23 14:19:43,054 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 14:19:43,055 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 37 [2018-11-23 14:19:43,055 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 14:19:43,055 INFO L225 Difference]: With dead ends: 56 [2018-11-23 14:19:43,056 INFO L226 Difference]: Without dead ends: 34 [2018-11-23 14:19:43,057 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 36 GetRequests, 35 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 14:19:43,057 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 34 states. [2018-11-23 14:19:43,062 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 34 to 33. [2018-11-23 14:19:43,062 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 33 states. [2018-11-23 14:19:43,063 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 39 transitions. [2018-11-23 14:19:43,063 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 39 transitions. Word has length 37 [2018-11-23 14:19:43,063 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 14:19:43,064 INFO L480 AbstractCegarLoop]: Abstraction has 33 states and 39 transitions. [2018-11-23 14:19:43,064 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 14:19:43,064 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 39 transitions. [2018-11-23 14:19:43,065 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2018-11-23 14:19:43,065 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 14:19:43,065 INFO L402 BasicCegarLoop]: trace histogram [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, 1, 1] [2018-11-23 14:19:43,065 INFO L423 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 14:19:43,067 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 14:19:43,067 INFO L82 PathProgramCache]: Analyzing trace with hash 479004822, now seen corresponding path program 1 times [2018-11-23 14:19:43,068 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 14:19:43,068 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 14:19:43,069 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 14:19:43,070 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 14:19:43,070 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 14:19:43,083 ERROR L235 seRefinementStrategy]: Caught known exception: Unsupported non-linear arithmetic [2018-11-23 14:19:43,084 INFO L258 seRefinementStrategy]: Advancing trace checker [2018-11-23 14:19:43,084 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_b98a0242-ee8a-4f92-a2f9-1da3047ed98d/bin-2019/uautomizer/z3 Starting monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2018-11-23 14:19:43,098 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 14:19:43,124 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 14:19:43,126 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 14:19:43,153 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2018-11-23 14:19:43,169 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 14:19:43,169 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 14:19:43,170 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 14:19:43,170 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 14:19:43,171 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 14:19:43,171 INFO L87 Difference]: Start difference. First operand 33 states and 39 transitions. Second operand 3 states. [2018-11-23 14:19:43,189 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 14:19:43,189 INFO L93 Difference]: Finished difference Result 57 states and 75 transitions. [2018-11-23 14:19:43,190 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 14:19:43,190 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 39 [2018-11-23 14:19:43,190 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 14:19:43,192 INFO L225 Difference]: With dead ends: 57 [2018-11-23 14:19:43,192 INFO L226 Difference]: Without dead ends: 39 [2018-11-23 14:19:43,192 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 38 GetRequests, 37 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 14:19:43,193 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 39 states. [2018-11-23 14:19:43,197 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 39 to 37. [2018-11-23 14:19:43,198 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 37 states. [2018-11-23 14:19:43,199 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 45 transitions. [2018-11-23 14:19:43,199 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 45 transitions. Word has length 39 [2018-11-23 14:19:43,200 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 14:19:43,200 INFO L480 AbstractCegarLoop]: Abstraction has 37 states and 45 transitions. [2018-11-23 14:19:43,200 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 14:19:43,200 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 45 transitions. [2018-11-23 14:19:43,201 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2018-11-23 14:19:43,201 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 14:19:43,201 INFO L402 BasicCegarLoop]: trace histogram [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, 1, 1] [2018-11-23 14:19:43,201 INFO L423 AbstractCegarLoop]: === Iteration 4 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 14:19:43,201 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 14:19:43,201 INFO L82 PathProgramCache]: Analyzing trace with hash -22870507, now seen corresponding path program 1 times [2018-11-23 14:19:43,203 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 14:19:43,203 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 14:19:43,204 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 14:19:43,204 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 14:19:43,204 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 14:19:43,220 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 14:19:43,243 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 0 proven. 8 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2018-11-23 14:19:43,243 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 14:19:43,244 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_b98a0242-ee8a-4f92-a2f9-1da3047ed98d/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 14:19:43,250 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 14:19:43,274 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 14:19:43,276 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 14:19:43,284 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-23 14:19:43,308 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 1 imperfect interpolant sequences. [2018-11-23 14:19:43,308 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [3] total 4 [2018-11-23 14:19:43,309 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-23 14:19:43,309 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-23 14:19:43,309 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-11-23 14:19:43,309 INFO L87 Difference]: Start difference. First operand 37 states and 45 transitions. Second operand 4 states. [2018-11-23 14:19:43,335 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 14:19:43,335 INFO L93 Difference]: Finished difference Result 62 states and 81 transitions. [2018-11-23 14:19:43,335 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 14:19:43,335 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 39 [2018-11-23 14:19:43,336 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 14:19:43,336 INFO L225 Difference]: With dead ends: 62 [2018-11-23 14:19:43,336 INFO L226 Difference]: Without dead ends: 40 [2018-11-23 14:19:43,337 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 41 GetRequests, 39 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-11-23 14:19:43,337 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 40 states. [2018-11-23 14:19:43,340 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 40 to 39. [2018-11-23 14:19:43,340 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 39 states. [2018-11-23 14:19:43,341 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 47 transitions. [2018-11-23 14:19:43,341 INFO L78 Accepts]: Start accepts. Automaton has 39 states and 47 transitions. Word has length 39 [2018-11-23 14:19:43,341 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 14:19:43,342 INFO L480 AbstractCegarLoop]: Abstraction has 39 states and 47 transitions. [2018-11-23 14:19:43,342 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-23 14:19:43,343 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 47 transitions. [2018-11-23 14:19:43,343 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2018-11-23 14:19:43,344 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 14:19:43,344 INFO L402 BasicCegarLoop]: trace histogram [3, 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, 1, 1] [2018-11-23 14:19:43,344 INFO L423 AbstractCegarLoop]: === Iteration 5 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 14:19:43,344 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 14:19:43,344 INFO L82 PathProgramCache]: Analyzing trace with hash 496221539, now seen corresponding path program 1 times [2018-11-23 14:19:43,344 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 14:19:43,345 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 14:19:43,345 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 14:19:43,345 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 14:19:43,347 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 14:19:43,356 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 14:19:43,391 INFO L134 CoverageAnalysis]: Checked inductivity of 34 backedges. 1 proven. 12 refuted. 0 times theorem prover too weak. 21 trivial. 0 not checked. [2018-11-23 14:19:43,391 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 14:19:43,392 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_b98a0242-ee8a-4f92-a2f9-1da3047ed98d/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 14:19:43,401 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 14:19:43,430 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 14:19:43,433 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 14:19:43,447 INFO L134 CoverageAnalysis]: Checked inductivity of 34 backedges. 20 proven. 0 refuted. 0 times theorem prover too weak. 14 trivial. 0 not checked. [2018-11-23 14:19:43,476 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 1 imperfect interpolant sequences. [2018-11-23 14:19:43,476 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [4] total 5 [2018-11-23 14:19:43,476 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2018-11-23 14:19:43,476 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2018-11-23 14:19:43,476 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2018-11-23 14:19:43,477 INFO L87 Difference]: Start difference. First operand 39 states and 47 transitions. Second operand 5 states. [2018-11-23 14:19:43,552 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 14:19:43,552 INFO L93 Difference]: Finished difference Result 68 states and 88 transitions. [2018-11-23 14:19:43,553 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-11-23 14:19:43,553 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 48 [2018-11-23 14:19:43,553 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 14:19:43,554 INFO L225 Difference]: With dead ends: 68 [2018-11-23 14:19:43,554 INFO L226 Difference]: Without dead ends: 44 [2018-11-23 14:19:43,554 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 51 GetRequests, 48 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2018-11-23 14:19:43,555 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2018-11-23 14:19:43,558 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 38. [2018-11-23 14:19:43,558 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 38 states. [2018-11-23 14:19:43,562 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 44 transitions. [2018-11-23 14:19:43,562 INFO L78 Accepts]: Start accepts. Automaton has 38 states and 44 transitions. Word has length 48 [2018-11-23 14:19:43,562 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 14:19:43,562 INFO L480 AbstractCegarLoop]: Abstraction has 38 states and 44 transitions. [2018-11-23 14:19:43,563 INFO L481 AbstractCegarLoop]: Interpolant automaton has 5 states. [2018-11-23 14:19:43,563 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 44 transitions. [2018-11-23 14:19:43,564 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2018-11-23 14:19:43,564 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 14:19:43,564 INFO L402 BasicCegarLoop]: trace histogram [6, 6, 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, 1, 1, 1, 1] [2018-11-23 14:19:43,564 INFO L423 AbstractCegarLoop]: === Iteration 6 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 14:19:43,565 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 14:19:43,565 INFO L82 PathProgramCache]: Analyzing trace with hash -1681907214, now seen corresponding path program 1 times [2018-11-23 14:19:43,565 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 14:19:43,565 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 14:19:43,566 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 14:19:43,566 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 14:19:43,566 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 14:19:43,577 ERROR L235 seRefinementStrategy]: Caught known exception: Unsupported non-linear arithmetic [2018-11-23 14:19:43,577 INFO L258 seRefinementStrategy]: Advancing trace checker [2018-11-23 14:19:43,578 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_b98a0242-ee8a-4f92-a2f9-1da3047ed98d/bin-2019/uautomizer/z3 Starting monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2018-11-23 14:19:43,591 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 14:19:43,619 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 14:19:43,622 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 14:19:43,644 INFO L134 CoverageAnalysis]: Checked inductivity of 80 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 79 trivial. 0 not checked. [2018-11-23 14:19:43,665 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2018-11-23 14:19:43,666 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4] total 4 [2018-11-23 14:19:43,666 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-23 14:19:43,666 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-23 14:19:43,667 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-11-23 14:19:43,667 INFO L87 Difference]: Start difference. First operand 38 states and 44 transitions. Second operand 4 states. [2018-11-23 14:19:43,697 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 14:19:43,698 INFO L93 Difference]: Finished difference Result 68 states and 80 transitions. [2018-11-23 14:19:43,700 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-23 14:19:43,700 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 59 [2018-11-23 14:19:43,700 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 14:19:43,701 INFO L225 Difference]: With dead ends: 68 [2018-11-23 14:19:43,701 INFO L226 Difference]: Without dead ends: 41 [2018-11-23 14:19:43,702 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 58 GetRequests, 56 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-11-23 14:19:43,702 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2018-11-23 14:19:43,707 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 40. [2018-11-23 14:19:43,707 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 40 states. [2018-11-23 14:19:43,708 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 46 transitions. [2018-11-23 14:19:43,709 INFO L78 Accepts]: Start accepts. Automaton has 40 states and 46 transitions. Word has length 59 [2018-11-23 14:19:43,709 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 14:19:43,709 INFO L480 AbstractCegarLoop]: Abstraction has 40 states and 46 transitions. [2018-11-23 14:19:43,709 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-23 14:19:43,709 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 46 transitions. [2018-11-23 14:19:43,710 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2018-11-23 14:19:43,710 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 14:19:43,710 INFO L402 BasicCegarLoop]: trace histogram [6, 6, 3, 3, 3, 3, 3, 3, 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 14:19:43,711 INFO L423 AbstractCegarLoop]: === Iteration 7 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 14:19:43,711 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 14:19:43,711 INFO L82 PathProgramCache]: Analyzing trace with hash 804630256, now seen corresponding path program 2 times [2018-11-23 14:19:43,711 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 14:19:43,711 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 14:19:43,712 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 14:19:43,712 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 14:19:43,712 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 14:19:43,724 ERROR L235 seRefinementStrategy]: Caught known exception: Unsupported non-linear arithmetic [2018-11-23 14:19:43,724 INFO L258 seRefinementStrategy]: Advancing trace checker [2018-11-23 14:19:43,724 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_b98a0242-ee8a-4f92-a2f9-1da3047ed98d/bin-2019/uautomizer/z3 Starting monitored process 8 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 8 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2018-11-23 14:19:43,738 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 14:19:43,775 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 14:19:43,775 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 14:19:43,779 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 14:19:43,810 INFO L134 CoverageAnalysis]: Checked inductivity of 83 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 79 trivial. 0 not checked. [2018-11-23 14:19:43,841 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2018-11-23 14:19:43,841 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5] total 5 [2018-11-23 14:19:43,841 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2018-11-23 14:19:43,842 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2018-11-23 14:19:43,842 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2018-11-23 14:19:43,842 INFO L87 Difference]: Start difference. First operand 40 states and 46 transitions. Second operand 5 states. [2018-11-23 14:19:43,876 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 14:19:43,876 INFO L93 Difference]: Finished difference Result 70 states and 82 transitions. [2018-11-23 14:19:43,877 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-11-23 14:19:43,877 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 61 [2018-11-23 14:19:43,878 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 14:19:43,878 INFO L225 Difference]: With dead ends: 70 [2018-11-23 14:19:43,878 INFO L226 Difference]: Without dead ends: 43 [2018-11-23 14:19:43,879 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 60 GetRequests, 57 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2018-11-23 14:19:43,879 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2018-11-23 14:19:43,885 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 42. [2018-11-23 14:19:43,885 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 42 states. [2018-11-23 14:19:43,885 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 48 transitions. [2018-11-23 14:19:43,886 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 48 transitions. Word has length 61 [2018-11-23 14:19:43,887 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 14:19:43,887 INFO L480 AbstractCegarLoop]: Abstraction has 42 states and 48 transitions. [2018-11-23 14:19:43,887 INFO L481 AbstractCegarLoop]: Interpolant automaton has 5 states. [2018-11-23 14:19:43,887 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 48 transitions. [2018-11-23 14:19:43,888 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 64 [2018-11-23 14:19:43,888 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 14:19:43,888 INFO L402 BasicCegarLoop]: trace histogram [6, 6, 3, 3, 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, 1, 1] [2018-11-23 14:19:43,888 INFO L423 AbstractCegarLoop]: === Iteration 8 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 14:19:43,889 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 14:19:43,889 INFO L82 PathProgramCache]: Analyzing trace with hash -1929644946, now seen corresponding path program 3 times [2018-11-23 14:19:43,889 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 14:19:43,889 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 14:19:43,893 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 14:19:43,893 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 14:19:43,893 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 14:19:43,904 ERROR L235 seRefinementStrategy]: Caught known exception: Unsupported non-linear arithmetic [2018-11-23 14:19:43,904 INFO L258 seRefinementStrategy]: Advancing trace checker [2018-11-23 14:19:43,905 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_b98a0242-ee8a-4f92-a2f9-1da3047ed98d/bin-2019/uautomizer/z3 Starting monitored process 9 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 9 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2018-11-23 14:19:43,923 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 14:19:43,959 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2018-11-23 14:19:43,960 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 14:19:43,963 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 14:19:43,991 INFO L134 CoverageAnalysis]: Checked inductivity of 88 backedges. 33 proven. 2 refuted. 0 times theorem prover too weak. 53 trivial. 0 not checked. [2018-11-23 14:19:44,009 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2018-11-23 14:19:44,009 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5] total 5 [2018-11-23 14:19:44,010 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2018-11-23 14:19:44,010 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2018-11-23 14:19:44,010 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2018-11-23 14:19:44,010 INFO L87 Difference]: Start difference. First operand 42 states and 48 transitions. Second operand 5 states. [2018-11-23 14:19:44,040 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 14:19:44,040 INFO L93 Difference]: Finished difference Result 70 states and 86 transitions. [2018-11-23 14:19:44,041 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-11-23 14:19:44,041 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 63 [2018-11-23 14:19:44,041 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 14:19:44,042 INFO L225 Difference]: With dead ends: 70 [2018-11-23 14:19:44,043 INFO L226 Difference]: Without dead ends: 47 [2018-11-23 14:19:44,043 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 62 GetRequests, 59 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2018-11-23 14:19:44,043 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2018-11-23 14:19:44,049 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 45. [2018-11-23 14:19:44,049 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 45 states. [2018-11-23 14:19:44,050 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 52 transitions. [2018-11-23 14:19:44,050 INFO L78 Accepts]: Start accepts. Automaton has 45 states and 52 transitions. Word has length 63 [2018-11-23 14:19:44,050 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 14:19:44,050 INFO L480 AbstractCegarLoop]: Abstraction has 45 states and 52 transitions. [2018-11-23 14:19:44,051 INFO L481 AbstractCegarLoop]: Interpolant automaton has 5 states. [2018-11-23 14:19:44,051 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 52 transitions. [2018-11-23 14:19:44,052 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 73 [2018-11-23 14:19:44,052 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 14:19:44,052 INFO L402 BasicCegarLoop]: trace histogram [9, 9, 6, 3, 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, 1, 1] [2018-11-23 14:19:44,052 INFO L423 AbstractCegarLoop]: === Iteration 9 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 14:19:44,053 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 14:19:44,053 INFO L82 PathProgramCache]: Analyzing trace with hash -575638740, now seen corresponding path program 4 times [2018-11-23 14:19:44,053 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 14:19:44,053 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 14:19:44,054 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 14:19:44,054 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 14:19:44,054 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 14:19:44,066 ERROR L235 seRefinementStrategy]: Caught known exception: Unsupported non-linear arithmetic [2018-11-23 14:19:44,066 INFO L258 seRefinementStrategy]: Advancing trace checker [2018-11-23 14:19:44,066 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_b98a0242-ee8a-4f92-a2f9-1da3047ed98d/bin-2019/uautomizer/z3 Starting monitored process 10 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 10 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2018-11-23 14:19:44,074 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-23 14:19:44,110 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-23 14:19:44,110 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 14:19:44,112 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 14:19:44,145 INFO L134 CoverageAnalysis]: Checked inductivity of 160 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 151 trivial. 0 not checked. [2018-11-23 14:19:44,163 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2018-11-23 14:19:44,163 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [6] total 6 [2018-11-23 14:19:44,164 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-23 14:19:44,164 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-23 14:19:44,164 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=15, Unknown=0, NotChecked=0, Total=30 [2018-11-23 14:19:44,164 INFO L87 Difference]: Start difference. First operand 45 states and 52 transitions. Second operand 6 states. [2018-11-23 14:19:44,187 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 14:19:44,187 INFO L93 Difference]: Finished difference Result 78 states and 92 transitions. [2018-11-23 14:19:44,188 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-23 14:19:44,189 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 72 [2018-11-23 14:19:44,189 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 14:19:44,189 INFO L225 Difference]: With dead ends: 78 [2018-11-23 14:19:44,189 INFO L226 Difference]: Without dead ends: 48 [2018-11-23 14:19:44,190 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 71 GetRequests, 67 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=15, Invalid=15, Unknown=0, NotChecked=0, Total=30 [2018-11-23 14:19:44,190 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2018-11-23 14:19:44,193 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 47. [2018-11-23 14:19:44,193 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 47 states. [2018-11-23 14:19:44,194 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 47 states to 47 states and 54 transitions. [2018-11-23 14:19:44,194 INFO L78 Accepts]: Start accepts. Automaton has 47 states and 54 transitions. Word has length 72 [2018-11-23 14:19:44,194 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 14:19:44,194 INFO L480 AbstractCegarLoop]: Abstraction has 47 states and 54 transitions. [2018-11-23 14:19:44,194 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-23 14:19:44,194 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 54 transitions. [2018-11-23 14:19:44,197 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 75 [2018-11-23 14:19:44,197 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 14:19:44,197 INFO L402 BasicCegarLoop]: trace histogram [9, 9, 6, 4, 4, 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, 1, 1] [2018-11-23 14:19:44,198 INFO L423 AbstractCegarLoop]: === Iteration 10 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 14:19:44,198 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 14:19:44,199 INFO L82 PathProgramCache]: Analyzing trace with hash -336825618, now seen corresponding path program 5 times [2018-11-23 14:19:44,199 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 14:19:44,199 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 14:19:44,200 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 14:19:44,200 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 14:19:44,200 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 14:19:44,213 ERROR L235 seRefinementStrategy]: Caught known exception: Unsupported non-linear arithmetic [2018-11-23 14:19:44,213 INFO L258 seRefinementStrategy]: Advancing trace checker [2018-11-23 14:19:44,213 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_b98a0242-ee8a-4f92-a2f9-1da3047ed98d/bin-2019/uautomizer/z3 Starting monitored process 11 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 11 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2018-11-23 14:19:44,232 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-23 14:19:44,281 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 4 check-sat command(s) [2018-11-23 14:19:44,281 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 14:19:44,283 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 14:19:44,294 INFO L134 CoverageAnalysis]: Checked inductivity of 167 backedges. 101 proven. 2 refuted. 0 times theorem prover too weak. 64 trivial. 0 not checked. [2018-11-23 14:19:44,313 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2018-11-23 14:19:44,313 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4] total 4 [2018-11-23 14:19:44,313 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-23 14:19:44,314 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-23 14:19:44,314 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-11-23 14:19:44,314 INFO L87 Difference]: Start difference. First operand 47 states and 54 transitions. Second operand 4 states. [2018-11-23 14:19:44,330 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 14:19:44,330 INFO L93 Difference]: Finished difference Result 77 states and 93 transitions. [2018-11-23 14:19:44,330 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-23 14:19:44,331 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 74 [2018-11-23 14:19:44,331 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 14:19:44,331 INFO L225 Difference]: With dead ends: 77 [2018-11-23 14:19:44,331 INFO L226 Difference]: Without dead ends: 51 [2018-11-23 14:19:44,332 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 73 GetRequests, 71 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-11-23 14:19:44,332 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2018-11-23 14:19:44,335 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 50. [2018-11-23 14:19:44,336 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 50 states. [2018-11-23 14:19:44,336 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 57 transitions. [2018-11-23 14:19:44,336 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 57 transitions. Word has length 74 [2018-11-23 14:19:44,337 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 14:19:44,337 INFO L480 AbstractCegarLoop]: Abstraction has 50 states and 57 transitions. [2018-11-23 14:19:44,337 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-23 14:19:44,337 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 57 transitions. [2018-11-23 14:19:44,338 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 84 [2018-11-23 14:19:44,338 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 14:19:44,338 INFO L402 BasicCegarLoop]: trace histogram [12, 12, 6, 6, 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, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 14:19:44,338 INFO L423 AbstractCegarLoop]: === Iteration 11 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 14:19:44,338 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 14:19:44,338 INFO L82 PathProgramCache]: Analyzing trace with hash -1535873938, now seen corresponding path program 6 times [2018-11-23 14:19:44,338 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 14:19:44,339 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 14:19:44,339 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 14:19:44,339 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 14:19:44,339 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 14:19:44,348 ERROR L235 seRefinementStrategy]: Caught known exception: Unsupported non-linear arithmetic [2018-11-23 14:19:44,348 INFO L258 seRefinementStrategy]: Advancing trace checker [2018-11-23 14:19:44,348 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_b98a0242-ee8a-4f92-a2f9-1da3047ed98d/bin-2019/uautomizer/z3 Starting monitored process 12 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 12 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2018-11-23 14:19:44,357 INFO L103 rtionOrderModulation]: Keeping assertion order MIX_INSIDE_OUTSIDE [2018-11-23 14:19:44,394 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2018-11-23 14:19:44,395 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 14:19:44,397 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 14:19:44,425 INFO L134 CoverageAnalysis]: Checked inductivity of 266 backedges. 122 proven. 1 refuted. 0 times theorem prover too weak. 143 trivial. 0 not checked. [2018-11-23 14:19:44,440 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2018-11-23 14:19:44,440 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4] total 4 [2018-11-23 14:19:44,440 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-23 14:19:44,440 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-23 14:19:44,440 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-11-23 14:19:44,440 INFO L87 Difference]: Start difference. First operand 50 states and 57 transitions. Second operand 4 states. [2018-11-23 14:19:44,450 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 14:19:44,450 INFO L93 Difference]: Finished difference Result 76 states and 87 transitions. [2018-11-23 14:19:44,451 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-23 14:19:44,451 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 83 [2018-11-23 14:19:44,451 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 14:19:44,451 INFO L225 Difference]: With dead ends: 76 [2018-11-23 14:19:44,452 INFO L226 Difference]: Without dead ends: 53 [2018-11-23 14:19:44,452 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 82 GetRequests, 80 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-11-23 14:19:44,452 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2018-11-23 14:19:44,456 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 52. [2018-11-23 14:19:44,456 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 52 states. [2018-11-23 14:19:44,456 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 59 transitions. [2018-11-23 14:19:44,456 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 59 transitions. Word has length 83 [2018-11-23 14:19:44,457 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 14:19:44,457 INFO L480 AbstractCegarLoop]: Abstraction has 52 states and 59 transitions. [2018-11-23 14:19:44,457 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-23 14:19:44,457 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 59 transitions. [2018-11-23 14:19:44,458 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2018-11-23 14:19:44,458 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 14:19:44,458 INFO L402 BasicCegarLoop]: trace histogram [12, 12, 6, 6, 4, 4, 3, 3, 3, 3, 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 14:19:44,458 INFO L423 AbstractCegarLoop]: === Iteration 12 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 14:19:44,458 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 14:19:44,458 INFO L82 PathProgramCache]: Analyzing trace with hash -2064866548, now seen corresponding path program 7 times [2018-11-23 14:19:44,459 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 14:19:44,459 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 14:19:44,459 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 14:19:44,459 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 14:19:44,459 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 14:19:44,466 ERROR L235 seRefinementStrategy]: Caught known exception: Unsupported non-linear arithmetic [2018-11-23 14:19:44,466 INFO L258 seRefinementStrategy]: Advancing trace checker [2018-11-23 14:19:44,466 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_b98a0242-ee8a-4f92-a2f9-1da3047ed98d/bin-2019/uautomizer/z3 Starting monitored process 13 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 13 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2018-11-23 14:19:44,472 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 14:19:44,499 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 14:19:44,502 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 14:19:44,548 INFO L134 CoverageAnalysis]: Checked inductivity of 269 backedges. 0 proven. 16 refuted. 0 times theorem prover too weak. 253 trivial. 0 not checked. [2018-11-23 14:19:44,562 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2018-11-23 14:19:44,563 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [7] total 7 [2018-11-23 14:19:44,563 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-23 14:19:44,563 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-23 14:19:44,563 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=21, Unknown=0, NotChecked=0, Total=42 [2018-11-23 14:19:44,563 INFO L87 Difference]: Start difference. First operand 52 states and 59 transitions. Second operand 7 states. [2018-11-23 14:19:44,579 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 14:19:44,579 INFO L93 Difference]: Finished difference Result 90 states and 104 transitions. [2018-11-23 14:19:44,579 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-11-23 14:19:44,579 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 85 [2018-11-23 14:19:44,579 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 14:19:44,580 INFO L225 Difference]: With dead ends: 90 [2018-11-23 14:19:44,580 INFO L226 Difference]: Without dead ends: 55 [2018-11-23 14:19:44,580 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 84 GetRequests, 79 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=21, Invalid=21, Unknown=0, NotChecked=0, Total=42 [2018-11-23 14:19:44,580 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2018-11-23 14:19:44,582 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 54. [2018-11-23 14:19:44,583 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 54 states. [2018-11-23 14:19:44,583 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 61 transitions. [2018-11-23 14:19:44,583 INFO L78 Accepts]: Start accepts. Automaton has 54 states and 61 transitions. Word has length 85 [2018-11-23 14:19:44,583 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 14:19:44,583 INFO L480 AbstractCegarLoop]: Abstraction has 54 states and 61 transitions. [2018-11-23 14:19:44,583 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-23 14:19:44,583 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 61 transitions. [2018-11-23 14:19:44,584 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 88 [2018-11-23 14:19:44,584 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 14:19:44,584 INFO L402 BasicCegarLoop]: trace histogram [12, 12, 6, 6, 5, 5, 3, 3, 3, 3, 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 14:19:44,584 INFO L423 AbstractCegarLoop]: === Iteration 13 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 14:19:44,584 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 14:19:44,585 INFO L82 PathProgramCache]: Analyzing trace with hash -998650230, now seen corresponding path program 8 times [2018-11-23 14:19:44,585 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 14:19:44,585 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 14:19:44,586 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 14:19:44,586 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 14:19:44,586 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 14:19:44,591 ERROR L235 seRefinementStrategy]: Caught known exception: Unsupported non-linear arithmetic [2018-11-23 14:19:44,591 INFO L258 seRefinementStrategy]: Advancing trace checker [2018-11-23 14:19:44,592 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_b98a0242-ee8a-4f92-a2f9-1da3047ed98d/bin-2019/uautomizer/z3 Starting monitored process 14 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 14 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2018-11-23 14:19:44,599 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 14:19:44,620 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 14:19:44,620 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 14:19:44,622 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 14:19:44,664 INFO L134 CoverageAnalysis]: Checked inductivity of 278 backedges. 0 proven. 25 refuted. 0 times theorem prover too weak. 253 trivial. 0 not checked. [2018-11-23 14:19:44,685 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2018-11-23 14:19:44,685 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [8] total 8 [2018-11-23 14:19:44,685 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-11-23 14:19:44,685 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-11-23 14:19:44,685 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=28, Unknown=0, NotChecked=0, Total=56 [2018-11-23 14:19:44,685 INFO L87 Difference]: Start difference. First operand 54 states and 61 transitions. Second operand 8 states. [2018-11-23 14:19:44,702 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 14:19:44,702 INFO L93 Difference]: Finished difference Result 92 states and 106 transitions. [2018-11-23 14:19:44,703 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-11-23 14:19:44,703 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 87 [2018-11-23 14:19:44,703 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 14:19:44,704 INFO L225 Difference]: With dead ends: 92 [2018-11-23 14:19:44,704 INFO L226 Difference]: Without dead ends: 57 [2018-11-23 14:19:44,704 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 86 GetRequests, 80 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=28, Unknown=0, NotChecked=0, Total=56 [2018-11-23 14:19:44,705 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 57 states. [2018-11-23 14:19:44,707 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 57 to 56. [2018-11-23 14:19:44,708 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 56 states. [2018-11-23 14:19:44,708 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 63 transitions. [2018-11-23 14:19:44,708 INFO L78 Accepts]: Start accepts. Automaton has 56 states and 63 transitions. Word has length 87 [2018-11-23 14:19:44,708 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 14:19:44,709 INFO L480 AbstractCegarLoop]: Abstraction has 56 states and 63 transitions. [2018-11-23 14:19:44,709 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-11-23 14:19:44,709 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 63 transitions. [2018-11-23 14:19:44,709 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 90 [2018-11-23 14:19:44,710 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 14:19:44,710 INFO L402 BasicCegarLoop]: trace histogram [12, 12, 6, 6, 6, 6, 3, 3, 3, 3, 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 14:19:44,710 INFO L423 AbstractCegarLoop]: === Iteration 14 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 14:19:44,710 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 14:19:44,710 INFO L82 PathProgramCache]: Analyzing trace with hash 1433014920, now seen corresponding path program 9 times [2018-11-23 14:19:44,710 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 14:19:44,710 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 14:19:44,711 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 14:19:44,711 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 14:19:44,711 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 14:19:44,722 ERROR L235 seRefinementStrategy]: Caught known exception: Unsupported non-linear arithmetic [2018-11-23 14:19:44,723 INFO L258 seRefinementStrategy]: Advancing trace checker [2018-11-23 14:19:44,723 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_b98a0242-ee8a-4f92-a2f9-1da3047ed98d/bin-2019/uautomizer/z3 Starting monitored process 15 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 15 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2018-11-23 14:19:44,735 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 14:19:44,848 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2018-11-23 14:19:44,848 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 14:19:44,850 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 14:19:44,871 INFO L134 CoverageAnalysis]: Checked inductivity of 289 backedges. 122 proven. 4 refuted. 0 times theorem prover too weak. 163 trivial. 0 not checked. [2018-11-23 14:19:44,888 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2018-11-23 14:19:44,888 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5] total 5 [2018-11-23 14:19:44,888 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2018-11-23 14:19:44,889 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2018-11-23 14:19:44,889 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2018-11-23 14:19:44,889 INFO L87 Difference]: Start difference. First operand 56 states and 63 transitions. Second operand 5 states. [2018-11-23 14:19:44,900 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 14:19:44,900 INFO L93 Difference]: Finished difference Result 82 states and 93 transitions. [2018-11-23 14:19:44,900 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-11-23 14:19:44,900 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 89 [2018-11-23 14:19:44,901 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 14:19:44,901 INFO L225 Difference]: With dead ends: 82 [2018-11-23 14:19:44,901 INFO L226 Difference]: Without dead ends: 59 [2018-11-23 14:19:44,901 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 88 GetRequests, 85 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2018-11-23 14:19:44,902 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 59 states. [2018-11-23 14:19:44,904 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 59 to 58. [2018-11-23 14:19:44,904 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 58 states. [2018-11-23 14:19:44,904 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 58 states to 58 states and 65 transitions. [2018-11-23 14:19:44,904 INFO L78 Accepts]: Start accepts. Automaton has 58 states and 65 transitions. Word has length 89 [2018-11-23 14:19:44,905 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 14:19:44,905 INFO L480 AbstractCegarLoop]: Abstraction has 58 states and 65 transitions. [2018-11-23 14:19:44,905 INFO L481 AbstractCegarLoop]: Interpolant automaton has 5 states. [2018-11-23 14:19:44,905 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 65 transitions. [2018-11-23 14:19:44,905 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 92 [2018-11-23 14:19:44,905 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 14:19:44,906 INFO L402 BasicCegarLoop]: trace histogram [12, 12, 6, 6, 6, 6, 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 14:19:44,906 INFO L423 AbstractCegarLoop]: === Iteration 15 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 14:19:44,906 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 14:19:44,906 INFO L82 PathProgramCache]: Analyzing trace with hash -820958554, now seen corresponding path program 10 times [2018-11-23 14:19:44,906 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 14:19:44,906 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 14:19:44,907 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 14:19:44,907 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 14:19:44,907 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 14:19:44,913 ERROR L235 seRefinementStrategy]: Caught known exception: Unsupported non-linear arithmetic [2018-11-23 14:19:44,913 INFO L258 seRefinementStrategy]: Advancing trace checker [2018-11-23 14:19:44,913 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_b98a0242-ee8a-4f92-a2f9-1da3047ed98d/bin-2019/uautomizer/z3 Starting monitored process 16 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 16 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2018-11-23 14:19:44,924 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-23 14:19:44,946 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-23 14:19:44,946 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 14:19:44,948 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 14:19:45,000 INFO L134 CoverageAnalysis]: Checked inductivity of 294 backedges. 0 proven. 36 refuted. 0 times theorem prover too weak. 258 trivial. 0 not checked. [2018-11-23 14:19:45,015 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2018-11-23 14:19:45,015 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9] total 9 [2018-11-23 14:19:45,015 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2018-11-23 14:19:45,015 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2018-11-23 14:19:45,015 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=36, Unknown=0, NotChecked=0, Total=72 [2018-11-23 14:19:45,016 INFO L87 Difference]: Start difference. First operand 58 states and 65 transitions. Second operand 9 states. [2018-11-23 14:19:45,034 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 14:19:45,034 INFO L93 Difference]: Finished difference Result 98 states and 112 transitions. [2018-11-23 14:19:45,036 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-11-23 14:19:45,037 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 91 [2018-11-23 14:19:45,037 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 14:19:45,037 INFO L225 Difference]: With dead ends: 98 [2018-11-23 14:19:45,037 INFO L226 Difference]: Without dead ends: 61 [2018-11-23 14:19:45,038 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 90 GetRequests, 83 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=36, Invalid=36, Unknown=0, NotChecked=0, Total=72 [2018-11-23 14:19:45,038 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 61 states. [2018-11-23 14:19:45,040 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 61 to 60. [2018-11-23 14:19:45,041 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 60 states. [2018-11-23 14:19:45,041 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 60 states to 60 states and 67 transitions. [2018-11-23 14:19:45,041 INFO L78 Accepts]: Start accepts. Automaton has 60 states and 67 transitions. Word has length 91 [2018-11-23 14:19:45,041 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 14:19:45,042 INFO L480 AbstractCegarLoop]: Abstraction has 60 states and 67 transitions. [2018-11-23 14:19:45,042 INFO L481 AbstractCegarLoop]: Interpolant automaton has 9 states. [2018-11-23 14:19:45,042 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 67 transitions. [2018-11-23 14:19:45,042 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 94 [2018-11-23 14:19:45,042 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 14:19:45,042 INFO L402 BasicCegarLoop]: trace histogram [12, 12, 7, 7, 6, 6, 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 14:19:45,043 INFO L423 AbstractCegarLoop]: === Iteration 16 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 14:19:45,043 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 14:19:45,043 INFO L82 PathProgramCache]: Analyzing trace with hash 639844260, now seen corresponding path program 11 times [2018-11-23 14:19:45,043 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 14:19:45,043 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 14:19:45,044 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 14:19:45,044 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 14:19:45,044 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 14:19:45,052 ERROR L235 seRefinementStrategy]: Caught known exception: Unsupported non-linear arithmetic [2018-11-23 14:19:45,052 INFO L258 seRefinementStrategy]: Advancing trace checker [2018-11-23 14:19:45,053 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_b98a0242-ee8a-4f92-a2f9-1da3047ed98d/bin-2019/uautomizer/z3 Starting monitored process 17 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 17 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2018-11-23 14:19:45,067 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-23 14:19:45,084 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 4 check-sat command(s) [2018-11-23 14:19:45,084 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 14:19:45,086 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 14:19:45,104 INFO L134 CoverageAnalysis]: Checked inductivity of 307 backedges. 129 proven. 7 refuted. 0 times theorem prover too weak. 171 trivial. 0 not checked. [2018-11-23 14:19:45,130 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2018-11-23 14:19:45,130 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [6] total 6 [2018-11-23 14:19:45,131 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-23 14:19:45,131 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-23 14:19:45,131 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=15, Unknown=0, NotChecked=0, Total=30 [2018-11-23 14:19:45,131 INFO L87 Difference]: Start difference. First operand 60 states and 67 transitions. Second operand 6 states. [2018-11-23 14:19:45,163 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 14:19:45,163 INFO L93 Difference]: Finished difference Result 98 states and 116 transitions. [2018-11-23 14:19:45,164 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-23 14:19:45,164 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 93 [2018-11-23 14:19:45,165 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 14:19:45,165 INFO L225 Difference]: With dead ends: 98 [2018-11-23 14:19:45,165 INFO L226 Difference]: Without dead ends: 65 [2018-11-23 14:19:45,166 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 92 GetRequests, 88 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=15, Invalid=15, Unknown=0, NotChecked=0, Total=30 [2018-11-23 14:19:45,166 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 65 states. [2018-11-23 14:19:45,168 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 65 to 63. [2018-11-23 14:19:45,168 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 63 states. [2018-11-23 14:19:45,169 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 63 states to 63 states and 71 transitions. [2018-11-23 14:19:45,169 INFO L78 Accepts]: Start accepts. Automaton has 63 states and 71 transitions. Word has length 93 [2018-11-23 14:19:45,169 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 14:19:45,169 INFO L480 AbstractCegarLoop]: Abstraction has 63 states and 71 transitions. [2018-11-23 14:19:45,169 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-23 14:19:45,170 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 71 transitions. [2018-11-23 14:19:45,170 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 103 [2018-11-23 14:19:45,170 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 14:19:45,170 INFO L402 BasicCegarLoop]: trace histogram [15, 15, 9, 7, 7, 6, 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 14:19:45,170 INFO L423 AbstractCegarLoop]: === Iteration 17 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 14:19:45,171 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 14:19:45,171 INFO L82 PathProgramCache]: Analyzing trace with hash 266389106, now seen corresponding path program 12 times [2018-11-23 14:19:45,171 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 14:19:45,171 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 14:19:45,171 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 14:19:45,171 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 14:19:45,172 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 14:19:45,179 ERROR L235 seRefinementStrategy]: Caught known exception: Unsupported non-linear arithmetic [2018-11-23 14:19:45,179 INFO L258 seRefinementStrategy]: Advancing trace checker [2018-11-23 14:19:45,179 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_b98a0242-ee8a-4f92-a2f9-1da3047ed98d/bin-2019/uautomizer/z3 Starting monitored process 18 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 18 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2018-11-23 14:19:45,189 INFO L103 rtionOrderModulation]: Keeping assertion order MIX_INSIDE_OUTSIDE [2018-11-23 14:19:45,890 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 9 check-sat command(s) [2018-11-23 14:19:45,891 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 14:19:45,892 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 14:19:45,910 INFO L134 CoverageAnalysis]: Checked inductivity of 433 backedges. 180 proven. 9 refuted. 0 times theorem prover too weak. 244 trivial. 0 not checked. [2018-11-23 14:19:45,926 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2018-11-23 14:19:45,926 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [6] total 6 [2018-11-23 14:19:45,926 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-23 14:19:45,926 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-23 14:19:45,926 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=15, Unknown=0, NotChecked=0, Total=30 [2018-11-23 14:19:45,927 INFO L87 Difference]: Start difference. First operand 63 states and 71 transitions. Second operand 6 states. [2018-11-23 14:19:45,938 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 14:19:45,938 INFO L93 Difference]: Finished difference Result 92 states and 105 transitions. [2018-11-23 14:19:45,939 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-23 14:19:45,939 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 102 [2018-11-23 14:19:45,939 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 14:19:45,939 INFO L225 Difference]: With dead ends: 92 [2018-11-23 14:19:45,939 INFO L226 Difference]: Without dead ends: 66 [2018-11-23 14:19:45,940 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 101 GetRequests, 97 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=15, Invalid=15, Unknown=0, NotChecked=0, Total=30 [2018-11-23 14:19:45,940 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 66 states. [2018-11-23 14:19:45,942 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 66 to 65. [2018-11-23 14:19:45,942 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 65 states. [2018-11-23 14:19:45,943 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 65 states to 65 states and 73 transitions. [2018-11-23 14:19:45,943 INFO L78 Accepts]: Start accepts. Automaton has 65 states and 73 transitions. Word has length 102 [2018-11-23 14:19:45,943 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 14:19:45,943 INFO L480 AbstractCegarLoop]: Abstraction has 65 states and 73 transitions. [2018-11-23 14:19:45,943 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-23 14:19:45,943 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 73 transitions. [2018-11-23 14:19:45,943 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 105 [2018-11-23 14:19:45,943 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 14:19:45,943 INFO L402 BasicCegarLoop]: trace histogram [15, 15, 9, 7, 7, 6, 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, 1, 1, 1, 1, 1] [2018-11-23 14:19:45,944 INFO L423 AbstractCegarLoop]: === Iteration 18 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 14:19:45,944 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 14:19:45,944 INFO L82 PathProgramCache]: Analyzing trace with hash 902866836, now seen corresponding path program 13 times [2018-11-23 14:19:45,944 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 14:19:45,944 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 14:19:45,944 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 14:19:45,944 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 14:19:45,944 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 14:19:45,956 ERROR L235 seRefinementStrategy]: Caught known exception: Unsupported non-linear arithmetic [2018-11-23 14:19:45,956 INFO L258 seRefinementStrategy]: Advancing trace checker [2018-11-23 14:19:45,956 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_b98a0242-ee8a-4f92-a2f9-1da3047ed98d/bin-2019/uautomizer/z3 Starting monitored process 19 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 19 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2018-11-23 14:19:45,967 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 14:19:45,992 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 14:19:45,994 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 14:19:46,043 INFO L134 CoverageAnalysis]: Checked inductivity of 440 backedges. 0 proven. 49 refuted. 0 times theorem prover too weak. 391 trivial. 0 not checked. [2018-11-23 14:19:46,059 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2018-11-23 14:19:46,059 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2018-11-23 14:19:46,059 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-11-23 14:19:46,059 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-11-23 14:19:46,059 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=45, Unknown=0, NotChecked=0, Total=90 [2018-11-23 14:19:46,059 INFO L87 Difference]: Start difference. First operand 65 states and 73 transitions. Second operand 10 states. [2018-11-23 14:19:46,077 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 14:19:46,077 INFO L93 Difference]: Finished difference Result 110 states and 126 transitions. [2018-11-23 14:19:46,080 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2018-11-23 14:19:46,080 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 104 [2018-11-23 14:19:46,080 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 14:19:46,080 INFO L225 Difference]: With dead ends: 110 [2018-11-23 14:19:46,081 INFO L226 Difference]: Without dead ends: 68 [2018-11-23 14:19:46,081 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 103 GetRequests, 95 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=45, Invalid=45, Unknown=0, NotChecked=0, Total=90 [2018-11-23 14:19:46,081 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 68 states. [2018-11-23 14:19:46,083 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 68 to 67. [2018-11-23 14:19:46,084 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 67 states. [2018-11-23 14:19:46,084 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 67 states to 67 states and 75 transitions. [2018-11-23 14:19:46,084 INFO L78 Accepts]: Start accepts. Automaton has 67 states and 75 transitions. Word has length 104 [2018-11-23 14:19:46,084 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 14:19:46,084 INFO L480 AbstractCegarLoop]: Abstraction has 67 states and 75 transitions. [2018-11-23 14:19:46,085 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-11-23 14:19:46,085 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 75 transitions. [2018-11-23 14:19:46,085 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 107 [2018-11-23 14:19:46,085 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 14:19:46,085 INFO L402 BasicCegarLoop]: trace histogram [15, 15, 9, 8, 8, 6, 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, 1, 1, 1, 1, 1] [2018-11-23 14:19:46,085 INFO L423 AbstractCegarLoop]: === Iteration 19 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 14:19:46,088 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 14:19:46,088 INFO L82 PathProgramCache]: Analyzing trace with hash -640868522, now seen corresponding path program 14 times [2018-11-23 14:19:46,088 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 14:19:46,088 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 14:19:46,089 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 14:19:46,089 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 14:19:46,089 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 14:19:46,096 ERROR L235 seRefinementStrategy]: Caught known exception: Unsupported non-linear arithmetic [2018-11-23 14:19:46,096 INFO L258 seRefinementStrategy]: Advancing trace checker [2018-11-23 14:19:46,096 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_b98a0242-ee8a-4f92-a2f9-1da3047ed98d/bin-2019/uautomizer/z3 Starting monitored process 20 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 20 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2018-11-23 14:19:46,105 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 14:19:46,135 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 14:19:46,135 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 14:19:46,138 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 14:19:46,207 INFO L134 CoverageAnalysis]: Checked inductivity of 455 backedges. 0 proven. 64 refuted. 0 times theorem prover too weak. 391 trivial. 0 not checked. [2018-11-23 14:19:46,225 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2018-11-23 14:19:46,226 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11] total 11 [2018-11-23 14:19:46,226 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2018-11-23 14:19:46,226 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2018-11-23 14:19:46,226 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=55, Invalid=55, Unknown=0, NotChecked=0, Total=110 [2018-11-23 14:19:46,226 INFO L87 Difference]: Start difference. First operand 67 states and 75 transitions. Second operand 11 states. [2018-11-23 14:19:46,249 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 14:19:46,249 INFO L93 Difference]: Finished difference Result 112 states and 128 transitions. [2018-11-23 14:19:46,250 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2018-11-23 14:19:46,250 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 106 [2018-11-23 14:19:46,250 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 14:19:46,251 INFO L225 Difference]: With dead ends: 112 [2018-11-23 14:19:46,251 INFO L226 Difference]: Without dead ends: 70 [2018-11-23 14:19:46,251 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 105 GetRequests, 96 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=55, Invalid=55, Unknown=0, NotChecked=0, Total=110 [2018-11-23 14:19:46,251 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2018-11-23 14:19:46,253 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 69. [2018-11-23 14:19:46,254 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 69 states. [2018-11-23 14:19:46,254 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 69 states to 69 states and 77 transitions. [2018-11-23 14:19:46,254 INFO L78 Accepts]: Start accepts. Automaton has 69 states and 77 transitions. Word has length 106 [2018-11-23 14:19:46,255 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 14:19:46,255 INFO L480 AbstractCegarLoop]: Abstraction has 69 states and 77 transitions. [2018-11-23 14:19:46,255 INFO L481 AbstractCegarLoop]: Interpolant automaton has 11 states. [2018-11-23 14:19:46,255 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 77 transitions. [2018-11-23 14:19:46,255 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 109 [2018-11-23 14:19:46,256 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 14:19:46,256 INFO L402 BasicCegarLoop]: trace histogram [15, 15, 9, 9, 9, 6, 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, 1, 1, 1, 1, 1] [2018-11-23 14:19:46,256 INFO L423 AbstractCegarLoop]: === Iteration 20 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 14:19:46,256 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 14:19:46,256 INFO L82 PathProgramCache]: Analyzing trace with hash 1888136856, now seen corresponding path program 15 times [2018-11-23 14:19:46,256 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 14:19:46,256 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 14:19:46,257 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 14:19:46,257 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 14:19:46,257 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 14:19:46,266 ERROR L235 seRefinementStrategy]: Caught known exception: Unsupported non-linear arithmetic [2018-11-23 14:19:46,266 INFO L258 seRefinementStrategy]: Advancing trace checker [2018-11-23 14:19:46,266 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_b98a0242-ee8a-4f92-a2f9-1da3047ed98d/bin-2019/uautomizer/z3 Starting monitored process 21 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 21 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2018-11-23 14:19:46,289 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 14:19:46,338 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 6 check-sat command(s) [2018-11-23 14:19:46,338 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 14:19:46,340 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 14:19:46,370 INFO L134 CoverageAnalysis]: Checked inductivity of 472 backedges. 178 proven. 35 refuted. 0 times theorem prover too weak. 259 trivial. 0 not checked. [2018-11-23 14:19:46,386 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2018-11-23 14:19:46,386 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [8] total 8 [2018-11-23 14:19:46,387 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-11-23 14:19:46,387 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-11-23 14:19:46,387 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=28, Unknown=0, NotChecked=0, Total=56 [2018-11-23 14:19:46,387 INFO L87 Difference]: Start difference. First operand 69 states and 77 transitions. Second operand 8 states. [2018-11-23 14:19:46,415 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 14:19:46,415 INFO L93 Difference]: Finished difference Result 119 states and 140 transitions. [2018-11-23 14:19:46,416 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-11-23 14:19:46,416 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 108 [2018-11-23 14:19:46,416 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 14:19:46,416 INFO L225 Difference]: With dead ends: 119 [2018-11-23 14:19:46,416 INFO L226 Difference]: Without dead ends: 81 [2018-11-23 14:19:46,417 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 107 GetRequests, 101 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=28, Unknown=0, NotChecked=0, Total=56 [2018-11-23 14:19:46,417 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 81 states. [2018-11-23 14:19:46,420 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 81 to 81. [2018-11-23 14:19:46,420 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 81 states. [2018-11-23 14:19:46,421 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 81 states to 81 states and 89 transitions. [2018-11-23 14:19:46,421 INFO L78 Accepts]: Start accepts. Automaton has 81 states and 89 transitions. Word has length 108 [2018-11-23 14:19:46,421 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 14:19:46,421 INFO L480 AbstractCegarLoop]: Abstraction has 81 states and 89 transitions. [2018-11-23 14:19:46,421 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-11-23 14:19:46,421 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 89 transitions. [2018-11-23 14:19:46,423 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 145 [2018-11-23 14:19:46,423 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 14:19:46,423 INFO L402 BasicCegarLoop]: trace histogram [27, 27, 18, 9, 9, 9, 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, 1, 1, 1, 1, 1] [2018-11-23 14:19:46,423 INFO L423 AbstractCegarLoop]: === Iteration 21 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 14:19:46,423 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 14:19:46,424 INFO L82 PathProgramCache]: Analyzing trace with hash 946403736, now seen corresponding path program 16 times [2018-11-23 14:19:46,424 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 14:19:46,424 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 14:19:46,424 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 14:19:46,425 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 14:19:46,425 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 14:19:46,435 ERROR L235 seRefinementStrategy]: Caught known exception: Unsupported non-linear arithmetic [2018-11-23 14:19:46,435 INFO L258 seRefinementStrategy]: Advancing trace checker [2018-11-23 14:19:46,435 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_b98a0242-ee8a-4f92-a2f9-1da3047ed98d/bin-2019/uautomizer/z3 Starting monitored process 22 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 22 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2018-11-23 14:19:46,446 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-23 14:19:46,477 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-23 14:19:46,478 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 14:19:46,481 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 14:19:46,573 INFO L134 CoverageAnalysis]: Checked inductivity of 1246 backedges. 0 proven. 81 refuted. 0 times theorem prover too weak. 1165 trivial. 0 not checked. [2018-11-23 14:19:46,588 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2018-11-23 14:19:46,588 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [12] total 12 [2018-11-23 14:19:46,589 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2018-11-23 14:19:46,589 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2018-11-23 14:19:46,589 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=66, Invalid=66, Unknown=0, NotChecked=0, Total=132 [2018-11-23 14:19:46,589 INFO L87 Difference]: Start difference. First operand 81 states and 89 transitions. Second operand 12 states. [2018-11-23 14:19:46,617 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 14:19:46,617 INFO L93 Difference]: Finished difference Result 137 states and 153 transitions. [2018-11-23 14:19:46,618 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2018-11-23 14:19:46,618 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 144 [2018-11-23 14:19:46,618 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 14:19:46,619 INFO L225 Difference]: With dead ends: 137 [2018-11-23 14:19:46,619 INFO L226 Difference]: Without dead ends: 83 [2018-11-23 14:19:46,619 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 143 GetRequests, 133 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=66, Invalid=66, Unknown=0, NotChecked=0, Total=132 [2018-11-23 14:19:46,620 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 83 states. [2018-11-23 14:19:46,621 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 83 to 83. [2018-11-23 14:19:46,621 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 83 states. [2018-11-23 14:19:46,622 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 83 states to 83 states and 91 transitions. [2018-11-23 14:19:46,622 INFO L78 Accepts]: Start accepts. Automaton has 83 states and 91 transitions. Word has length 144 [2018-11-23 14:19:46,622 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 14:19:46,622 INFO L480 AbstractCegarLoop]: Abstraction has 83 states and 91 transitions. [2018-11-23 14:19:46,623 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2018-11-23 14:19:46,623 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 91 transitions. [2018-11-23 14:19:46,623 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 147 [2018-11-23 14:19:46,623 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 14:19:46,623 INFO L402 BasicCegarLoop]: trace histogram [27, 27, 18, 10, 10, 9, 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, 1, 1, 1, 1, 1] [2018-11-23 14:19:46,624 INFO L423 AbstractCegarLoop]: === Iteration 22 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 14:19:46,624 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 14:19:46,624 INFO L82 PathProgramCache]: Analyzing trace with hash 901973850, now seen corresponding path program 17 times [2018-11-23 14:19:46,624 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 14:19:46,624 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 14:19:46,626 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 14:19:46,626 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 14:19:46,626 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 14:19:46,633 ERROR L235 seRefinementStrategy]: Caught known exception: Unsupported non-linear arithmetic [2018-11-23 14:19:46,634 INFO L258 seRefinementStrategy]: Advancing trace checker [2018-11-23 14:19:46,634 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_b98a0242-ee8a-4f92-a2f9-1da3047ed98d/bin-2019/uautomizer/z3 Starting monitored process 23 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 23 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2018-11-23 14:19:46,649 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-23 14:19:46,667 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 5 check-sat command(s) [2018-11-23 14:19:46,668 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 14:19:46,670 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 14:19:46,696 INFO L134 CoverageAnalysis]: Checked inductivity of 1265 backedges. 588 proven. 15 refuted. 0 times theorem prover too weak. 662 trivial. 0 not checked. [2018-11-23 14:19:46,721 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2018-11-23 14:19:46,722 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [7] total 7 [2018-11-23 14:19:46,722 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-23 14:19:46,722 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-23 14:19:46,722 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=21, Unknown=0, NotChecked=0, Total=42 [2018-11-23 14:19:46,722 INFO L87 Difference]: Start difference. First operand 83 states and 91 transitions. Second operand 7 states. [2018-11-23 14:19:46,743 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 14:19:46,743 INFO L93 Difference]: Finished difference Result 136 states and 155 transitions. [2018-11-23 14:19:46,749 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-11-23 14:19:46,749 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 146 [2018-11-23 14:19:46,750 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 14:19:46,750 INFO L225 Difference]: With dead ends: 136 [2018-11-23 14:19:46,750 INFO L226 Difference]: Without dead ends: 86 [2018-11-23 14:19:46,751 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 145 GetRequests, 140 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=21, Invalid=21, Unknown=0, NotChecked=0, Total=42 [2018-11-23 14:19:46,751 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 86 states. [2018-11-23 14:19:46,753 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 86 to 86. [2018-11-23 14:19:46,753 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 86 states. [2018-11-23 14:19:46,754 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 86 states to 86 states and 95 transitions. [2018-11-23 14:19:46,755 INFO L78 Accepts]: Start accepts. Automaton has 86 states and 95 transitions. Word has length 146 [2018-11-23 14:19:46,755 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 14:19:46,755 INFO L480 AbstractCegarLoop]: Abstraction has 86 states and 95 transitions. [2018-11-23 14:19:46,755 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-23 14:19:46,755 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 95 transitions. [2018-11-23 14:19:46,756 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 156 [2018-11-23 14:19:46,756 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 14:19:46,756 INFO L402 BasicCegarLoop]: trace histogram [30, 30, 18, 12, 10, 10, 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, 1, 1, 1, 1, 1] [2018-11-23 14:19:46,756 INFO L423 AbstractCegarLoop]: === Iteration 23 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 14:19:46,756 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 14:19:46,757 INFO L82 PathProgramCache]: Analyzing trace with hash -1171480068, now seen corresponding path program 18 times [2018-11-23 14:19:46,757 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 14:19:46,757 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 14:19:46,757 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 14:19:46,757 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 14:19:46,758 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 14:19:46,767 ERROR L235 seRefinementStrategy]: Caught known exception: Unsupported non-linear arithmetic [2018-11-23 14:19:46,767 INFO L258 seRefinementStrategy]: Advancing trace checker [2018-11-23 14:19:46,767 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_b98a0242-ee8a-4f92-a2f9-1da3047ed98d/bin-2019/uautomizer/z3 Starting monitored process 24 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 24 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2018-11-23 14:19:46,777 INFO L103 rtionOrderModulation]: Keeping assertion order MIX_INSIDE_OUTSIDE [2018-11-23 14:19:47,509 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 11 check-sat command(s) [2018-11-23 14:19:47,509 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 14:19:47,512 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 14:19:47,540 INFO L134 CoverageAnalysis]: Checked inductivity of 1526 backedges. 650 proven. 16 refuted. 0 times theorem prover too weak. 860 trivial. 0 not checked. [2018-11-23 14:19:47,555 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2018-11-23 14:19:47,556 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [7] total 7 [2018-11-23 14:19:47,556 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-23 14:19:47,556 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-23 14:19:47,556 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=21, Unknown=0, NotChecked=0, Total=42 [2018-11-23 14:19:47,556 INFO L87 Difference]: Start difference. First operand 86 states and 95 transitions. Second operand 7 states. [2018-11-23 14:19:47,567 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 14:19:47,567 INFO L93 Difference]: Finished difference Result 130 states and 145 transitions. [2018-11-23 14:19:47,567 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-11-23 14:19:47,567 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 155 [2018-11-23 14:19:47,567 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 14:19:47,568 INFO L225 Difference]: With dead ends: 130 [2018-11-23 14:19:47,568 INFO L226 Difference]: Without dead ends: 89 [2018-11-23 14:19:47,568 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 154 GetRequests, 149 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=21, Invalid=21, Unknown=0, NotChecked=0, Total=42 [2018-11-23 14:19:47,568 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 89 states. [2018-11-23 14:19:47,571 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 89 to 88. [2018-11-23 14:19:47,571 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 88 states. [2018-11-23 14:19:47,572 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 88 states to 88 states and 97 transitions. [2018-11-23 14:19:47,572 INFO L78 Accepts]: Start accepts. Automaton has 88 states and 97 transitions. Word has length 155 [2018-11-23 14:19:47,572 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 14:19:47,572 INFO L480 AbstractCegarLoop]: Abstraction has 88 states and 97 transitions. [2018-11-23 14:19:47,572 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-23 14:19:47,572 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 97 transitions. [2018-11-23 14:19:47,573 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 158 [2018-11-23 14:19:47,573 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 14:19:47,573 INFO L402 BasicCegarLoop]: trace histogram [30, 30, 18, 12, 10, 10, 5, 5, 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 14:19:47,573 INFO L423 AbstractCegarLoop]: === Iteration 24 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 14:19:47,574 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 14:19:47,574 INFO L82 PathProgramCache]: Analyzing trace with hash 157880730, now seen corresponding path program 19 times [2018-11-23 14:19:47,574 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 14:19:47,574 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 14:19:47,574 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 14:19:47,574 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 14:19:47,575 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 14:19:47,582 ERROR L235 seRefinementStrategy]: Caught known exception: Unsupported non-linear arithmetic [2018-11-23 14:19:47,582 INFO L258 seRefinementStrategy]: Advancing trace checker [2018-11-23 14:19:47,583 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_b98a0242-ee8a-4f92-a2f9-1da3047ed98d/bin-2019/uautomizer/z3 Starting monitored process 25 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 25 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2018-11-23 14:19:47,595 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 14:19:47,627 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 14:19:47,629 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 14:19:47,669 INFO L134 CoverageAnalysis]: Checked inductivity of 1535 backedges. 650 proven. 25 refuted. 0 times theorem prover too weak. 860 trivial. 0 not checked. [2018-11-23 14:19:47,684 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2018-11-23 14:19:47,684 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [8] total 8 [2018-11-23 14:19:47,684 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-11-23 14:19:47,684 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-11-23 14:19:47,685 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=28, Unknown=0, NotChecked=0, Total=56 [2018-11-23 14:19:47,685 INFO L87 Difference]: Start difference. First operand 88 states and 97 transitions. Second operand 8 states. [2018-11-23 14:19:47,707 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 14:19:47,707 INFO L93 Difference]: Finished difference Result 132 states and 147 transitions. [2018-11-23 14:19:47,708 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-11-23 14:19:47,708 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 157 [2018-11-23 14:19:47,708 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 14:19:47,709 INFO L225 Difference]: With dead ends: 132 [2018-11-23 14:19:47,709 INFO L226 Difference]: Without dead ends: 91 [2018-11-23 14:19:47,709 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 156 GetRequests, 150 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=28, Unknown=0, NotChecked=0, Total=56 [2018-11-23 14:19:47,709 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 91 states. [2018-11-23 14:19:47,711 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 91 to 90. [2018-11-23 14:19:47,711 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 90 states. [2018-11-23 14:19:47,712 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 90 states to 90 states and 99 transitions. [2018-11-23 14:19:47,712 INFO L78 Accepts]: Start accepts. Automaton has 90 states and 99 transitions. Word has length 157 [2018-11-23 14:19:47,712 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 14:19:47,712 INFO L480 AbstractCegarLoop]: Abstraction has 90 states and 99 transitions. [2018-11-23 14:19:47,713 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-11-23 14:19:47,713 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 99 transitions. [2018-11-23 14:19:47,713 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 160 [2018-11-23 14:19:47,713 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 14:19:47,713 INFO L402 BasicCegarLoop]: trace histogram [30, 30, 18, 12, 10, 10, 6, 6, 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 14:19:47,714 INFO L423 AbstractCegarLoop]: === Iteration 25 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 14:19:47,714 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 14:19:47,714 INFO L82 PathProgramCache]: Analyzing trace with hash 2068320696, now seen corresponding path program 20 times [2018-11-23 14:19:47,714 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 14:19:47,714 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 14:19:47,715 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 14:19:47,715 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 14:19:47,715 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 14:19:47,722 ERROR L235 seRefinementStrategy]: Caught known exception: Unsupported non-linear arithmetic [2018-11-23 14:19:47,722 INFO L258 seRefinementStrategy]: Advancing trace checker [2018-11-23 14:19:47,722 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_b98a0242-ee8a-4f92-a2f9-1da3047ed98d/bin-2019/uautomizer/z3 Starting monitored process 26 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 26 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2018-11-23 14:19:47,737 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 14:19:47,780 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 14:19:47,780 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 14:19:47,783 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 14:19:47,844 INFO L134 CoverageAnalysis]: Checked inductivity of 1546 backedges. 650 proven. 36 refuted. 0 times theorem prover too weak. 860 trivial. 0 not checked. [2018-11-23 14:19:47,859 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2018-11-23 14:19:47,859 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9] total 9 [2018-11-23 14:19:47,859 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2018-11-23 14:19:47,859 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2018-11-23 14:19:47,859 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=36, Unknown=0, NotChecked=0, Total=72 [2018-11-23 14:19:47,860 INFO L87 Difference]: Start difference. First operand 90 states and 99 transitions. Second operand 9 states. [2018-11-23 14:19:47,881 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 14:19:47,881 INFO L93 Difference]: Finished difference Result 134 states and 149 transitions. [2018-11-23 14:19:47,881 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-11-23 14:19:47,882 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 159 [2018-11-23 14:19:47,882 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 14:19:47,882 INFO L225 Difference]: With dead ends: 134 [2018-11-23 14:19:47,882 INFO L226 Difference]: Without dead ends: 93 [2018-11-23 14:19:47,882 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 158 GetRequests, 151 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=36, Invalid=36, Unknown=0, NotChecked=0, Total=72 [2018-11-23 14:19:47,882 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 93 states. [2018-11-23 14:19:47,884 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 93 to 92. [2018-11-23 14:19:47,884 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 92 states. [2018-11-23 14:19:47,884 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 92 states to 92 states and 101 transitions. [2018-11-23 14:19:47,885 INFO L78 Accepts]: Start accepts. Automaton has 92 states and 101 transitions. Word has length 159 [2018-11-23 14:19:47,885 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 14:19:47,885 INFO L480 AbstractCegarLoop]: Abstraction has 92 states and 101 transitions. [2018-11-23 14:19:47,885 INFO L481 AbstractCegarLoop]: Interpolant automaton has 9 states. [2018-11-23 14:19:47,885 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 101 transitions. [2018-11-23 14:19:47,885 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 162 [2018-11-23 14:19:47,885 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 14:19:47,885 INFO L402 BasicCegarLoop]: trace histogram [30, 30, 18, 12, 10, 10, 7, 7, 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 14:19:47,885 INFO L423 AbstractCegarLoop]: === Iteration 26 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 14:19:47,886 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 14:19:47,886 INFO L82 PathProgramCache]: Analyzing trace with hash -244874666, now seen corresponding path program 21 times [2018-11-23 14:19:47,886 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 14:19:47,886 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 14:19:47,886 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 14:19:47,886 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 14:19:47,887 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 14:19:47,895 ERROR L235 seRefinementStrategy]: Caught known exception: Unsupported non-linear arithmetic [2018-11-23 14:19:47,895 INFO L258 seRefinementStrategy]: Advancing trace checker [2018-11-23 14:19:47,895 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_b98a0242-ee8a-4f92-a2f9-1da3047ed98d/bin-2019/uautomizer/z3 Starting monitored process 27 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 27 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2018-11-23 14:19:47,902 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 14:19:58,601 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 9 check-sat command(s) [2018-11-23 14:19:58,601 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 14:19:58,605 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 14:19:58,641 INFO L134 CoverageAnalysis]: Checked inductivity of 1559 backedges. 650 proven. 49 refuted. 0 times theorem prover too weak. 860 trivial. 0 not checked. [2018-11-23 14:19:58,657 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2018-11-23 14:19:58,657 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2018-11-23 14:19:58,657 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-11-23 14:19:58,657 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-11-23 14:19:58,657 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=45, Unknown=0, NotChecked=0, Total=90 [2018-11-23 14:19:58,657 INFO L87 Difference]: Start difference. First operand 92 states and 101 transitions. Second operand 10 states. [2018-11-23 14:19:58,672 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 14:19:58,672 INFO L93 Difference]: Finished difference Result 136 states and 151 transitions. [2018-11-23 14:19:58,673 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2018-11-23 14:19:58,673 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 161 [2018-11-23 14:19:58,673 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 14:19:58,673 INFO L225 Difference]: With dead ends: 136 [2018-11-23 14:19:58,673 INFO L226 Difference]: Without dead ends: 95 [2018-11-23 14:19:58,673 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 160 GetRequests, 152 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=45, Invalid=45, Unknown=0, NotChecked=0, Total=90 [2018-11-23 14:19:58,673 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 95 states. [2018-11-23 14:19:58,676 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 95 to 94. [2018-11-23 14:19:58,676 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 94 states. [2018-11-23 14:19:58,677 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 94 states to 94 states and 103 transitions. [2018-11-23 14:19:58,677 INFO L78 Accepts]: Start accepts. Automaton has 94 states and 103 transitions. Word has length 161 [2018-11-23 14:19:58,677 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 14:19:58,677 INFO L480 AbstractCegarLoop]: Abstraction has 94 states and 103 transitions. [2018-11-23 14:19:58,677 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-11-23 14:19:58,678 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 103 transitions. [2018-11-23 14:19:58,678 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 164 [2018-11-23 14:19:58,678 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 14:19:58,678 INFO L402 BasicCegarLoop]: trace histogram [30, 30, 18, 12, 10, 10, 8, 8, 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 14:19:58,679 INFO L423 AbstractCegarLoop]: === Iteration 27 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 14:19:58,679 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 14:19:58,679 INFO L82 PathProgramCache]: Analyzing trace with hash 1567441780, now seen corresponding path program 22 times [2018-11-23 14:19:58,679 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 14:19:58,679 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 14:19:58,679 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 14:19:58,680 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 14:19:58,680 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 14:19:58,688 ERROR L235 seRefinementStrategy]: Caught known exception: Unsupported non-linear arithmetic [2018-11-23 14:19:58,688 INFO L258 seRefinementStrategy]: Advancing trace checker [2018-11-23 14:19:58,688 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_b98a0242-ee8a-4f92-a2f9-1da3047ed98d/bin-2019/uautomizer/z3 Starting monitored process 28 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 28 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2018-11-23 14:19:58,700 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-23 14:19:58,771 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-23 14:19:58,771 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 14:19:58,773 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 14:19:58,868 INFO L134 CoverageAnalysis]: Checked inductivity of 1574 backedges. 650 proven. 64 refuted. 0 times theorem prover too weak. 860 trivial. 0 not checked. [2018-11-23 14:19:58,883 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2018-11-23 14:19:58,884 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11] total 11 [2018-11-23 14:19:58,884 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2018-11-23 14:19:58,884 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2018-11-23 14:19:58,884 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=55, Invalid=55, Unknown=0, NotChecked=0, Total=110 [2018-11-23 14:19:58,884 INFO L87 Difference]: Start difference. First operand 94 states and 103 transitions. Second operand 11 states. [2018-11-23 14:19:58,914 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 14:19:58,914 INFO L93 Difference]: Finished difference Result 137 states and 152 transitions. [2018-11-23 14:19:58,914 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2018-11-23 14:19:58,914 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 163 [2018-11-23 14:19:58,915 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 14:19:58,915 INFO L225 Difference]: With dead ends: 137 [2018-11-23 14:19:58,915 INFO L226 Difference]: Without dead ends: 96 [2018-11-23 14:19:58,916 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 162 GetRequests, 153 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=55, Invalid=55, Unknown=0, NotChecked=0, Total=110 [2018-11-23 14:19:58,916 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 96 states. [2018-11-23 14:19:58,919 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 96 to 96. [2018-11-23 14:19:58,920 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 96 states. [2018-11-23 14:19:58,920 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 96 states to 96 states and 105 transitions. [2018-11-23 14:19:58,920 INFO L78 Accepts]: Start accepts. Automaton has 96 states and 105 transitions. Word has length 163 [2018-11-23 14:19:58,921 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 14:19:58,921 INFO L480 AbstractCegarLoop]: Abstraction has 96 states and 105 transitions. [2018-11-23 14:19:58,921 INFO L481 AbstractCegarLoop]: Interpolant automaton has 11 states. [2018-11-23 14:19:58,921 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 105 transitions. [2018-11-23 14:19:58,922 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 166 [2018-11-23 14:19:58,922 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 14:19:58,922 INFO L402 BasicCegarLoop]: trace histogram [30, 30, 18, 12, 10, 10, 9, 9, 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 14:19:58,922 INFO L423 AbstractCegarLoop]: === Iteration 28 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 14:19:58,923 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 14:19:58,923 INFO L82 PathProgramCache]: Analyzing trace with hash -553175790, now seen corresponding path program 23 times [2018-11-23 14:19:58,923 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 14:19:58,923 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 14:19:58,923 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 14:19:58,924 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 14:19:58,924 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 14:19:58,933 ERROR L235 seRefinementStrategy]: Caught known exception: Unsupported non-linear arithmetic [2018-11-23 14:19:58,933 INFO L258 seRefinementStrategy]: Advancing trace checker [2018-11-23 14:19:58,933 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_b98a0242-ee8a-4f92-a2f9-1da3047ed98d/bin-2019/uautomizer/z3 Starting monitored process 29 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 29 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2018-11-23 14:19:58,945 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-23 14:20:01,421 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 22 check-sat command(s) [2018-11-23 14:20:01,422 INFO L250 tOrderPrioritization]: Conjunction of SSA is sat [2018-11-23 14:20:01,719 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 14:20:01,794 INFO L469 BasicCegarLoop]: Counterexample might be feasible ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator [?] CALL call ULTIMATE.init(); VAL [|#NULL.base|=11, |#NULL.offset|=13, |old(#NULL.base)|=11, |old(#NULL.offset)|=13] [?] #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; VAL [|#NULL.base|=0, |#NULL.offset|=0, |old(#NULL.base)|=11, |old(#NULL.offset)|=13] [?] assume true; VAL [|#NULL.base|=0, |#NULL.offset|=0, |old(#NULL.base)|=11, |old(#NULL.offset)|=13] [?] RET #78#return; VAL [|#NULL.base|=0, |#NULL.offset|=0] [?] CALL call #t~ret12 := main(); VAL [|#NULL.base|=0, |#NULL.offset|=0] [?] call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(40); VAL [|#NULL.base|=0, |#NULL.offset|=0, |main_~#x~0.base|=14, |main_~#x~0.offset|=0] [?] CALL call init_nondet(~#x~0.base, ~#x~0.offset); VAL [|#NULL.base|=0, |#NULL.offset|=0, |init_nondet_#in~x.base|=14, |init_nondet_#in~x.offset|=0] [?] ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;~i~0 := 0; VAL [init_nondet_~i~0=0, init_nondet_~x.base=14, init_nondet_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |init_nondet_#in~x.base|=14, |init_nondet_#in~x.offset|=0] [?] assume !!(~i~0 < 10);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + 4 * ~i~0, 4);havoc #t~nondet1; VAL [init_nondet_~i~0=0, init_nondet_~x.base=14, init_nondet_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |init_nondet_#in~x.base|=14, |init_nondet_#in~x.offset|=0] [?] #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; VAL [init_nondet_~i~0=1, init_nondet_~x.base=14, init_nondet_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |init_nondet_#in~x.base|=14, |init_nondet_#in~x.offset|=0] [?] assume !!(~i~0 < 10);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + 4 * ~i~0, 4);havoc #t~nondet1; VAL [init_nondet_~i~0=1, init_nondet_~x.base=14, init_nondet_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |init_nondet_#in~x.base|=14, |init_nondet_#in~x.offset|=0] [?] #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; VAL [init_nondet_~i~0=2, init_nondet_~x.base=14, init_nondet_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |init_nondet_#in~x.base|=14, |init_nondet_#in~x.offset|=0] [?] assume !!(~i~0 < 10);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + 4 * ~i~0, 4);havoc #t~nondet1; VAL [init_nondet_~i~0=2, init_nondet_~x.base=14, init_nondet_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |init_nondet_#in~x.base|=14, |init_nondet_#in~x.offset|=0] [?] #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; VAL [init_nondet_~i~0=3, init_nondet_~x.base=14, init_nondet_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |init_nondet_#in~x.base|=14, |init_nondet_#in~x.offset|=0] [?] assume !!(~i~0 < 10);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + 4 * ~i~0, 4);havoc #t~nondet1; VAL [init_nondet_~i~0=3, init_nondet_~x.base=14, init_nondet_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |init_nondet_#in~x.base|=14, |init_nondet_#in~x.offset|=0] [?] #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; VAL [init_nondet_~i~0=4, init_nondet_~x.base=14, init_nondet_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |init_nondet_#in~x.base|=14, |init_nondet_#in~x.offset|=0] [?] assume !!(~i~0 < 10);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + 4 * ~i~0, 4);havoc #t~nondet1; VAL [init_nondet_~i~0=4, init_nondet_~x.base=14, init_nondet_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |init_nondet_#in~x.base|=14, |init_nondet_#in~x.offset|=0] [?] #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; VAL [init_nondet_~i~0=5, init_nondet_~x.base=14, init_nondet_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |init_nondet_#in~x.base|=14, |init_nondet_#in~x.offset|=0] [?] assume !!(~i~0 < 10);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + 4 * ~i~0, 4);havoc #t~nondet1; VAL [init_nondet_~i~0=5, init_nondet_~x.base=14, init_nondet_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |init_nondet_#in~x.base|=14, |init_nondet_#in~x.offset|=0] [?] #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; VAL [init_nondet_~i~0=6, init_nondet_~x.base=14, init_nondet_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |init_nondet_#in~x.base|=14, |init_nondet_#in~x.offset|=0] [?] assume !!(~i~0 < 10);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + 4 * ~i~0, 4);havoc #t~nondet1; VAL [init_nondet_~i~0=6, init_nondet_~x.base=14, init_nondet_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |init_nondet_#in~x.base|=14, |init_nondet_#in~x.offset|=0] [?] #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; VAL [init_nondet_~i~0=7, init_nondet_~x.base=14, init_nondet_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |init_nondet_#in~x.base|=14, |init_nondet_#in~x.offset|=0] [?] assume !!(~i~0 < 10);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + 4 * ~i~0, 4);havoc #t~nondet1; VAL [init_nondet_~i~0=7, init_nondet_~x.base=14, init_nondet_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |init_nondet_#in~x.base|=14, |init_nondet_#in~x.offset|=0] [?] #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; VAL [init_nondet_~i~0=8, init_nondet_~x.base=14, init_nondet_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |init_nondet_#in~x.base|=14, |init_nondet_#in~x.offset|=0] [?] assume !!(~i~0 < 10);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + 4 * ~i~0, 4);havoc #t~nondet1; VAL [init_nondet_~i~0=8, init_nondet_~x.base=14, init_nondet_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |init_nondet_#in~x.base|=14, |init_nondet_#in~x.offset|=0] [?] #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; VAL [init_nondet_~i~0=9, init_nondet_~x.base=14, init_nondet_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |init_nondet_#in~x.base|=14, |init_nondet_#in~x.offset|=0] [?] assume !!(~i~0 < 10);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + 4 * ~i~0, 4);havoc #t~nondet1; VAL [init_nondet_~i~0=9, init_nondet_~x.base=14, init_nondet_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |init_nondet_#in~x.base|=14, |init_nondet_#in~x.offset|=0] [?] #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; VAL [init_nondet_~i~0=10, init_nondet_~x.base=14, init_nondet_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |init_nondet_#in~x.base|=14, |init_nondet_#in~x.offset|=0] [?] assume !(~i~0 < 10); VAL [init_nondet_~i~0=10, init_nondet_~x.base=14, init_nondet_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |init_nondet_#in~x.base|=14, |init_nondet_#in~x.offset|=0] [?] assume true; VAL [init_nondet_~i~0=10, init_nondet_~x.base=14, init_nondet_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |init_nondet_#in~x.base|=14, |init_nondet_#in~x.offset|=0] [?] RET #82#return; VAL [|#NULL.base|=0, |#NULL.offset|=0, |main_~#x~0.base|=14, |main_~#x~0.offset|=0] [?] havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0; VAL [|#NULL.base|=0, |#NULL.offset|=0, |main_~#x~0.base|=14, |main_~#x~0.offset|=0] [?] CALL call #t~ret4 := rangesum(~#x~0.base, ~#x~0.offset); VAL [|#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; VAL [rangesum_~cnt~0=0, rangesum_~i~1=0, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !!(~i~1 < 10); VAL [rangesum_~cnt~0=0, rangesum_~i~1=0, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !(~i~1 > 5); VAL [rangesum_~cnt~0=0, rangesum_~i~1=0, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; VAL [rangesum_~cnt~0=0, rangesum_~i~1=1, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !!(~i~1 < 10); VAL [rangesum_~cnt~0=0, rangesum_~i~1=1, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !(~i~1 > 5); VAL [rangesum_~cnt~0=0, rangesum_~i~1=1, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; VAL [rangesum_~cnt~0=0, rangesum_~i~1=2, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !!(~i~1 < 10); VAL [rangesum_~cnt~0=0, rangesum_~i~1=2, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !(~i~1 > 5); VAL [rangesum_~cnt~0=0, rangesum_~i~1=2, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; VAL [rangesum_~cnt~0=0, rangesum_~i~1=3, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !!(~i~1 < 10); VAL [rangesum_~cnt~0=0, rangesum_~i~1=3, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !(~i~1 > 5); VAL [rangesum_~cnt~0=0, rangesum_~i~1=3, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; VAL [rangesum_~cnt~0=0, rangesum_~i~1=4, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !!(~i~1 < 10); VAL [rangesum_~cnt~0=0, rangesum_~i~1=4, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !(~i~1 > 5); VAL [rangesum_~cnt~0=0, rangesum_~i~1=4, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; VAL [rangesum_~cnt~0=0, rangesum_~i~1=5, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !!(~i~1 < 10); VAL [rangesum_~cnt~0=0, rangesum_~i~1=5, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !(~i~1 > 5); VAL [rangesum_~cnt~0=0, rangesum_~i~1=5, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; VAL [rangesum_~cnt~0=0, rangesum_~i~1=6, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !!(~i~1 < 10); VAL [rangesum_~cnt~0=0, rangesum_~i~1=6, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume ~i~1 > 5;call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := 1 + ~cnt~0; VAL [rangesum_~cnt~0=1, rangesum_~i~1=6, rangesum_~ret~0=(- 2147483643), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; VAL [rangesum_~cnt~0=1, rangesum_~i~1=7, rangesum_~ret~0=(- 2147483643), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !!(~i~1 < 10); VAL [rangesum_~cnt~0=1, rangesum_~i~1=7, rangesum_~ret~0=(- 2147483643), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume ~i~1 > 5;call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := 1 + ~cnt~0; VAL [rangesum_~cnt~0=2, rangesum_~i~1=7, rangesum_~ret~0=(- 4294967288), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; VAL [rangesum_~cnt~0=2, rangesum_~i~1=8, rangesum_~ret~0=(- 4294967288), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !!(~i~1 < 10); VAL [rangesum_~cnt~0=2, rangesum_~i~1=8, rangesum_~ret~0=(- 4294967288), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume ~i~1 > 5;call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := 1 + ~cnt~0; VAL [rangesum_~cnt~0=3, rangesum_~i~1=8, rangesum_~ret~0=(- 6442450931), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; VAL [rangesum_~cnt~0=3, rangesum_~i~1=9, rangesum_~ret~0=(- 6442450931), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !!(~i~1 < 10); VAL [rangesum_~cnt~0=3, rangesum_~i~1=9, rangesum_~ret~0=(- 6442450931), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume ~i~1 > 5;call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := 1 + ~cnt~0; VAL [rangesum_~cnt~0=4, rangesum_~i~1=9, rangesum_~ret~0=(- 8589934577), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; VAL [rangesum_~cnt~0=4, rangesum_~i~1=10, rangesum_~ret~0=(- 8589934577), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !(~i~1 < 10); VAL [rangesum_~cnt~0=4, rangesum_~i~1=10, rangesum_~ret~0=(- 8589934577), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume 0 != ~cnt~0;#res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); VAL [rangesum_~cnt~0=4, rangesum_~i~1=10, rangesum_~ret~0=(- 8589934577), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0, |rangesum_#res|=(- 2147483644)] [?] assume true; VAL [rangesum_~cnt~0=4, rangesum_~i~1=10, rangesum_~ret~0=(- 8589934577), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0, |rangesum_#res|=(- 2147483644)] [?] RET #84#return; VAL [|#NULL.base|=0, |#NULL.offset|=0, |main_#t~ret4|=(- 2147483644), |main_~#x~0.base|=14, |main_~#x~0.offset|=0] [?] assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); VAL [main_~ret~1=(- 2147483644), main_~temp~0=(- 2147483648), |#NULL.base|=0, |#NULL.offset|=0, |main_~#x~0.base|=14, |main_~#x~0.offset|=0] [?] CALL call #t~ret7 := rangesum(~#x~0.base, ~#x~0.offset); VAL [|#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; VAL [rangesum_~cnt~0=0, rangesum_~i~1=0, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !!(~i~1 < 10); VAL [rangesum_~cnt~0=0, rangesum_~i~1=0, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !(~i~1 > 5); VAL [rangesum_~cnt~0=0, rangesum_~i~1=0, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; VAL [rangesum_~cnt~0=0, rangesum_~i~1=1, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !!(~i~1 < 10); VAL [rangesum_~cnt~0=0, rangesum_~i~1=1, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !(~i~1 > 5); VAL [rangesum_~cnt~0=0, rangesum_~i~1=1, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; VAL [rangesum_~cnt~0=0, rangesum_~i~1=2, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !!(~i~1 < 10); VAL [rangesum_~cnt~0=0, rangesum_~i~1=2, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !(~i~1 > 5); VAL [rangesum_~cnt~0=0, rangesum_~i~1=2, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; VAL [rangesum_~cnt~0=0, rangesum_~i~1=3, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !!(~i~1 < 10); VAL [rangesum_~cnt~0=0, rangesum_~i~1=3, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !(~i~1 > 5); VAL [rangesum_~cnt~0=0, rangesum_~i~1=3, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; VAL [rangesum_~cnt~0=0, rangesum_~i~1=4, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !!(~i~1 < 10); VAL [rangesum_~cnt~0=0, rangesum_~i~1=4, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !(~i~1 > 5); VAL [rangesum_~cnt~0=0, rangesum_~i~1=4, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; VAL [rangesum_~cnt~0=0, rangesum_~i~1=5, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !!(~i~1 < 10); VAL [rangesum_~cnt~0=0, rangesum_~i~1=5, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !(~i~1 > 5); VAL [rangesum_~cnt~0=0, rangesum_~i~1=5, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; VAL [rangesum_~cnt~0=0, rangesum_~i~1=6, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !!(~i~1 < 10); VAL [rangesum_~cnt~0=0, rangesum_~i~1=6, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume ~i~1 > 5;call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := 1 + ~cnt~0; VAL [rangesum_~cnt~0=1, rangesum_~i~1=6, rangesum_~ret~0=(- 2147483643), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; VAL [rangesum_~cnt~0=1, rangesum_~i~1=7, rangesum_~ret~0=(- 2147483643), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !!(~i~1 < 10); VAL [rangesum_~cnt~0=1, rangesum_~i~1=7, rangesum_~ret~0=(- 2147483643), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume ~i~1 > 5;call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := 1 + ~cnt~0; VAL [rangesum_~cnt~0=2, rangesum_~i~1=7, rangesum_~ret~0=(- 4294967288), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; VAL [rangesum_~cnt~0=2, rangesum_~i~1=8, rangesum_~ret~0=(- 4294967288), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !!(~i~1 < 10); VAL [rangesum_~cnt~0=2, rangesum_~i~1=8, rangesum_~ret~0=(- 4294967288), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume ~i~1 > 5;call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := 1 + ~cnt~0; VAL [rangesum_~cnt~0=3, rangesum_~i~1=8, rangesum_~ret~0=(- 6442450931), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; VAL [rangesum_~cnt~0=3, rangesum_~i~1=9, rangesum_~ret~0=(- 6442450931), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !!(~i~1 < 10); VAL [rangesum_~cnt~0=3, rangesum_~i~1=9, rangesum_~ret~0=(- 6442450931), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume ~i~1 > 5;call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := 1 + ~cnt~0; VAL [rangesum_~cnt~0=4, rangesum_~i~1=9, rangesum_~ret~0=(- 8589934577), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; VAL [rangesum_~cnt~0=4, rangesum_~i~1=10, rangesum_~ret~0=(- 8589934577), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !(~i~1 < 10); VAL [rangesum_~cnt~0=4, rangesum_~i~1=10, rangesum_~ret~0=(- 8589934577), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume 0 != ~cnt~0;#res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); VAL [rangesum_~cnt~0=4, rangesum_~i~1=10, rangesum_~ret~0=(- 8589934577), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0, |rangesum_#res|=(- 2147483644)] [?] assume true; VAL [rangesum_~cnt~0=4, rangesum_~i~1=10, rangesum_~ret~0=(- 8589934577), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0, |rangesum_#res|=(- 2147483644)] [?] RET #86#return; VAL [main_~ret~1=(- 2147483644), main_~temp~0=(- 2147483648), |#NULL.base|=0, |#NULL.offset|=0, |main_#t~ret7|=(- 2147483644), |main_~#x~0.base|=14, |main_~#x~0.offset|=0] [?] assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; VAL [main_~i~2=0, main_~ret2~0=(- 2147483644), main_~ret~1=(- 2147483644), main_~temp~0=(- 2147483647), |#NULL.base|=0, |#NULL.offset|=0, |main_~#x~0.base|=14, |main_~#x~0.offset|=0] [?] assume !!(~i~2 < 9);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; VAL [main_~i~2=0, main_~ret2~0=(- 2147483644), main_~ret~1=(- 2147483644), main_~temp~0=(- 2147483647), |#NULL.base|=0, |#NULL.offset|=0, |main_~#x~0.base|=14, |main_~#x~0.offset|=0] [?] #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; VAL [main_~i~2=1, main_~ret2~0=(- 2147483644), main_~ret~1=(- 2147483644), main_~temp~0=(- 2147483647), |#NULL.base|=0, |#NULL.offset|=0, |main_~#x~0.base|=14, |main_~#x~0.offset|=0] [?] assume !!(~i~2 < 9);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; VAL [main_~i~2=1, main_~ret2~0=(- 2147483644), main_~ret~1=(- 2147483644), main_~temp~0=(- 2147483647), |#NULL.base|=0, |#NULL.offset|=0, |main_~#x~0.base|=14, |main_~#x~0.offset|=0] [?] #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; VAL [main_~i~2=2, main_~ret2~0=(- 2147483644), main_~ret~1=(- 2147483644), main_~temp~0=(- 2147483647), |#NULL.base|=0, |#NULL.offset|=0, |main_~#x~0.base|=14, |main_~#x~0.offset|=0] [?] assume !!(~i~2 < 9);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; VAL [main_~i~2=2, main_~ret2~0=(- 2147483644), main_~ret~1=(- 2147483644), main_~temp~0=(- 2147483647), |#NULL.base|=0, |#NULL.offset|=0, |main_~#x~0.base|=14, |main_~#x~0.offset|=0] [?] #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; VAL [main_~i~2=3, main_~ret2~0=(- 2147483644), main_~ret~1=(- 2147483644), main_~temp~0=(- 2147483647), |#NULL.base|=0, |#NULL.offset|=0, |main_~#x~0.base|=14, |main_~#x~0.offset|=0] [?] assume !!(~i~2 < 9);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; VAL [main_~i~2=3, main_~ret2~0=(- 2147483644), main_~ret~1=(- 2147483644), main_~temp~0=(- 2147483647), |#NULL.base|=0, |#NULL.offset|=0, |main_~#x~0.base|=14, |main_~#x~0.offset|=0] [?] #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; VAL [main_~i~2=4, main_~ret2~0=(- 2147483644), main_~ret~1=(- 2147483644), main_~temp~0=(- 2147483647), |#NULL.base|=0, |#NULL.offset|=0, |main_~#x~0.base|=14, |main_~#x~0.offset|=0] [?] assume !!(~i~2 < 9);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; VAL [main_~i~2=4, main_~ret2~0=(- 2147483644), main_~ret~1=(- 2147483644), main_~temp~0=(- 2147483647), |#NULL.base|=0, |#NULL.offset|=0, |main_~#x~0.base|=14, |main_~#x~0.offset|=0] [?] #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; VAL [main_~i~2=5, main_~ret2~0=(- 2147483644), main_~ret~1=(- 2147483644), main_~temp~0=(- 2147483647), |#NULL.base|=0, |#NULL.offset|=0, |main_~#x~0.base|=14, |main_~#x~0.offset|=0] [?] assume !!(~i~2 < 9);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; VAL [main_~i~2=5, main_~ret2~0=(- 2147483644), main_~ret~1=(- 2147483644), main_~temp~0=(- 2147483647), |#NULL.base|=0, |#NULL.offset|=0, |main_~#x~0.base|=14, |main_~#x~0.offset|=0] [?] #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; VAL [main_~i~2=6, main_~ret2~0=(- 2147483644), main_~ret~1=(- 2147483644), main_~temp~0=(- 2147483647), |#NULL.base|=0, |#NULL.offset|=0, |main_~#x~0.base|=14, |main_~#x~0.offset|=0] [?] assume !!(~i~2 < 9);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; VAL [main_~i~2=6, main_~ret2~0=(- 2147483644), main_~ret~1=(- 2147483644), main_~temp~0=(- 2147483647), |#NULL.base|=0, |#NULL.offset|=0, |main_~#x~0.base|=14, |main_~#x~0.offset|=0] [?] #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; VAL [main_~i~2=7, main_~ret2~0=(- 2147483644), main_~ret~1=(- 2147483644), main_~temp~0=(- 2147483647), |#NULL.base|=0, |#NULL.offset|=0, |main_~#x~0.base|=14, |main_~#x~0.offset|=0] [?] assume !!(~i~2 < 9);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; VAL [main_~i~2=7, main_~ret2~0=(- 2147483644), main_~ret~1=(- 2147483644), main_~temp~0=(- 2147483647), |#NULL.base|=0, |#NULL.offset|=0, |main_~#x~0.base|=14, |main_~#x~0.offset|=0] [?] #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; VAL [main_~i~2=8, main_~ret2~0=(- 2147483644), main_~ret~1=(- 2147483644), main_~temp~0=(- 2147483647), |#NULL.base|=0, |#NULL.offset|=0, |main_~#x~0.base|=14, |main_~#x~0.offset|=0] [?] assume !!(~i~2 < 9);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; VAL [main_~i~2=8, main_~ret2~0=(- 2147483644), main_~ret~1=(- 2147483644), main_~temp~0=(- 2147483647), |#NULL.base|=0, |#NULL.offset|=0, |main_~#x~0.base|=14, |main_~#x~0.offset|=0] [?] #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; VAL [main_~i~2=9, main_~ret2~0=(- 2147483644), main_~ret~1=(- 2147483644), main_~temp~0=(- 2147483647), |#NULL.base|=0, |#NULL.offset|=0, |main_~#x~0.base|=14, |main_~#x~0.offset|=0] [?] assume !(~i~2 < 9); VAL [main_~i~2=9, main_~ret2~0=(- 2147483644), main_~ret~1=(- 2147483644), main_~temp~0=(- 2147483647), |#NULL.base|=0, |#NULL.offset|=0, |main_~#x~0.base|=14, |main_~#x~0.offset|=0] [?] call write~int(~temp~0, ~#x~0.base, 36 + ~#x~0.offset, 4); VAL [main_~i~2=9, main_~ret2~0=(- 2147483644), main_~ret~1=(- 2147483644), main_~temp~0=(- 2147483647), |#NULL.base|=0, |#NULL.offset|=0, |main_~#x~0.base|=14, |main_~#x~0.offset|=0] [?] CALL call #t~ret11 := rangesum(~#x~0.base, ~#x~0.offset); VAL [|#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; VAL [rangesum_~cnt~0=0, rangesum_~i~1=0, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !!(~i~1 < 10); VAL [rangesum_~cnt~0=0, rangesum_~i~1=0, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !(~i~1 > 5); VAL [rangesum_~cnt~0=0, rangesum_~i~1=0, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; VAL [rangesum_~cnt~0=0, rangesum_~i~1=1, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !!(~i~1 < 10); VAL [rangesum_~cnt~0=0, rangesum_~i~1=1, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !(~i~1 > 5); VAL [rangesum_~cnt~0=0, rangesum_~i~1=1, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; VAL [rangesum_~cnt~0=0, rangesum_~i~1=2, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !!(~i~1 < 10); VAL [rangesum_~cnt~0=0, rangesum_~i~1=2, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !(~i~1 > 5); VAL [rangesum_~cnt~0=0, rangesum_~i~1=2, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; VAL [rangesum_~cnt~0=0, rangesum_~i~1=3, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !!(~i~1 < 10); VAL [rangesum_~cnt~0=0, rangesum_~i~1=3, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !(~i~1 > 5); VAL [rangesum_~cnt~0=0, rangesum_~i~1=3, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; VAL [rangesum_~cnt~0=0, rangesum_~i~1=4, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !!(~i~1 < 10); VAL [rangesum_~cnt~0=0, rangesum_~i~1=4, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !(~i~1 > 5); VAL [rangesum_~cnt~0=0, rangesum_~i~1=4, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; VAL [rangesum_~cnt~0=0, rangesum_~i~1=5, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !!(~i~1 < 10); VAL [rangesum_~cnt~0=0, rangesum_~i~1=5, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !(~i~1 > 5); VAL [rangesum_~cnt~0=0, rangesum_~i~1=5, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; VAL [rangesum_~cnt~0=0, rangesum_~i~1=6, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !!(~i~1 < 10); VAL [rangesum_~cnt~0=0, rangesum_~i~1=6, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume ~i~1 > 5;call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := 1 + ~cnt~0; VAL [rangesum_~cnt~0=1, rangesum_~i~1=6, rangesum_~ret~0=(- 2147483645), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; VAL [rangesum_~cnt~0=1, rangesum_~i~1=7, rangesum_~ret~0=(- 2147483645), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !!(~i~1 < 10); VAL [rangesum_~cnt~0=1, rangesum_~i~1=7, rangesum_~ret~0=(- 2147483645), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume ~i~1 > 5;call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := 1 + ~cnt~0; VAL [rangesum_~cnt~0=2, rangesum_~i~1=7, rangesum_~ret~0=(- 4294967288), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; VAL [rangesum_~cnt~0=2, rangesum_~i~1=8, rangesum_~ret~0=(- 4294967288), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !!(~i~1 < 10); VAL [rangesum_~cnt~0=2, rangesum_~i~1=8, rangesum_~ret~0=(- 4294967288), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume ~i~1 > 5;call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := 1 + ~cnt~0; VAL [rangesum_~cnt~0=3, rangesum_~i~1=8, rangesum_~ret~0=(- 6442450934), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; VAL [rangesum_~cnt~0=3, rangesum_~i~1=9, rangesum_~ret~0=(- 6442450934), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !!(~i~1 < 10); VAL [rangesum_~cnt~0=3, rangesum_~i~1=9, rangesum_~ret~0=(- 6442450934), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume ~i~1 > 5;call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := 1 + ~cnt~0; VAL [rangesum_~cnt~0=4, rangesum_~i~1=9, rangesum_~ret~0=(- 8589934581), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; VAL [rangesum_~cnt~0=4, rangesum_~i~1=10, rangesum_~ret~0=(- 8589934581), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !(~i~1 < 10); VAL [rangesum_~cnt~0=4, rangesum_~i~1=10, rangesum_~ret~0=(- 8589934581), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume 0 != ~cnt~0;#res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); VAL [rangesum_~cnt~0=4, rangesum_~i~1=10, rangesum_~ret~0=(- 8589934581), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0, |rangesum_#res|=(- 2147483645)] [?] assume true; VAL [rangesum_~cnt~0=4, rangesum_~i~1=10, rangesum_~ret~0=(- 8589934581), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0, |rangesum_#res|=(- 2147483645)] [?] RET #88#return; VAL [main_~i~2=9, main_~ret2~0=(- 2147483644), main_~ret~1=(- 2147483644), main_~temp~0=(- 2147483647), |#NULL.base|=0, |#NULL.offset|=0, |main_#t~ret11|=(- 2147483645), |main_~#x~0.base|=14, |main_~#x~0.offset|=0] [?] assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; VAL [main_~i~2=9, main_~ret2~0=(- 2147483644), main_~ret5~0=(- 2147483645), main_~ret~1=(- 2147483644), main_~temp~0=(- 2147483647), |#NULL.base|=0, |#NULL.offset|=0, |main_~#x~0.base|=14, |main_~#x~0.offset|=0] [?] assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; VAL [main_~i~2=9, main_~ret2~0=(- 2147483644), main_~ret5~0=(- 2147483645), main_~ret~1=(- 2147483644), main_~temp~0=(- 2147483647), |#NULL.base|=0, |#NULL.offset|=0, |main_~#x~0.base|=14, |main_~#x~0.offset|=0] [?] assume !false; VAL [main_~i~2=9, main_~ret2~0=(- 2147483644), main_~ret5~0=(- 2147483645), main_~ret~1=(- 2147483644), main_~temp~0=(- 2147483647), |#NULL.base|=0, |#NULL.offset|=0, |main_~#x~0.base|=14, |main_~#x~0.offset|=0] [?] CALL call ULTIMATE.init(); VAL [#NULL.base=11, #NULL.offset=13, old(#NULL.base)=11, old(#NULL.offset)=13] [?] #NULL.base, #NULL.offset := 0, 0; [?] #valid := #valid[0 := 0]; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=11, old(#NULL.offset)=13] [?] ensures true; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=11, old(#NULL.offset)=13] [?] RET call ULTIMATE.init(); VAL [#NULL.base=0, #NULL.offset=0] [?] CALL call #t~ret12 := main(); VAL [#NULL.base=0, #NULL.offset=0] [L31] call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(40); VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0] [L32] CALL call init_nondet(~#x~0.base, ~#x~0.offset); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0] [L4-L9] ~x.base, ~x.offset := #in~x.base, #in~x.offset; [L5] havoc ~i~0; [L6] ~i~0 := 0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=0, ~x.base=14, ~x.offset=0] [L6-L8] assume !!(~i~0 < 10); [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] call write~int(#t~nondet1, ~x.base, ~x.offset + 4 * ~i~0, 4); [L7] havoc #t~nondet1; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=0, ~x.base=14, ~x.offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=1, ~x.base=14, ~x.offset=0] [L6-L8] assume !!(~i~0 < 10); [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] call write~int(#t~nondet1, ~x.base, ~x.offset + 4 * ~i~0, 4); [L7] havoc #t~nondet1; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=1, ~x.base=14, ~x.offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=2, ~x.base=14, ~x.offset=0] [L6-L8] assume !!(~i~0 < 10); [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] call write~int(#t~nondet1, ~x.base, ~x.offset + 4 * ~i~0, 4); [L7] havoc #t~nondet1; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=2, ~x.base=14, ~x.offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=3, ~x.base=14, ~x.offset=0] [L6-L8] assume !!(~i~0 < 10); [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] call write~int(#t~nondet1, ~x.base, ~x.offset + 4 * ~i~0, 4); [L7] havoc #t~nondet1; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=3, ~x.base=14, ~x.offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=4, ~x.base=14, ~x.offset=0] [L6-L8] assume !!(~i~0 < 10); [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] call write~int(#t~nondet1, ~x.base, ~x.offset + 4 * ~i~0, 4); [L7] havoc #t~nondet1; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=4, ~x.base=14, ~x.offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=5, ~x.base=14, ~x.offset=0] [L6-L8] assume !!(~i~0 < 10); [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] call write~int(#t~nondet1, ~x.base, ~x.offset + 4 * ~i~0, 4); [L7] havoc #t~nondet1; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=5, ~x.base=14, ~x.offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=6, ~x.base=14, ~x.offset=0] [L6-L8] assume !!(~i~0 < 10); [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] call write~int(#t~nondet1, ~x.base, ~x.offset + 4 * ~i~0, 4); [L7] havoc #t~nondet1; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=6, ~x.base=14, ~x.offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=7, ~x.base=14, ~x.offset=0] [L6-L8] assume !!(~i~0 < 10); [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] call write~int(#t~nondet1, ~x.base, ~x.offset + 4 * ~i~0, 4); [L7] havoc #t~nondet1; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=7, ~x.base=14, ~x.offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=8, ~x.base=14, ~x.offset=0] [L6-L8] assume !!(~i~0 < 10); [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] call write~int(#t~nondet1, ~x.base, ~x.offset + 4 * ~i~0, 4); [L7] havoc #t~nondet1; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=8, ~x.base=14, ~x.offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=9, ~x.base=14, ~x.offset=0] [L6-L8] assume !!(~i~0 < 10); [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] call write~int(#t~nondet1, ~x.base, ~x.offset + 4 * ~i~0, 4); [L7] havoc #t~nondet1; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=9, ~x.base=14, ~x.offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=10, ~x.base=14, ~x.offset=0] [L6-L8] assume !(~i~0 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=10, ~x.base=14, ~x.offset=0] [L4-L9] ensures true; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=10, ~x.base=14, ~x.offset=0] [L32] RET call init_nondet(~#x~0.base, ~#x~0.offset); VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0] [L33] havoc ~temp~0; [L34] havoc ~ret~1; [L35] havoc ~ret2~0; [L36] havoc ~ret5~0; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0] [L38] CALL call #t~ret4 := rangesum(~#x~0.base, ~#x~0.offset); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0] [L11-L27] ~x.base, ~x.offset := #in~x.base, #in~x.offset; [L13] havoc ~i~1; [L14] havoc ~ret~0; [L15] ~ret~0 := 0; [L16] ~cnt~0 := 0; [L17] ~i~1 := 0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume ~i~1 > 5; [L19] call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=1, ~i~1=6, ~ret~0=-2147483643, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483643, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483643, ~x.base=14, ~x.offset=0] [L18-L21] assume ~i~1 > 5; [L19] call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=2, ~i~1=7, ~ret~0=-4294967288, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x.base=14, ~x.offset=0] [L18-L21] assume ~i~1 > 5; [L19] call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=3, ~i~1=8, ~ret~0=-6442450931, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450931, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450931, ~x.base=14, ~x.offset=0] [L18-L21] assume ~i~1 > 5; [L19] call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=4, ~i~1=9, ~ret~0=-8589934577, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x.base=14, ~x.offset=0] [L17-L22] assume !(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x.base=14, ~x.offset=0] [L23-L26] assume 0 != ~cnt~0; [L24] #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, #res=-2147483644, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x.base=14, ~x.offset=0] [L11-L27] ensures true; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, #res=-2147483644, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x.base=14, ~x.offset=0] [L38] RET call #t~ret4 := rangesum(~#x~0.base, ~#x~0.offset); VAL [#NULL.base=0, #NULL.offset=0, #t~ret4=-2147483644, ~#x~0.base=14, ~#x~0.offset=0] [L38] assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; [L38] ~ret~1 := #t~ret4; [L38] havoc #t~ret4; [L40] call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4); [L40] ~temp~0 := #t~mem5; [L40] havoc #t~mem5; [L40] call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4); [L40] call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4); [L40] havoc #t~mem6; [L40] call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~ret~1=-2147483644, ~temp~0=-2147483648] [L41] CALL call #t~ret7 := rangesum(~#x~0.base, ~#x~0.offset); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0] [L11-L27] ~x.base, ~x.offset := #in~x.base, #in~x.offset; [L13] havoc ~i~1; [L14] havoc ~ret~0; [L15] ~ret~0 := 0; [L16] ~cnt~0 := 0; [L17] ~i~1 := 0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume ~i~1 > 5; [L19] call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=1, ~i~1=6, ~ret~0=-2147483643, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483643, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483643, ~x.base=14, ~x.offset=0] [L18-L21] assume ~i~1 > 5; [L19] call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=2, ~i~1=7, ~ret~0=-4294967288, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x.base=14, ~x.offset=0] [L18-L21] assume ~i~1 > 5; [L19] call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=3, ~i~1=8, ~ret~0=-6442450931, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450931, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450931, ~x.base=14, ~x.offset=0] [L18-L21] assume ~i~1 > 5; [L19] call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=4, ~i~1=9, ~ret~0=-8589934577, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x.base=14, ~x.offset=0] [L17-L22] assume !(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x.base=14, ~x.offset=0] [L23-L26] assume 0 != ~cnt~0; [L24] #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, #res=-2147483644, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x.base=14, ~x.offset=0] [L11-L27] ensures true; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, #res=-2147483644, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x.base=14, ~x.offset=0] [L41] RET call #t~ret7 := rangesum(~#x~0.base, ~#x~0.offset); VAL [#NULL.base=0, #NULL.offset=0, #t~ret7=-2147483644, ~#x~0.base=14, ~#x~0.offset=0, ~ret~1=-2147483644, ~temp~0=-2147483648] [L41] assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647; [L41] ~ret2~0 := #t~ret7; [L41] havoc #t~ret7; [L42] call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4); [L42] ~temp~0 := #t~mem8; [L42] havoc #t~mem8; [L43] ~i~2 := 0; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=0, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] assume !!(~i~2 < 9); [L44] call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4); [L44] call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4); [L44] havoc #t~mem10; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=0, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=1, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] assume !!(~i~2 < 9); [L44] call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4); [L44] call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4); [L44] havoc #t~mem10; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=1, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=2, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] assume !!(~i~2 < 9); [L44] call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4); [L44] call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4); [L44] havoc #t~mem10; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=2, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=3, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] assume !!(~i~2 < 9); [L44] call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4); [L44] call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4); [L44] havoc #t~mem10; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=3, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=4, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] assume !!(~i~2 < 9); [L44] call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4); [L44] call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4); [L44] havoc #t~mem10; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=4, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=5, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] assume !!(~i~2 < 9); [L44] call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4); [L44] call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4); [L44] havoc #t~mem10; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=5, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=6, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] assume !!(~i~2 < 9); [L44] call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4); [L44] call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4); [L44] havoc #t~mem10; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=6, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=7, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] assume !!(~i~2 < 9); [L44] call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4); [L44] call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4); [L44] havoc #t~mem10; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=7, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=8, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] assume !!(~i~2 < 9); [L44] call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4); [L44] call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4); [L44] havoc #t~mem10; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=8, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] assume !(~i~2 < 9); VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L46] call write~int(~temp~0, ~#x~0.base, 36 + ~#x~0.offset, 4); VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L47] CALL call #t~ret11 := rangesum(~#x~0.base, ~#x~0.offset); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0] [L11-L27] ~x.base, ~x.offset := #in~x.base, #in~x.offset; [L13] havoc ~i~1; [L14] havoc ~ret~0; [L15] ~ret~0 := 0; [L16] ~cnt~0 := 0; [L17] ~i~1 := 0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume ~i~1 > 5; [L19] call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=1, ~i~1=6, ~ret~0=-2147483645, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483645, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483645, ~x.base=14, ~x.offset=0] [L18-L21] assume ~i~1 > 5; [L19] call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=2, ~i~1=7, ~ret~0=-4294967288, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x.base=14, ~x.offset=0] [L18-L21] assume ~i~1 > 5; [L19] call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=3, ~i~1=8, ~ret~0=-6442450934, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450934, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450934, ~x.base=14, ~x.offset=0] [L18-L21] assume ~i~1 > 5; [L19] call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=4, ~i~1=9, ~ret~0=-8589934581, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934581, ~x.base=14, ~x.offset=0] [L17-L22] assume !(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934581, ~x.base=14, ~x.offset=0] [L23-L26] assume 0 != ~cnt~0; [L24] #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, #res=-2147483645, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934581, ~x.base=14, ~x.offset=0] [L11-L27] ensures true; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, #res=-2147483645, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934581, ~x.base=14, ~x.offset=0] [L47] RET call #t~ret11 := rangesum(~#x~0.base, ~#x~0.offset); VAL [#NULL.base=0, #NULL.offset=0, #t~ret11=-2147483645, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L47] assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647; [L47] ~ret5~0 := #t~ret11; [L47] havoc #t~ret11; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret5~0=-2147483645, ~ret~1=-2147483644, ~temp~0=-2147483647] [L49-L51] assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret5~0=-2147483645, ~ret~1=-2147483644, ~temp~0=-2147483647] [L50] assert false; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret5~0=-2147483645, ~ret~1=-2147483644, ~temp~0=-2147483647] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.preprocessor.BoogiePreprocessorBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL.base=11, #NULL.offset=13, old(#NULL.base)=11, old(#NULL.offset)=13] [?] #NULL.base, #NULL.offset := 0, 0; [?] #valid := #valid[0 := 0]; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=11, old(#NULL.offset)=13] [?] ensures true; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=11, old(#NULL.offset)=13] [?] RET call ULTIMATE.init(); VAL [#NULL.base=0, #NULL.offset=0] [?] CALL call #t~ret12 := main(); VAL [#NULL.base=0, #NULL.offset=0] [L31] call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(40); VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0] [L32] CALL call init_nondet(~#x~0.base, ~#x~0.offset); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0] [L4-L9] ~x.base, ~x.offset := #in~x.base, #in~x.offset; [L5] havoc ~i~0; [L6] ~i~0 := 0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=0, ~x.base=14, ~x.offset=0] [L6-L8] assume !!(~i~0 < 10); [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] call write~int(#t~nondet1, ~x.base, ~x.offset + 4 * ~i~0, 4); [L7] havoc #t~nondet1; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=0, ~x.base=14, ~x.offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=1, ~x.base=14, ~x.offset=0] [L6-L8] assume !!(~i~0 < 10); [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] call write~int(#t~nondet1, ~x.base, ~x.offset + 4 * ~i~0, 4); [L7] havoc #t~nondet1; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=1, ~x.base=14, ~x.offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=2, ~x.base=14, ~x.offset=0] [L6-L8] assume !!(~i~0 < 10); [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] call write~int(#t~nondet1, ~x.base, ~x.offset + 4 * ~i~0, 4); [L7] havoc #t~nondet1; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=2, ~x.base=14, ~x.offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=3, ~x.base=14, ~x.offset=0] [L6-L8] assume !!(~i~0 < 10); [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] call write~int(#t~nondet1, ~x.base, ~x.offset + 4 * ~i~0, 4); [L7] havoc #t~nondet1; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=3, ~x.base=14, ~x.offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=4, ~x.base=14, ~x.offset=0] [L6-L8] assume !!(~i~0 < 10); [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] call write~int(#t~nondet1, ~x.base, ~x.offset + 4 * ~i~0, 4); [L7] havoc #t~nondet1; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=4, ~x.base=14, ~x.offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=5, ~x.base=14, ~x.offset=0] [L6-L8] assume !!(~i~0 < 10); [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] call write~int(#t~nondet1, ~x.base, ~x.offset + 4 * ~i~0, 4); [L7] havoc #t~nondet1; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=5, ~x.base=14, ~x.offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=6, ~x.base=14, ~x.offset=0] [L6-L8] assume !!(~i~0 < 10); [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] call write~int(#t~nondet1, ~x.base, ~x.offset + 4 * ~i~0, 4); [L7] havoc #t~nondet1; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=6, ~x.base=14, ~x.offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=7, ~x.base=14, ~x.offset=0] [L6-L8] assume !!(~i~0 < 10); [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] call write~int(#t~nondet1, ~x.base, ~x.offset + 4 * ~i~0, 4); [L7] havoc #t~nondet1; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=7, ~x.base=14, ~x.offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=8, ~x.base=14, ~x.offset=0] [L6-L8] assume !!(~i~0 < 10); [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] call write~int(#t~nondet1, ~x.base, ~x.offset + 4 * ~i~0, 4); [L7] havoc #t~nondet1; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=8, ~x.base=14, ~x.offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=9, ~x.base=14, ~x.offset=0] [L6-L8] assume !!(~i~0 < 10); [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] call write~int(#t~nondet1, ~x.base, ~x.offset + 4 * ~i~0, 4); [L7] havoc #t~nondet1; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=9, ~x.base=14, ~x.offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=10, ~x.base=14, ~x.offset=0] [L6-L8] assume !(~i~0 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=10, ~x.base=14, ~x.offset=0] [L4-L9] ensures true; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=10, ~x.base=14, ~x.offset=0] [L32] RET call init_nondet(~#x~0.base, ~#x~0.offset); VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0] [L33] havoc ~temp~0; [L34] havoc ~ret~1; [L35] havoc ~ret2~0; [L36] havoc ~ret5~0; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0] [L38] CALL call #t~ret4 := rangesum(~#x~0.base, ~#x~0.offset); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0] [L11-L27] ~x.base, ~x.offset := #in~x.base, #in~x.offset; [L13] havoc ~i~1; [L14] havoc ~ret~0; [L15] ~ret~0 := 0; [L16] ~cnt~0 := 0; [L17] ~i~1 := 0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume ~i~1 > 5; [L19] call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=1, ~i~1=6, ~ret~0=-2147483643, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483643, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483643, ~x.base=14, ~x.offset=0] [L18-L21] assume ~i~1 > 5; [L19] call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=2, ~i~1=7, ~ret~0=-4294967288, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x.base=14, ~x.offset=0] [L18-L21] assume ~i~1 > 5; [L19] call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=3, ~i~1=8, ~ret~0=-6442450931, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450931, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450931, ~x.base=14, ~x.offset=0] [L18-L21] assume ~i~1 > 5; [L19] call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=4, ~i~1=9, ~ret~0=-8589934577, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x.base=14, ~x.offset=0] [L17-L22] assume !(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x.base=14, ~x.offset=0] [L23-L26] assume 0 != ~cnt~0; [L24] #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, #res=-2147483644, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x.base=14, ~x.offset=0] [L11-L27] ensures true; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, #res=-2147483644, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x.base=14, ~x.offset=0] [L38] RET call #t~ret4 := rangesum(~#x~0.base, ~#x~0.offset); VAL [#NULL.base=0, #NULL.offset=0, #t~ret4=-2147483644, ~#x~0.base=14, ~#x~0.offset=0] [L38] assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; [L38] ~ret~1 := #t~ret4; [L38] havoc #t~ret4; [L40] call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4); [L40] ~temp~0 := #t~mem5; [L40] havoc #t~mem5; [L40] call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4); [L40] call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4); [L40] havoc #t~mem6; [L40] call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~ret~1=-2147483644, ~temp~0=-2147483648] [L41] CALL call #t~ret7 := rangesum(~#x~0.base, ~#x~0.offset); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0] [L11-L27] ~x.base, ~x.offset := #in~x.base, #in~x.offset; [L13] havoc ~i~1; [L14] havoc ~ret~0; [L15] ~ret~0 := 0; [L16] ~cnt~0 := 0; [L17] ~i~1 := 0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume ~i~1 > 5; [L19] call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=1, ~i~1=6, ~ret~0=-2147483643, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483643, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483643, ~x.base=14, ~x.offset=0] [L18-L21] assume ~i~1 > 5; [L19] call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=2, ~i~1=7, ~ret~0=-4294967288, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x.base=14, ~x.offset=0] [L18-L21] assume ~i~1 > 5; [L19] call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=3, ~i~1=8, ~ret~0=-6442450931, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450931, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450931, ~x.base=14, ~x.offset=0] [L18-L21] assume ~i~1 > 5; [L19] call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=4, ~i~1=9, ~ret~0=-8589934577, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x.base=14, ~x.offset=0] [L17-L22] assume !(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x.base=14, ~x.offset=0] [L23-L26] assume 0 != ~cnt~0; [L24] #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, #res=-2147483644, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x.base=14, ~x.offset=0] [L11-L27] ensures true; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, #res=-2147483644, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x.base=14, ~x.offset=0] [L41] RET call #t~ret7 := rangesum(~#x~0.base, ~#x~0.offset); VAL [#NULL.base=0, #NULL.offset=0, #t~ret7=-2147483644, ~#x~0.base=14, ~#x~0.offset=0, ~ret~1=-2147483644, ~temp~0=-2147483648] [L41] assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647; [L41] ~ret2~0 := #t~ret7; [L41] havoc #t~ret7; [L42] call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4); [L42] ~temp~0 := #t~mem8; [L42] havoc #t~mem8; [L43] ~i~2 := 0; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=0, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] assume !!(~i~2 < 9); [L44] call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4); [L44] call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4); [L44] havoc #t~mem10; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=0, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=1, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] assume !!(~i~2 < 9); [L44] call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4); [L44] call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4); [L44] havoc #t~mem10; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=1, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=2, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] assume !!(~i~2 < 9); [L44] call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4); [L44] call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4); [L44] havoc #t~mem10; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=2, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=3, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] assume !!(~i~2 < 9); [L44] call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4); [L44] call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4); [L44] havoc #t~mem10; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=3, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=4, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] assume !!(~i~2 < 9); [L44] call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4); [L44] call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4); [L44] havoc #t~mem10; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=4, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=5, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] assume !!(~i~2 < 9); [L44] call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4); [L44] call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4); [L44] havoc #t~mem10; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=5, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=6, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] assume !!(~i~2 < 9); [L44] call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4); [L44] call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4); [L44] havoc #t~mem10; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=6, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=7, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] assume !!(~i~2 < 9); [L44] call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4); [L44] call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4); [L44] havoc #t~mem10; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=7, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=8, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] assume !!(~i~2 < 9); [L44] call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4); [L44] call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4); [L44] havoc #t~mem10; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=8, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] assume !(~i~2 < 9); VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L46] call write~int(~temp~0, ~#x~0.base, 36 + ~#x~0.offset, 4); VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L47] CALL call #t~ret11 := rangesum(~#x~0.base, ~#x~0.offset); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0] [L11-L27] ~x.base, ~x.offset := #in~x.base, #in~x.offset; [L13] havoc ~i~1; [L14] havoc ~ret~0; [L15] ~ret~0 := 0; [L16] ~cnt~0 := 0; [L17] ~i~1 := 0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume ~i~1 > 5; [L19] call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=1, ~i~1=6, ~ret~0=-2147483645, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483645, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483645, ~x.base=14, ~x.offset=0] [L18-L21] assume ~i~1 > 5; [L19] call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=2, ~i~1=7, ~ret~0=-4294967288, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x.base=14, ~x.offset=0] [L18-L21] assume ~i~1 > 5; [L19] call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=3, ~i~1=8, ~ret~0=-6442450934, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450934, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450934, ~x.base=14, ~x.offset=0] [L18-L21] assume ~i~1 > 5; [L19] call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=4, ~i~1=9, ~ret~0=-8589934581, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934581, ~x.base=14, ~x.offset=0] [L17-L22] assume !(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934581, ~x.base=14, ~x.offset=0] [L23-L26] assume 0 != ~cnt~0; [L24] #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, #res=-2147483645, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934581, ~x.base=14, ~x.offset=0] [L11-L27] ensures true; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, #res=-2147483645, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934581, ~x.base=14, ~x.offset=0] [L47] RET call #t~ret11 := rangesum(~#x~0.base, ~#x~0.offset); VAL [#NULL.base=0, #NULL.offset=0, #t~ret11=-2147483645, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L47] assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647; [L47] ~ret5~0 := #t~ret11; [L47] havoc #t~ret11; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret5~0=-2147483645, ~ret~1=-2147483644, ~temp~0=-2147483647] [L49-L51] assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret5~0=-2147483645, ~ret~1=-2147483644, ~temp~0=-2147483647] [L50] assert false; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret5~0=-2147483645, ~ret~1=-2147483644, ~temp~0=-2147483647] [?] CALL call ULTIMATE.init(); VAL [#NULL!base=11, #NULL!offset=13, old(#NULL!base)=11, old(#NULL!offset)=13] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=11, old(#NULL!offset)=13] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0] [?] CALL call #t~ret12 := main(); VAL [#NULL!base=0, #NULL!offset=0] [L31] FCALL call ~#x~0 := #Ultimate.alloc(40); VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0] [L32] CALL call init_nondet(~#x~0); VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0] [L4-L9] ~x := #in~x; [L5] havoc ~i~0; [L6] ~i~0 := 0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=0, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=0, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=1, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=1, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=2, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=2, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=3, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=3, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=4, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=4, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=5, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=5, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=6, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=6, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=7, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=7, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=8, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=8, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=9, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=9, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=10, ~x!base=14, ~x!offset=0] [L6-L8] COND TRUE !(~i~0 < 10) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=10, ~x!base=14, ~x!offset=0] [L32] RET call init_nondet(~#x~0); VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0] [L33] havoc ~temp~0; [L34] havoc ~ret~1; [L35] havoc ~ret2~0; [L36] havoc ~ret5~0; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0] [L38] CALL call #t~ret4 := rangesum(~#x~0); VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0] [L11-L27] ~x := #in~x; [L13] havoc ~i~1; [L14] havoc ~ret~0; [L15] ~ret~0 := 0; [L16] ~cnt~0 := 0; [L17] ~i~1 := 0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=6, ~ret~0=-2147483643, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483643, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483643, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=7, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=8, ~ret~0=-6442450931, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450931, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450931, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=9, ~ret~0=-8589934577, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x!base=14, ~x!offset=0] [L17-L22] COND TRUE !(~i~1 < 10) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x!base=14, ~x!offset=0] [L23] COND TRUE 0 != ~cnt~0 [L24] #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, #res=-2147483644, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x!base=14, ~x!offset=0] [L38] RET call #t~ret4 := rangesum(~#x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret4=-2147483644, ~#x~0!base=14, ~#x~0!offset=0] [L38] assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; [L38] ~ret~1 := #t~ret4; [L38] havoc #t~ret4; [L40] FCALL call #t~mem5 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset }, 4); [L40] ~temp~0 := #t~mem5; [L40] havoc #t~mem5; [L40] FCALL call #t~mem6 := read~int({ base: ~#x~0!base, offset: 4 + ~#x~0!offset }, 4); [L40] FCALL call write~int(#t~mem6, { base: ~#x~0!base, offset: ~#x~0!offset }, 4); [L40] havoc #t~mem6; [L40] FCALL call write~int(~temp~0, { base: ~#x~0!base, offset: 4 + ~#x~0!offset }, 4); VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~ret~1=-2147483644, ~temp~0=-2147483648] [L41] CALL call #t~ret7 := rangesum(~#x~0); VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0] [L11-L27] ~x := #in~x; [L13] havoc ~i~1; [L14] havoc ~ret~0; [L15] ~ret~0 := 0; [L16] ~cnt~0 := 0; [L17] ~i~1 := 0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=6, ~ret~0=-2147483643, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483643, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483643, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=7, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=8, ~ret~0=-6442450931, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450931, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450931, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=9, ~ret~0=-8589934577, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x!base=14, ~x!offset=0] [L17-L22] COND TRUE !(~i~1 < 10) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x!base=14, ~x!offset=0] [L23] COND TRUE 0 != ~cnt~0 [L24] #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, #res=-2147483644, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x!base=14, ~x!offset=0] [L41] RET call #t~ret7 := rangesum(~#x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret7=-2147483644, ~#x~0!base=14, ~#x~0!offset=0, ~ret~1=-2147483644, ~temp~0=-2147483648] [L41] assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647; [L41] ~ret2~0 := #t~ret7; [L41] havoc #t~ret7; [L42] FCALL call #t~mem8 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset }, 4); [L42] ~temp~0 := #t~mem8; [L42] havoc #t~mem8; [L43] ~i~2 := 0; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=0, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=0, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=1, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=1, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=2, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=2, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=3, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=3, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=4, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=4, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=5, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=5, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=6, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=6, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=7, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=7, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=8, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=8, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND TRUE !(~i~2 < 9) VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L46] FCALL call write~int(~temp~0, { base: ~#x~0!base, offset: 36 + ~#x~0!offset }, 4); VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L47] CALL call #t~ret11 := rangesum(~#x~0); VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0] [L11-L27] ~x := #in~x; [L13] havoc ~i~1; [L14] havoc ~ret~0; [L15] ~ret~0 := 0; [L16] ~cnt~0 := 0; [L17] ~i~1 := 0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=6, ~ret~0=-2147483645, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483645, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483645, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=7, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=8, ~ret~0=-6442450934, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450934, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450934, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=9, ~ret~0=-8589934581, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934581, ~x!base=14, ~x!offset=0] [L17-L22] COND TRUE !(~i~1 < 10) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934581, ~x!base=14, ~x!offset=0] [L23] COND TRUE 0 != ~cnt~0 [L24] #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, #res=-2147483645, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934581, ~x!base=14, ~x!offset=0] [L47] RET call #t~ret11 := rangesum(~#x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret11=-2147483645, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L47] assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647; [L47] ~ret5~0 := #t~ret11; [L47] havoc #t~ret11; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret5~0=-2147483645, ~ret~1=-2147483644, ~temp~0=-2147483647] [L49] COND TRUE ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0 VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret5~0=-2147483645, ~ret~1=-2147483644, ~temp~0=-2147483647] [L50] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret5~0=-2147483645, ~ret~1=-2147483644, ~temp~0=-2147483647] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL!base=11, #NULL!offset=13, old(#NULL!base)=11, old(#NULL!offset)=13] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=11, old(#NULL!offset)=13] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0] [?] CALL call #t~ret12 := main(); VAL [#NULL!base=0, #NULL!offset=0] [L31] FCALL call ~#x~0 := #Ultimate.alloc(40); VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0] [L32] CALL call init_nondet(~#x~0); VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0] [L4-L9] ~x := #in~x; [L5] havoc ~i~0; [L6] ~i~0 := 0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=0, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=0, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=1, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=1, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=2, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=2, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=3, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=3, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=4, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=4, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=5, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=5, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=6, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=6, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=7, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=7, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=8, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=8, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=9, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=9, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=10, ~x!base=14, ~x!offset=0] [L6-L8] COND TRUE !(~i~0 < 10) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=10, ~x!base=14, ~x!offset=0] [L32] RET call init_nondet(~#x~0); VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0] [L33] havoc ~temp~0; [L34] havoc ~ret~1; [L35] havoc ~ret2~0; [L36] havoc ~ret5~0; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0] [L38] CALL call #t~ret4 := rangesum(~#x~0); VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0] [L11-L27] ~x := #in~x; [L13] havoc ~i~1; [L14] havoc ~ret~0; [L15] ~ret~0 := 0; [L16] ~cnt~0 := 0; [L17] ~i~1 := 0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=6, ~ret~0=-2147483643, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483643, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483643, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=7, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=8, ~ret~0=-6442450931, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450931, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450931, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=9, ~ret~0=-8589934577, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x!base=14, ~x!offset=0] [L17-L22] COND TRUE !(~i~1 < 10) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x!base=14, ~x!offset=0] [L23] COND TRUE 0 != ~cnt~0 [L24] #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, #res=-2147483644, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x!base=14, ~x!offset=0] [L38] RET call #t~ret4 := rangesum(~#x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret4=-2147483644, ~#x~0!base=14, ~#x~0!offset=0] [L38] assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; [L38] ~ret~1 := #t~ret4; [L38] havoc #t~ret4; [L40] FCALL call #t~mem5 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset }, 4); [L40] ~temp~0 := #t~mem5; [L40] havoc #t~mem5; [L40] FCALL call #t~mem6 := read~int({ base: ~#x~0!base, offset: 4 + ~#x~0!offset }, 4); [L40] FCALL call write~int(#t~mem6, { base: ~#x~0!base, offset: ~#x~0!offset }, 4); [L40] havoc #t~mem6; [L40] FCALL call write~int(~temp~0, { base: ~#x~0!base, offset: 4 + ~#x~0!offset }, 4); VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~ret~1=-2147483644, ~temp~0=-2147483648] [L41] CALL call #t~ret7 := rangesum(~#x~0); VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0] [L11-L27] ~x := #in~x; [L13] havoc ~i~1; [L14] havoc ~ret~0; [L15] ~ret~0 := 0; [L16] ~cnt~0 := 0; [L17] ~i~1 := 0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=6, ~ret~0=-2147483643, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483643, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483643, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=7, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=8, ~ret~0=-6442450931, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450931, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450931, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=9, ~ret~0=-8589934577, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x!base=14, ~x!offset=0] [L17-L22] COND TRUE !(~i~1 < 10) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x!base=14, ~x!offset=0] [L23] COND TRUE 0 != ~cnt~0 [L24] #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, #res=-2147483644, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x!base=14, ~x!offset=0] [L41] RET call #t~ret7 := rangesum(~#x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret7=-2147483644, ~#x~0!base=14, ~#x~0!offset=0, ~ret~1=-2147483644, ~temp~0=-2147483648] [L41] assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647; [L41] ~ret2~0 := #t~ret7; [L41] havoc #t~ret7; [L42] FCALL call #t~mem8 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset }, 4); [L42] ~temp~0 := #t~mem8; [L42] havoc #t~mem8; [L43] ~i~2 := 0; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=0, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=0, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=1, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=1, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=2, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=2, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=3, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=3, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=4, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=4, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=5, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=5, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=6, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=6, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=7, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=7, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=8, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=8, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND TRUE !(~i~2 < 9) VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L46] FCALL call write~int(~temp~0, { base: ~#x~0!base, offset: 36 + ~#x~0!offset }, 4); VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L47] CALL call #t~ret11 := rangesum(~#x~0); VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0] [L11-L27] ~x := #in~x; [L13] havoc ~i~1; [L14] havoc ~ret~0; [L15] ~ret~0 := 0; [L16] ~cnt~0 := 0; [L17] ~i~1 := 0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=6, ~ret~0=-2147483645, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483645, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483645, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=7, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=8, ~ret~0=-6442450934, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450934, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450934, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=9, ~ret~0=-8589934581, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934581, ~x!base=14, ~x!offset=0] [L17-L22] COND TRUE !(~i~1 < 10) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934581, ~x!base=14, ~x!offset=0] [L23] COND TRUE 0 != ~cnt~0 [L24] #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, #res=-2147483645, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934581, ~x!base=14, ~x!offset=0] [L47] RET call #t~ret11 := rangesum(~#x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret11=-2147483645, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L47] assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647; [L47] ~ret5~0 := #t~ret11; [L47] havoc #t~ret11; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret5~0=-2147483645, ~ret~1=-2147483644, ~temp~0=-2147483647] [L49] COND TRUE ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0 VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret5~0=-2147483645, ~ret~1=-2147483644, ~temp~0=-2147483647] [L50] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret5~0=-2147483645, ~ret~1=-2147483644, ~temp~0=-2147483647] [?] CALL call ULTIMATE.init(); VAL [#NULL!base=11, #NULL!offset=13, old(#NULL!base)=11, old(#NULL!offset)=13] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=11, old(#NULL!offset)=13] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0] [?] CALL call #t~ret12 := main(); VAL [#NULL!base=0, #NULL!offset=0] [L31] FCALL call ~#x~0 := #Ultimate.alloc(40); VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0] [L32] CALL call init_nondet(~#x~0); VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0] [L4-L9] ~x := #in~x; [L5] havoc ~i~0; [L6] ~i~0 := 0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=0, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=0, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=1, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=1, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=2, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=2, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=3, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=3, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=4, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=4, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=5, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=5, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=6, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=6, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=7, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=7, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=8, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=8, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=9, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=9, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=10, ~x!base=14, ~x!offset=0] [L6-L8] COND TRUE !(~i~0 < 10) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=10, ~x!base=14, ~x!offset=0] [L32] RET call init_nondet(~#x~0); VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0] [L33] havoc ~temp~0; [L34] havoc ~ret~1; [L35] havoc ~ret2~0; [L36] havoc ~ret5~0; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0] [L38] CALL call #t~ret4 := rangesum(~#x~0); VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0] [L11-L27] ~x := #in~x; [L13] havoc ~i~1; [L14] havoc ~ret~0; [L15] ~ret~0 := 0; [L16] ~cnt~0 := 0; [L17] ~i~1 := 0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=6, ~ret~0=-2147483643, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483643, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483643, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=7, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=8, ~ret~0=-6442450931, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450931, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450931, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=9, ~ret~0=-8589934577, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x!base=14, ~x!offset=0] [L17-L22] COND TRUE !(~i~1 < 10) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x!base=14, ~x!offset=0] [L23] COND TRUE 0 != ~cnt~0 [L24] #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, #res=-2147483644, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x!base=14, ~x!offset=0] [L38] RET call #t~ret4 := rangesum(~#x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret4=-2147483644, ~#x~0!base=14, ~#x~0!offset=0] [L38] assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; [L38] ~ret~1 := #t~ret4; [L38] havoc #t~ret4; [L40] FCALL call #t~mem5 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset }, 4); [L40] ~temp~0 := #t~mem5; [L40] havoc #t~mem5; [L40] FCALL call #t~mem6 := read~int({ base: ~#x~0!base, offset: 4 + ~#x~0!offset }, 4); [L40] FCALL call write~int(#t~mem6, { base: ~#x~0!base, offset: ~#x~0!offset }, 4); [L40] havoc #t~mem6; [L40] FCALL call write~int(~temp~0, { base: ~#x~0!base, offset: 4 + ~#x~0!offset }, 4); VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~ret~1=-2147483644, ~temp~0=-2147483648] [L41] CALL call #t~ret7 := rangesum(~#x~0); VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0] [L11-L27] ~x := #in~x; [L13] havoc ~i~1; [L14] havoc ~ret~0; [L15] ~ret~0 := 0; [L16] ~cnt~0 := 0; [L17] ~i~1 := 0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=6, ~ret~0=-2147483643, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483643, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483643, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=7, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=8, ~ret~0=-6442450931, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450931, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450931, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=9, ~ret~0=-8589934577, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x!base=14, ~x!offset=0] [L17-L22] COND TRUE !(~i~1 < 10) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x!base=14, ~x!offset=0] [L23] COND TRUE 0 != ~cnt~0 [L24] #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, #res=-2147483644, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x!base=14, ~x!offset=0] [L41] RET call #t~ret7 := rangesum(~#x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret7=-2147483644, ~#x~0!base=14, ~#x~0!offset=0, ~ret~1=-2147483644, ~temp~0=-2147483648] [L41] assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647; [L41] ~ret2~0 := #t~ret7; [L41] havoc #t~ret7; [L42] FCALL call #t~mem8 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset }, 4); [L42] ~temp~0 := #t~mem8; [L42] havoc #t~mem8; [L43] ~i~2 := 0; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=0, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=0, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=1, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=1, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=2, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=2, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=3, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=3, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=4, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=4, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=5, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=5, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=6, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=6, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=7, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=7, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=8, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=8, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND TRUE !(~i~2 < 9) VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L46] FCALL call write~int(~temp~0, { base: ~#x~0!base, offset: 36 + ~#x~0!offset }, 4); VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L47] CALL call #t~ret11 := rangesum(~#x~0); VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0] [L11-L27] ~x := #in~x; [L13] havoc ~i~1; [L14] havoc ~ret~0; [L15] ~ret~0 := 0; [L16] ~cnt~0 := 0; [L17] ~i~1 := 0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=6, ~ret~0=-2147483645, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483645, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483645, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=7, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=8, ~ret~0=-6442450934, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450934, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450934, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=9, ~ret~0=-8589934581, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934581, ~x!base=14, ~x!offset=0] [L17-L22] COND TRUE !(~i~1 < 10) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934581, ~x!base=14, ~x!offset=0] [L23] COND TRUE 0 != ~cnt~0 [L24] #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, #res=-2147483645, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934581, ~x!base=14, ~x!offset=0] [L47] RET call #t~ret11 := rangesum(~#x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret11=-2147483645, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L47] assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647; [L47] ~ret5~0 := #t~ret11; [L47] havoc #t~ret11; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret5~0=-2147483645, ~ret~1=-2147483644, ~temp~0=-2147483647] [L49] COND TRUE ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0 VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret5~0=-2147483645, ~ret~1=-2147483644, ~temp~0=-2147483647] [L50] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret5~0=-2147483645, ~ret~1=-2147483644, ~temp~0=-2147483647] ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL!base=11, #NULL!offset=13, old(#NULL!base)=11, old(#NULL!offset)=13] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=11, old(#NULL!offset)=13] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0] [?] CALL call #t~ret12 := main(); VAL [#NULL!base=0, #NULL!offset=0] [L31] FCALL call ~#x~0 := #Ultimate.alloc(40); VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0] [L32] CALL call init_nondet(~#x~0); VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0] [L4-L9] ~x := #in~x; [L5] havoc ~i~0; [L6] ~i~0 := 0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=0, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=0, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=1, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=1, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=2, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=2, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=3, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=3, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=4, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=4, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=5, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=5, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=6, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=6, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=7, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=7, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=8, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=8, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=9, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=9, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=10, ~x!base=14, ~x!offset=0] [L6-L8] COND TRUE !(~i~0 < 10) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=10, ~x!base=14, ~x!offset=0] [L32] RET call init_nondet(~#x~0); VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0] [L33] havoc ~temp~0; [L34] havoc ~ret~1; [L35] havoc ~ret2~0; [L36] havoc ~ret5~0; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0] [L38] CALL call #t~ret4 := rangesum(~#x~0); VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0] [L11-L27] ~x := #in~x; [L13] havoc ~i~1; [L14] havoc ~ret~0; [L15] ~ret~0 := 0; [L16] ~cnt~0 := 0; [L17] ~i~1 := 0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=6, ~ret~0=-2147483643, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483643, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483643, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=7, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=8, ~ret~0=-6442450931, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450931, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450931, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=9, ~ret~0=-8589934577, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x!base=14, ~x!offset=0] [L17-L22] COND TRUE !(~i~1 < 10) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x!base=14, ~x!offset=0] [L23] COND TRUE 0 != ~cnt~0 [L24] #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, #res=-2147483644, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x!base=14, ~x!offset=0] [L38] RET call #t~ret4 := rangesum(~#x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret4=-2147483644, ~#x~0!base=14, ~#x~0!offset=0] [L38] assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; [L38] ~ret~1 := #t~ret4; [L38] havoc #t~ret4; [L40] FCALL call #t~mem5 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset }, 4); [L40] ~temp~0 := #t~mem5; [L40] havoc #t~mem5; [L40] FCALL call #t~mem6 := read~int({ base: ~#x~0!base, offset: 4 + ~#x~0!offset }, 4); [L40] FCALL call write~int(#t~mem6, { base: ~#x~0!base, offset: ~#x~0!offset }, 4); [L40] havoc #t~mem6; [L40] FCALL call write~int(~temp~0, { base: ~#x~0!base, offset: 4 + ~#x~0!offset }, 4); VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~ret~1=-2147483644, ~temp~0=-2147483648] [L41] CALL call #t~ret7 := rangesum(~#x~0); VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0] [L11-L27] ~x := #in~x; [L13] havoc ~i~1; [L14] havoc ~ret~0; [L15] ~ret~0 := 0; [L16] ~cnt~0 := 0; [L17] ~i~1 := 0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=6, ~ret~0=-2147483643, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483643, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483643, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=7, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=8, ~ret~0=-6442450931, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450931, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450931, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=9, ~ret~0=-8589934577, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x!base=14, ~x!offset=0] [L17-L22] COND TRUE !(~i~1 < 10) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x!base=14, ~x!offset=0] [L23] COND TRUE 0 != ~cnt~0 [L24] #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, #res=-2147483644, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x!base=14, ~x!offset=0] [L41] RET call #t~ret7 := rangesum(~#x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret7=-2147483644, ~#x~0!base=14, ~#x~0!offset=0, ~ret~1=-2147483644, ~temp~0=-2147483648] [L41] assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647; [L41] ~ret2~0 := #t~ret7; [L41] havoc #t~ret7; [L42] FCALL call #t~mem8 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset }, 4); [L42] ~temp~0 := #t~mem8; [L42] havoc #t~mem8; [L43] ~i~2 := 0; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=0, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=0, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=1, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=1, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=2, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=2, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=3, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=3, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=4, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=4, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=5, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=5, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=6, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=6, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=7, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=7, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=8, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=8, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND TRUE !(~i~2 < 9) VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L46] FCALL call write~int(~temp~0, { base: ~#x~0!base, offset: 36 + ~#x~0!offset }, 4); VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L47] CALL call #t~ret11 := rangesum(~#x~0); VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0] [L11-L27] ~x := #in~x; [L13] havoc ~i~1; [L14] havoc ~ret~0; [L15] ~ret~0 := 0; [L16] ~cnt~0 := 0; [L17] ~i~1 := 0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=6, ~ret~0=-2147483645, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483645, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483645, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=7, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=8, ~ret~0=-6442450934, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450934, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450934, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=9, ~ret~0=-8589934581, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934581, ~x!base=14, ~x!offset=0] [L17-L22] COND TRUE !(~i~1 < 10) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934581, ~x!base=14, ~x!offset=0] [L23] COND TRUE 0 != ~cnt~0 [L24] #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, #res=-2147483645, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934581, ~x!base=14, ~x!offset=0] [L47] RET call #t~ret11 := rangesum(~#x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret11=-2147483645, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L47] assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647; [L47] ~ret5~0 := #t~ret11; [L47] havoc #t~ret11; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret5~0=-2147483645, ~ret~1=-2147483644, ~temp~0=-2147483647] [L49] COND TRUE ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0 VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret5~0=-2147483645, ~ret~1=-2147483644, ~temp~0=-2147483647] [L50] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret5~0=-2147483645, ~ret~1=-2147483644, ~temp~0=-2147483647] [L31] int x[10]; VAL [x={14:0}] [L32] CALL init_nondet(x) VAL [x={14:0}] [L5] int i; [L6] i = 0 VAL [i=0, x={14:0}, x={14:0}] [L6] COND TRUE i < 10 [L7] x[i] = __VERIFIER_nondet_int() [L6] i++ VAL [i=1, x={14:0}, x={14:0}] [L6] COND TRUE i < 10 [L7] x[i] = __VERIFIER_nondet_int() [L6] i++ VAL [i=2, x={14:0}, x={14:0}] [L6] COND TRUE i < 10 [L7] x[i] = __VERIFIER_nondet_int() [L6] i++ VAL [i=3, x={14:0}, x={14:0}] [L6] COND TRUE i < 10 [L7] x[i] = __VERIFIER_nondet_int() [L6] i++ VAL [i=4, x={14:0}, x={14:0}] [L6] COND TRUE i < 10 [L7] x[i] = __VERIFIER_nondet_int() [L6] i++ VAL [i=5, x={14:0}, x={14:0}] [L6] COND TRUE i < 10 [L7] x[i] = __VERIFIER_nondet_int() [L6] i++ VAL [i=6, x={14:0}, x={14:0}] [L6] COND TRUE i < 10 [L7] x[i] = __VERIFIER_nondet_int() [L6] i++ VAL [i=7, x={14:0}, x={14:0}] [L6] COND TRUE i < 10 [L7] x[i] = __VERIFIER_nondet_int() [L6] i++ VAL [i=8, x={14:0}, x={14:0}] [L6] COND TRUE i < 10 [L7] x[i] = __VERIFIER_nondet_int() [L6] i++ VAL [i=9, x={14:0}, x={14:0}] [L6] COND TRUE i < 10 [L7] x[i] = __VERIFIER_nondet_int() [L6] i++ VAL [i=10, x={14:0}, x={14:0}] [L6] COND FALSE !(i < 10) VAL [i=10, x={14:0}, x={14:0}] [L32] RET init_nondet(x) VAL [x={14:0}] [L33] int temp; [L34] int ret; [L35] int ret2; [L36] int ret5; VAL [x={14:0}] [L38] CALL, EXPR rangesum(x) VAL [x={14:0}] [L13] int i; [L14] long long ret; [L15] ret = 0 [L16] int cnt = 0; [L17] i = 0 VAL [cnt=0, i=0, ret=0, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=0, i=0, ret=0, x={14:0}, x={14:0}] [L18] COND FALSE !(i > 10/2) VAL [cnt=0, i=0, ret=0, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=0, i=1, ret=0, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=0, i=1, ret=0, x={14:0}, x={14:0}] [L18] COND FALSE !(i > 10/2) VAL [cnt=0, i=1, ret=0, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=0, i=2, ret=0, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=0, i=2, ret=0, x={14:0}, x={14:0}] [L18] COND FALSE !(i > 10/2) VAL [cnt=0, i=2, ret=0, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=0, i=3, ret=0, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=0, i=3, ret=0, x={14:0}, x={14:0}] [L18] COND FALSE !(i > 10/2) VAL [cnt=0, i=3, ret=0, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=0, i=4, ret=0, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=0, i=4, ret=0, x={14:0}, x={14:0}] [L18] COND FALSE !(i > 10/2) VAL [cnt=0, i=4, ret=0, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=0, i=5, ret=0, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=0, i=5, ret=0, x={14:0}, x={14:0}] [L18] COND FALSE !(i > 10/2) VAL [cnt=0, i=5, ret=0, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=0, i=6, ret=0, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=0, i=6, ret=0, x={14:0}, x={14:0}] [L18] COND TRUE i > 10/2 [L19] EXPR x[i] [L19] ret = ret + x[i] [L20] cnt = cnt + 1 VAL [cnt=1, i=6, ret=-2147483643, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=1, i=7, ret=-2147483643, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=1, i=7, ret=-2147483643, x={14:0}, x={14:0}] [L18] COND TRUE i > 10/2 [L19] EXPR x[i] [L19] ret = ret + x[i] [L20] cnt = cnt + 1 VAL [cnt=2, i=7, ret=-4294967288, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=2, i=8, ret=-4294967288, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=2, i=8, ret=-4294967288, x={14:0}, x={14:0}] [L18] COND TRUE i > 10/2 [L19] EXPR x[i] [L19] ret = ret + x[i] [L20] cnt = cnt + 1 VAL [cnt=3, i=8, ret=-6442450931, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=3, i=9, ret=-6442450931, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=3, i=9, ret=-6442450931, x={14:0}, x={14:0}] [L18] COND TRUE i > 10/2 [L19] EXPR x[i] [L19] ret = ret + x[i] [L20] cnt = cnt + 1 VAL [cnt=4, i=9, ret=-8589934577, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=4, i=10, ret=-8589934577, x={14:0}, x={14:0}] [L17] COND FALSE !(i < 10) VAL [cnt=4, i=10, ret=-8589934577, x={14:0}, x={14:0}] [L23] COND TRUE cnt !=0 [L24] return ret / cnt; VAL [\result=-2147483644, cnt=4, i=10, ret=-8589934577, x={14:0}, x={14:0}] [L38] RET, EXPR rangesum(x) VAL [rangesum(x)=-2147483644, x={14:0}] [L38] ret = rangesum(x) [L40] EXPR x[0] [L40] temp=x[0] [L40] EXPR x[1] [L40] x[0] = x[1] [L40] x[1] = temp VAL [ret=-2147483644, temp=-2147483648, x={14:0}] [L41] CALL, EXPR rangesum(x) VAL [x={14:0}] [L13] int i; [L14] long long ret; [L15] ret = 0 [L16] int cnt = 0; [L17] i = 0 VAL [cnt=0, i=0, ret=0, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=0, i=0, ret=0, x={14:0}, x={14:0}] [L18] COND FALSE !(i > 10/2) VAL [cnt=0, i=0, ret=0, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=0, i=1, ret=0, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=0, i=1, ret=0, x={14:0}, x={14:0}] [L18] COND FALSE !(i > 10/2) VAL [cnt=0, i=1, ret=0, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=0, i=2, ret=0, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=0, i=2, ret=0, x={14:0}, x={14:0}] [L18] COND FALSE !(i > 10/2) VAL [cnt=0, i=2, ret=0, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=0, i=3, ret=0, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=0, i=3, ret=0, x={14:0}, x={14:0}] [L18] COND FALSE !(i > 10/2) VAL [cnt=0, i=3, ret=0, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=0, i=4, ret=0, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=0, i=4, ret=0, x={14:0}, x={14:0}] [L18] COND FALSE !(i > 10/2) VAL [cnt=0, i=4, ret=0, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=0, i=5, ret=0, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=0, i=5, ret=0, x={14:0}, x={14:0}] [L18] COND FALSE !(i > 10/2) VAL [cnt=0, i=5, ret=0, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=0, i=6, ret=0, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=0, i=6, ret=0, x={14:0}, x={14:0}] [L18] COND TRUE i > 10/2 [L19] EXPR x[i] [L19] ret = ret + x[i] [L20] cnt = cnt + 1 VAL [cnt=1, i=6, ret=-2147483643, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=1, i=7, ret=-2147483643, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=1, i=7, ret=-2147483643, x={14:0}, x={14:0}] [L18] COND TRUE i > 10/2 [L19] EXPR x[i] [L19] ret = ret + x[i] [L20] cnt = cnt + 1 VAL [cnt=2, i=7, ret=-4294967288, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=2, i=8, ret=-4294967288, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=2, i=8, ret=-4294967288, x={14:0}, x={14:0}] [L18] COND TRUE i > 10/2 [L19] EXPR x[i] [L19] ret = ret + x[i] [L20] cnt = cnt + 1 VAL [cnt=3, i=8, ret=-6442450931, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=3, i=9, ret=-6442450931, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=3, i=9, ret=-6442450931, x={14:0}, x={14:0}] [L18] COND TRUE i > 10/2 [L19] EXPR x[i] [L19] ret = ret + x[i] [L20] cnt = cnt + 1 VAL [cnt=4, i=9, ret=-8589934577, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=4, i=10, ret=-8589934577, x={14:0}, x={14:0}] [L17] COND FALSE !(i < 10) VAL [cnt=4, i=10, ret=-8589934577, x={14:0}, x={14:0}] [L23] COND TRUE cnt !=0 [L24] return ret / cnt; VAL [\result=-2147483644, cnt=4, i=10, ret=-8589934577, x={14:0}, x={14:0}] [L41] RET, EXPR rangesum(x) VAL [rangesum(x)=-2147483644, ret=-2147483644, temp=-2147483648, x={14:0}] [L41] ret2 = rangesum(x) [L42] EXPR x[0] [L42] temp=x[0] [L43] int i =0 ; VAL [i=0, ret=-2147483644, ret2=-2147483644, temp=-2147483647, x={14:0}] [L43] COND TRUE i<10 -1 [L44] EXPR x[i+1] [L44] x[i] = x[i+1] [L43] i++ VAL [i=1, ret=-2147483644, ret2=-2147483644, temp=-2147483647, x={14:0}] [L43] COND TRUE i<10 -1 [L44] EXPR x[i+1] [L44] x[i] = x[i+1] [L43] i++ VAL [i=2, ret=-2147483644, ret2=-2147483644, temp=-2147483647, x={14:0}] [L43] COND TRUE i<10 -1 [L44] EXPR x[i+1] [L44] x[i] = x[i+1] [L43] i++ VAL [i=3, ret=-2147483644, ret2=-2147483644, temp=-2147483647, x={14:0}] [L43] COND TRUE i<10 -1 [L44] EXPR x[i+1] [L44] x[i] = x[i+1] [L43] i++ VAL [i=4, ret=-2147483644, ret2=-2147483644, temp=-2147483647, x={14:0}] [L43] COND TRUE i<10 -1 [L44] EXPR x[i+1] [L44] x[i] = x[i+1] [L43] i++ VAL [i=5, ret=-2147483644, ret2=-2147483644, temp=-2147483647, x={14:0}] [L43] COND TRUE i<10 -1 [L44] EXPR x[i+1] [L44] x[i] = x[i+1] [L43] i++ VAL [i=6, ret=-2147483644, ret2=-2147483644, temp=-2147483647, x={14:0}] [L43] COND TRUE i<10 -1 [L44] EXPR x[i+1] [L44] x[i] = x[i+1] [L43] i++ VAL [i=7, ret=-2147483644, ret2=-2147483644, temp=-2147483647, x={14:0}] [L43] COND TRUE i<10 -1 [L44] EXPR x[i+1] [L44] x[i] = x[i+1] [L43] i++ VAL [i=8, ret=-2147483644, ret2=-2147483644, temp=-2147483647, x={14:0}] [L43] COND TRUE i<10 -1 [L44] EXPR x[i+1] [L44] x[i] = x[i+1] [L43] i++ VAL [i=9, ret=-2147483644, ret2=-2147483644, temp=-2147483647, x={14:0}] [L43] COND FALSE !(i<10 -1) VAL [i=9, ret=-2147483644, ret2=-2147483644, temp=-2147483647, x={14:0}] [L46] x[10 -1] = temp VAL [i=9, ret=-2147483644, ret2=-2147483644, temp=-2147483647, x={14:0}] [L47] CALL, EXPR rangesum(x) VAL [x={14:0}] [L13] int i; [L14] long long ret; [L15] ret = 0 [L16] int cnt = 0; [L17] i = 0 VAL [cnt=0, i=0, ret=0, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=0, i=0, ret=0, x={14:0}, x={14:0}] [L18] COND FALSE !(i > 10/2) VAL [cnt=0, i=0, ret=0, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=0, i=1, ret=0, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=0, i=1, ret=0, x={14:0}, x={14:0}] [L18] COND FALSE !(i > 10/2) VAL [cnt=0, i=1, ret=0, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=0, i=2, ret=0, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=0, i=2, ret=0, x={14:0}, x={14:0}] [L18] COND FALSE !(i > 10/2) VAL [cnt=0, i=2, ret=0, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=0, i=3, ret=0, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=0, i=3, ret=0, x={14:0}, x={14:0}] [L18] COND FALSE !(i > 10/2) VAL [cnt=0, i=3, ret=0, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=0, i=4, ret=0, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=0, i=4, ret=0, x={14:0}, x={14:0}] [L18] COND FALSE !(i > 10/2) VAL [cnt=0, i=4, ret=0, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=0, i=5, ret=0, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=0, i=5, ret=0, x={14:0}, x={14:0}] [L18] COND FALSE !(i > 10/2) VAL [cnt=0, i=5, ret=0, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=0, i=6, ret=0, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=0, i=6, ret=0, x={14:0}, x={14:0}] [L18] COND TRUE i > 10/2 [L19] EXPR x[i] [L19] ret = ret + x[i] [L20] cnt = cnt + 1 VAL [cnt=1, i=6, ret=-2147483645, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=1, i=7, ret=-2147483645, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=1, i=7, ret=-2147483645, x={14:0}, x={14:0}] [L18] COND TRUE i > 10/2 [L19] EXPR x[i] [L19] ret = ret + x[i] [L20] cnt = cnt + 1 VAL [cnt=2, i=7, ret=-4294967288, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=2, i=8, ret=-4294967288, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=2, i=8, ret=-4294967288, x={14:0}, x={14:0}] [L18] COND TRUE i > 10/2 [L19] EXPR x[i] [L19] ret = ret + x[i] [L20] cnt = cnt + 1 VAL [cnt=3, i=8, ret=-6442450934, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=3, i=9, ret=-6442450934, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=3, i=9, ret=-6442450934, x={14:0}, x={14:0}] [L18] COND TRUE i > 10/2 [L19] EXPR x[i] [L19] ret = ret + x[i] [L20] cnt = cnt + 1 VAL [cnt=4, i=9, ret=-8589934581, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=4, i=10, ret=-8589934581, x={14:0}, x={14:0}] [L17] COND FALSE !(i < 10) VAL [cnt=4, i=10, ret=-8589934581, x={14:0}, x={14:0}] [L23] COND TRUE cnt !=0 [L24] return ret / cnt; VAL [\result=-2147483645, cnt=4, i=10, ret=-8589934581, x={14:0}, x={14:0}] [L47] RET, EXPR rangesum(x) VAL [i=9, rangesum(x)=-2147483645, ret=-2147483644, ret2=-2147483644, temp=-2147483647, x={14:0}] [L47] ret5 = rangesum(x) [L49] COND TRUE ret != ret2 || ret !=ret5 VAL [i=9, ret=-2147483644, ret2=-2147483644, ret5=-2147483645, temp=-2147483647, x={14:0}] [L50] __VERIFIER_error() VAL [i=9, ret=-2147483644, ret2=-2147483644, ret5=-2147483645, temp=-2147483647, x={14:0}] ----- [2018-11-23 14:20:02,982 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 23.11 02:20:02 BoogieIcfgContainer [2018-11-23 14:20:02,982 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2018-11-23 14:20:02,983 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-23 14:20:02,983 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-23 14:20:02,983 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-23 14:20:02,991 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 02:19:42" (3/4) ... [2018-11-23 14:20:02,993 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|=11, |#NULL.offset|=13, |old(#NULL.base)|=11, |old(#NULL.offset)|=13] [?] #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; VAL [|#NULL.base|=0, |#NULL.offset|=0, |old(#NULL.base)|=11, |old(#NULL.offset)|=13] [?] assume true; VAL [|#NULL.base|=0, |#NULL.offset|=0, |old(#NULL.base)|=11, |old(#NULL.offset)|=13] [?] RET #78#return; VAL [|#NULL.base|=0, |#NULL.offset|=0] [?] CALL call #t~ret12 := main(); VAL [|#NULL.base|=0, |#NULL.offset|=0] [?] call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(40); VAL [|#NULL.base|=0, |#NULL.offset|=0, |main_~#x~0.base|=14, |main_~#x~0.offset|=0] [?] CALL call init_nondet(~#x~0.base, ~#x~0.offset); VAL [|#NULL.base|=0, |#NULL.offset|=0, |init_nondet_#in~x.base|=14, |init_nondet_#in~x.offset|=0] [?] ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;~i~0 := 0; VAL [init_nondet_~i~0=0, init_nondet_~x.base=14, init_nondet_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |init_nondet_#in~x.base|=14, |init_nondet_#in~x.offset|=0] [?] assume !!(~i~0 < 10);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + 4 * ~i~0, 4);havoc #t~nondet1; VAL [init_nondet_~i~0=0, init_nondet_~x.base=14, init_nondet_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |init_nondet_#in~x.base|=14, |init_nondet_#in~x.offset|=0] [?] #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; VAL [init_nondet_~i~0=1, init_nondet_~x.base=14, init_nondet_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |init_nondet_#in~x.base|=14, |init_nondet_#in~x.offset|=0] [?] assume !!(~i~0 < 10);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + 4 * ~i~0, 4);havoc #t~nondet1; VAL [init_nondet_~i~0=1, init_nondet_~x.base=14, init_nondet_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |init_nondet_#in~x.base|=14, |init_nondet_#in~x.offset|=0] [?] #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; VAL [init_nondet_~i~0=2, init_nondet_~x.base=14, init_nondet_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |init_nondet_#in~x.base|=14, |init_nondet_#in~x.offset|=0] [?] assume !!(~i~0 < 10);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + 4 * ~i~0, 4);havoc #t~nondet1; VAL [init_nondet_~i~0=2, init_nondet_~x.base=14, init_nondet_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |init_nondet_#in~x.base|=14, |init_nondet_#in~x.offset|=0] [?] #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; VAL [init_nondet_~i~0=3, init_nondet_~x.base=14, init_nondet_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |init_nondet_#in~x.base|=14, |init_nondet_#in~x.offset|=0] [?] assume !!(~i~0 < 10);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + 4 * ~i~0, 4);havoc #t~nondet1; VAL [init_nondet_~i~0=3, init_nondet_~x.base=14, init_nondet_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |init_nondet_#in~x.base|=14, |init_nondet_#in~x.offset|=0] [?] #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; VAL [init_nondet_~i~0=4, init_nondet_~x.base=14, init_nondet_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |init_nondet_#in~x.base|=14, |init_nondet_#in~x.offset|=0] [?] assume !!(~i~0 < 10);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + 4 * ~i~0, 4);havoc #t~nondet1; VAL [init_nondet_~i~0=4, init_nondet_~x.base=14, init_nondet_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |init_nondet_#in~x.base|=14, |init_nondet_#in~x.offset|=0] [?] #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; VAL [init_nondet_~i~0=5, init_nondet_~x.base=14, init_nondet_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |init_nondet_#in~x.base|=14, |init_nondet_#in~x.offset|=0] [?] assume !!(~i~0 < 10);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + 4 * ~i~0, 4);havoc #t~nondet1; VAL [init_nondet_~i~0=5, init_nondet_~x.base=14, init_nondet_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |init_nondet_#in~x.base|=14, |init_nondet_#in~x.offset|=0] [?] #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; VAL [init_nondet_~i~0=6, init_nondet_~x.base=14, init_nondet_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |init_nondet_#in~x.base|=14, |init_nondet_#in~x.offset|=0] [?] assume !!(~i~0 < 10);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + 4 * ~i~0, 4);havoc #t~nondet1; VAL [init_nondet_~i~0=6, init_nondet_~x.base=14, init_nondet_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |init_nondet_#in~x.base|=14, |init_nondet_#in~x.offset|=0] [?] #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; VAL [init_nondet_~i~0=7, init_nondet_~x.base=14, init_nondet_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |init_nondet_#in~x.base|=14, |init_nondet_#in~x.offset|=0] [?] assume !!(~i~0 < 10);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + 4 * ~i~0, 4);havoc #t~nondet1; VAL [init_nondet_~i~0=7, init_nondet_~x.base=14, init_nondet_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |init_nondet_#in~x.base|=14, |init_nondet_#in~x.offset|=0] [?] #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; VAL [init_nondet_~i~0=8, init_nondet_~x.base=14, init_nondet_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |init_nondet_#in~x.base|=14, |init_nondet_#in~x.offset|=0] [?] assume !!(~i~0 < 10);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + 4 * ~i~0, 4);havoc #t~nondet1; VAL [init_nondet_~i~0=8, init_nondet_~x.base=14, init_nondet_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |init_nondet_#in~x.base|=14, |init_nondet_#in~x.offset|=0] [?] #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; VAL [init_nondet_~i~0=9, init_nondet_~x.base=14, init_nondet_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |init_nondet_#in~x.base|=14, |init_nondet_#in~x.offset|=0] [?] assume !!(~i~0 < 10);assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;call write~int(#t~nondet1, ~x.base, ~x.offset + 4 * ~i~0, 4);havoc #t~nondet1; VAL [init_nondet_~i~0=9, init_nondet_~x.base=14, init_nondet_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |init_nondet_#in~x.base|=14, |init_nondet_#in~x.offset|=0] [?] #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; VAL [init_nondet_~i~0=10, init_nondet_~x.base=14, init_nondet_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |init_nondet_#in~x.base|=14, |init_nondet_#in~x.offset|=0] [?] assume !(~i~0 < 10); VAL [init_nondet_~i~0=10, init_nondet_~x.base=14, init_nondet_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |init_nondet_#in~x.base|=14, |init_nondet_#in~x.offset|=0] [?] assume true; VAL [init_nondet_~i~0=10, init_nondet_~x.base=14, init_nondet_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |init_nondet_#in~x.base|=14, |init_nondet_#in~x.offset|=0] [?] RET #82#return; VAL [|#NULL.base|=0, |#NULL.offset|=0, |main_~#x~0.base|=14, |main_~#x~0.offset|=0] [?] havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0; VAL [|#NULL.base|=0, |#NULL.offset|=0, |main_~#x~0.base|=14, |main_~#x~0.offset|=0] [?] CALL call #t~ret4 := rangesum(~#x~0.base, ~#x~0.offset); VAL [|#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; VAL [rangesum_~cnt~0=0, rangesum_~i~1=0, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !!(~i~1 < 10); VAL [rangesum_~cnt~0=0, rangesum_~i~1=0, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !(~i~1 > 5); VAL [rangesum_~cnt~0=0, rangesum_~i~1=0, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; VAL [rangesum_~cnt~0=0, rangesum_~i~1=1, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !!(~i~1 < 10); VAL [rangesum_~cnt~0=0, rangesum_~i~1=1, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !(~i~1 > 5); VAL [rangesum_~cnt~0=0, rangesum_~i~1=1, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; VAL [rangesum_~cnt~0=0, rangesum_~i~1=2, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !!(~i~1 < 10); VAL [rangesum_~cnt~0=0, rangesum_~i~1=2, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !(~i~1 > 5); VAL [rangesum_~cnt~0=0, rangesum_~i~1=2, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; VAL [rangesum_~cnt~0=0, rangesum_~i~1=3, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !!(~i~1 < 10); VAL [rangesum_~cnt~0=0, rangesum_~i~1=3, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !(~i~1 > 5); VAL [rangesum_~cnt~0=0, rangesum_~i~1=3, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; VAL [rangesum_~cnt~0=0, rangesum_~i~1=4, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !!(~i~1 < 10); VAL [rangesum_~cnt~0=0, rangesum_~i~1=4, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !(~i~1 > 5); VAL [rangesum_~cnt~0=0, rangesum_~i~1=4, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; VAL [rangesum_~cnt~0=0, rangesum_~i~1=5, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !!(~i~1 < 10); VAL [rangesum_~cnt~0=0, rangesum_~i~1=5, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !(~i~1 > 5); VAL [rangesum_~cnt~0=0, rangesum_~i~1=5, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; VAL [rangesum_~cnt~0=0, rangesum_~i~1=6, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !!(~i~1 < 10); VAL [rangesum_~cnt~0=0, rangesum_~i~1=6, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume ~i~1 > 5;call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := 1 + ~cnt~0; VAL [rangesum_~cnt~0=1, rangesum_~i~1=6, rangesum_~ret~0=(- 2147483643), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; VAL [rangesum_~cnt~0=1, rangesum_~i~1=7, rangesum_~ret~0=(- 2147483643), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !!(~i~1 < 10); VAL [rangesum_~cnt~0=1, rangesum_~i~1=7, rangesum_~ret~0=(- 2147483643), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume ~i~1 > 5;call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := 1 + ~cnt~0; VAL [rangesum_~cnt~0=2, rangesum_~i~1=7, rangesum_~ret~0=(- 4294967288), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; VAL [rangesum_~cnt~0=2, rangesum_~i~1=8, rangesum_~ret~0=(- 4294967288), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !!(~i~1 < 10); VAL [rangesum_~cnt~0=2, rangesum_~i~1=8, rangesum_~ret~0=(- 4294967288), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume ~i~1 > 5;call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := 1 + ~cnt~0; VAL [rangesum_~cnt~0=3, rangesum_~i~1=8, rangesum_~ret~0=(- 6442450931), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; VAL [rangesum_~cnt~0=3, rangesum_~i~1=9, rangesum_~ret~0=(- 6442450931), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !!(~i~1 < 10); VAL [rangesum_~cnt~0=3, rangesum_~i~1=9, rangesum_~ret~0=(- 6442450931), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume ~i~1 > 5;call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := 1 + ~cnt~0; VAL [rangesum_~cnt~0=4, rangesum_~i~1=9, rangesum_~ret~0=(- 8589934577), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; VAL [rangesum_~cnt~0=4, rangesum_~i~1=10, rangesum_~ret~0=(- 8589934577), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !(~i~1 < 10); VAL [rangesum_~cnt~0=4, rangesum_~i~1=10, rangesum_~ret~0=(- 8589934577), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume 0 != ~cnt~0;#res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); VAL [rangesum_~cnt~0=4, rangesum_~i~1=10, rangesum_~ret~0=(- 8589934577), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0, |rangesum_#res|=(- 2147483644)] [?] assume true; VAL [rangesum_~cnt~0=4, rangesum_~i~1=10, rangesum_~ret~0=(- 8589934577), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0, |rangesum_#res|=(- 2147483644)] [?] RET #84#return; VAL [|#NULL.base|=0, |#NULL.offset|=0, |main_#t~ret4|=(- 2147483644), |main_~#x~0.base|=14, |main_~#x~0.offset|=0] [?] assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); VAL [main_~ret~1=(- 2147483644), main_~temp~0=(- 2147483648), |#NULL.base|=0, |#NULL.offset|=0, |main_~#x~0.base|=14, |main_~#x~0.offset|=0] [?] CALL call #t~ret7 := rangesum(~#x~0.base, ~#x~0.offset); VAL [|#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; VAL [rangesum_~cnt~0=0, rangesum_~i~1=0, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !!(~i~1 < 10); VAL [rangesum_~cnt~0=0, rangesum_~i~1=0, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !(~i~1 > 5); VAL [rangesum_~cnt~0=0, rangesum_~i~1=0, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; VAL [rangesum_~cnt~0=0, rangesum_~i~1=1, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !!(~i~1 < 10); VAL [rangesum_~cnt~0=0, rangesum_~i~1=1, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !(~i~1 > 5); VAL [rangesum_~cnt~0=0, rangesum_~i~1=1, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; VAL [rangesum_~cnt~0=0, rangesum_~i~1=2, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !!(~i~1 < 10); VAL [rangesum_~cnt~0=0, rangesum_~i~1=2, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !(~i~1 > 5); VAL [rangesum_~cnt~0=0, rangesum_~i~1=2, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; VAL [rangesum_~cnt~0=0, rangesum_~i~1=3, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !!(~i~1 < 10); VAL [rangesum_~cnt~0=0, rangesum_~i~1=3, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !(~i~1 > 5); VAL [rangesum_~cnt~0=0, rangesum_~i~1=3, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; VAL [rangesum_~cnt~0=0, rangesum_~i~1=4, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !!(~i~1 < 10); VAL [rangesum_~cnt~0=0, rangesum_~i~1=4, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !(~i~1 > 5); VAL [rangesum_~cnt~0=0, rangesum_~i~1=4, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; VAL [rangesum_~cnt~0=0, rangesum_~i~1=5, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !!(~i~1 < 10); VAL [rangesum_~cnt~0=0, rangesum_~i~1=5, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !(~i~1 > 5); VAL [rangesum_~cnt~0=0, rangesum_~i~1=5, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; VAL [rangesum_~cnt~0=0, rangesum_~i~1=6, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !!(~i~1 < 10); VAL [rangesum_~cnt~0=0, rangesum_~i~1=6, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume ~i~1 > 5;call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := 1 + ~cnt~0; VAL [rangesum_~cnt~0=1, rangesum_~i~1=6, rangesum_~ret~0=(- 2147483643), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; VAL [rangesum_~cnt~0=1, rangesum_~i~1=7, rangesum_~ret~0=(- 2147483643), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !!(~i~1 < 10); VAL [rangesum_~cnt~0=1, rangesum_~i~1=7, rangesum_~ret~0=(- 2147483643), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume ~i~1 > 5;call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := 1 + ~cnt~0; VAL [rangesum_~cnt~0=2, rangesum_~i~1=7, rangesum_~ret~0=(- 4294967288), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; VAL [rangesum_~cnt~0=2, rangesum_~i~1=8, rangesum_~ret~0=(- 4294967288), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !!(~i~1 < 10); VAL [rangesum_~cnt~0=2, rangesum_~i~1=8, rangesum_~ret~0=(- 4294967288), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume ~i~1 > 5;call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := 1 + ~cnt~0; VAL [rangesum_~cnt~0=3, rangesum_~i~1=8, rangesum_~ret~0=(- 6442450931), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; VAL [rangesum_~cnt~0=3, rangesum_~i~1=9, rangesum_~ret~0=(- 6442450931), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !!(~i~1 < 10); VAL [rangesum_~cnt~0=3, rangesum_~i~1=9, rangesum_~ret~0=(- 6442450931), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume ~i~1 > 5;call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := 1 + ~cnt~0; VAL [rangesum_~cnt~0=4, rangesum_~i~1=9, rangesum_~ret~0=(- 8589934577), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; VAL [rangesum_~cnt~0=4, rangesum_~i~1=10, rangesum_~ret~0=(- 8589934577), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !(~i~1 < 10); VAL [rangesum_~cnt~0=4, rangesum_~i~1=10, rangesum_~ret~0=(- 8589934577), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume 0 != ~cnt~0;#res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); VAL [rangesum_~cnt~0=4, rangesum_~i~1=10, rangesum_~ret~0=(- 8589934577), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0, |rangesum_#res|=(- 2147483644)] [?] assume true; VAL [rangesum_~cnt~0=4, rangesum_~i~1=10, rangesum_~ret~0=(- 8589934577), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0, |rangesum_#res|=(- 2147483644)] [?] RET #86#return; VAL [main_~ret~1=(- 2147483644), main_~temp~0=(- 2147483648), |#NULL.base|=0, |#NULL.offset|=0, |main_#t~ret7|=(- 2147483644), |main_~#x~0.base|=14, |main_~#x~0.offset|=0] [?] assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; VAL [main_~i~2=0, main_~ret2~0=(- 2147483644), main_~ret~1=(- 2147483644), main_~temp~0=(- 2147483647), |#NULL.base|=0, |#NULL.offset|=0, |main_~#x~0.base|=14, |main_~#x~0.offset|=0] [?] assume !!(~i~2 < 9);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; VAL [main_~i~2=0, main_~ret2~0=(- 2147483644), main_~ret~1=(- 2147483644), main_~temp~0=(- 2147483647), |#NULL.base|=0, |#NULL.offset|=0, |main_~#x~0.base|=14, |main_~#x~0.offset|=0] [?] #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; VAL [main_~i~2=1, main_~ret2~0=(- 2147483644), main_~ret~1=(- 2147483644), main_~temp~0=(- 2147483647), |#NULL.base|=0, |#NULL.offset|=0, |main_~#x~0.base|=14, |main_~#x~0.offset|=0] [?] assume !!(~i~2 < 9);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; VAL [main_~i~2=1, main_~ret2~0=(- 2147483644), main_~ret~1=(- 2147483644), main_~temp~0=(- 2147483647), |#NULL.base|=0, |#NULL.offset|=0, |main_~#x~0.base|=14, |main_~#x~0.offset|=0] [?] #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; VAL [main_~i~2=2, main_~ret2~0=(- 2147483644), main_~ret~1=(- 2147483644), main_~temp~0=(- 2147483647), |#NULL.base|=0, |#NULL.offset|=0, |main_~#x~0.base|=14, |main_~#x~0.offset|=0] [?] assume !!(~i~2 < 9);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; VAL [main_~i~2=2, main_~ret2~0=(- 2147483644), main_~ret~1=(- 2147483644), main_~temp~0=(- 2147483647), |#NULL.base|=0, |#NULL.offset|=0, |main_~#x~0.base|=14, |main_~#x~0.offset|=0] [?] #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; VAL [main_~i~2=3, main_~ret2~0=(- 2147483644), main_~ret~1=(- 2147483644), main_~temp~0=(- 2147483647), |#NULL.base|=0, |#NULL.offset|=0, |main_~#x~0.base|=14, |main_~#x~0.offset|=0] [?] assume !!(~i~2 < 9);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; VAL [main_~i~2=3, main_~ret2~0=(- 2147483644), main_~ret~1=(- 2147483644), main_~temp~0=(- 2147483647), |#NULL.base|=0, |#NULL.offset|=0, |main_~#x~0.base|=14, |main_~#x~0.offset|=0] [?] #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; VAL [main_~i~2=4, main_~ret2~0=(- 2147483644), main_~ret~1=(- 2147483644), main_~temp~0=(- 2147483647), |#NULL.base|=0, |#NULL.offset|=0, |main_~#x~0.base|=14, |main_~#x~0.offset|=0] [?] assume !!(~i~2 < 9);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; VAL [main_~i~2=4, main_~ret2~0=(- 2147483644), main_~ret~1=(- 2147483644), main_~temp~0=(- 2147483647), |#NULL.base|=0, |#NULL.offset|=0, |main_~#x~0.base|=14, |main_~#x~0.offset|=0] [?] #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; VAL [main_~i~2=5, main_~ret2~0=(- 2147483644), main_~ret~1=(- 2147483644), main_~temp~0=(- 2147483647), |#NULL.base|=0, |#NULL.offset|=0, |main_~#x~0.base|=14, |main_~#x~0.offset|=0] [?] assume !!(~i~2 < 9);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; VAL [main_~i~2=5, main_~ret2~0=(- 2147483644), main_~ret~1=(- 2147483644), main_~temp~0=(- 2147483647), |#NULL.base|=0, |#NULL.offset|=0, |main_~#x~0.base|=14, |main_~#x~0.offset|=0] [?] #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; VAL [main_~i~2=6, main_~ret2~0=(- 2147483644), main_~ret~1=(- 2147483644), main_~temp~0=(- 2147483647), |#NULL.base|=0, |#NULL.offset|=0, |main_~#x~0.base|=14, |main_~#x~0.offset|=0] [?] assume !!(~i~2 < 9);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; VAL [main_~i~2=6, main_~ret2~0=(- 2147483644), main_~ret~1=(- 2147483644), main_~temp~0=(- 2147483647), |#NULL.base|=0, |#NULL.offset|=0, |main_~#x~0.base|=14, |main_~#x~0.offset|=0] [?] #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; VAL [main_~i~2=7, main_~ret2~0=(- 2147483644), main_~ret~1=(- 2147483644), main_~temp~0=(- 2147483647), |#NULL.base|=0, |#NULL.offset|=0, |main_~#x~0.base|=14, |main_~#x~0.offset|=0] [?] assume !!(~i~2 < 9);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; VAL [main_~i~2=7, main_~ret2~0=(- 2147483644), main_~ret~1=(- 2147483644), main_~temp~0=(- 2147483647), |#NULL.base|=0, |#NULL.offset|=0, |main_~#x~0.base|=14, |main_~#x~0.offset|=0] [?] #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; VAL [main_~i~2=8, main_~ret2~0=(- 2147483644), main_~ret~1=(- 2147483644), main_~temp~0=(- 2147483647), |#NULL.base|=0, |#NULL.offset|=0, |main_~#x~0.base|=14, |main_~#x~0.offset|=0] [?] assume !!(~i~2 < 9);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; VAL [main_~i~2=8, main_~ret2~0=(- 2147483644), main_~ret~1=(- 2147483644), main_~temp~0=(- 2147483647), |#NULL.base|=0, |#NULL.offset|=0, |main_~#x~0.base|=14, |main_~#x~0.offset|=0] [?] #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; VAL [main_~i~2=9, main_~ret2~0=(- 2147483644), main_~ret~1=(- 2147483644), main_~temp~0=(- 2147483647), |#NULL.base|=0, |#NULL.offset|=0, |main_~#x~0.base|=14, |main_~#x~0.offset|=0] [?] assume !(~i~2 < 9); VAL [main_~i~2=9, main_~ret2~0=(- 2147483644), main_~ret~1=(- 2147483644), main_~temp~0=(- 2147483647), |#NULL.base|=0, |#NULL.offset|=0, |main_~#x~0.base|=14, |main_~#x~0.offset|=0] [?] call write~int(~temp~0, ~#x~0.base, 36 + ~#x~0.offset, 4); VAL [main_~i~2=9, main_~ret2~0=(- 2147483644), main_~ret~1=(- 2147483644), main_~temp~0=(- 2147483647), |#NULL.base|=0, |#NULL.offset|=0, |main_~#x~0.base|=14, |main_~#x~0.offset|=0] [?] CALL call #t~ret11 := rangesum(~#x~0.base, ~#x~0.offset); VAL [|#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~1;havoc ~ret~0;~ret~0 := 0;~cnt~0 := 0;~i~1 := 0; VAL [rangesum_~cnt~0=0, rangesum_~i~1=0, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !!(~i~1 < 10); VAL [rangesum_~cnt~0=0, rangesum_~i~1=0, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !(~i~1 > 5); VAL [rangesum_~cnt~0=0, rangesum_~i~1=0, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; VAL [rangesum_~cnt~0=0, rangesum_~i~1=1, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !!(~i~1 < 10); VAL [rangesum_~cnt~0=0, rangesum_~i~1=1, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !(~i~1 > 5); VAL [rangesum_~cnt~0=0, rangesum_~i~1=1, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; VAL [rangesum_~cnt~0=0, rangesum_~i~1=2, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !!(~i~1 < 10); VAL [rangesum_~cnt~0=0, rangesum_~i~1=2, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !(~i~1 > 5); VAL [rangesum_~cnt~0=0, rangesum_~i~1=2, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; VAL [rangesum_~cnt~0=0, rangesum_~i~1=3, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !!(~i~1 < 10); VAL [rangesum_~cnt~0=0, rangesum_~i~1=3, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !(~i~1 > 5); VAL [rangesum_~cnt~0=0, rangesum_~i~1=3, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; VAL [rangesum_~cnt~0=0, rangesum_~i~1=4, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !!(~i~1 < 10); VAL [rangesum_~cnt~0=0, rangesum_~i~1=4, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !(~i~1 > 5); VAL [rangesum_~cnt~0=0, rangesum_~i~1=4, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; VAL [rangesum_~cnt~0=0, rangesum_~i~1=5, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !!(~i~1 < 10); VAL [rangesum_~cnt~0=0, rangesum_~i~1=5, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !(~i~1 > 5); VAL [rangesum_~cnt~0=0, rangesum_~i~1=5, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; VAL [rangesum_~cnt~0=0, rangesum_~i~1=6, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !!(~i~1 < 10); VAL [rangesum_~cnt~0=0, rangesum_~i~1=6, rangesum_~ret~0=0, rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume ~i~1 > 5;call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := 1 + ~cnt~0; VAL [rangesum_~cnt~0=1, rangesum_~i~1=6, rangesum_~ret~0=(- 2147483645), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; VAL [rangesum_~cnt~0=1, rangesum_~i~1=7, rangesum_~ret~0=(- 2147483645), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !!(~i~1 < 10); VAL [rangesum_~cnt~0=1, rangesum_~i~1=7, rangesum_~ret~0=(- 2147483645), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume ~i~1 > 5;call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := 1 + ~cnt~0; VAL [rangesum_~cnt~0=2, rangesum_~i~1=7, rangesum_~ret~0=(- 4294967288), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; VAL [rangesum_~cnt~0=2, rangesum_~i~1=8, rangesum_~ret~0=(- 4294967288), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !!(~i~1 < 10); VAL [rangesum_~cnt~0=2, rangesum_~i~1=8, rangesum_~ret~0=(- 4294967288), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume ~i~1 > 5;call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := 1 + ~cnt~0; VAL [rangesum_~cnt~0=3, rangesum_~i~1=8, rangesum_~ret~0=(- 6442450934), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; VAL [rangesum_~cnt~0=3, rangesum_~i~1=9, rangesum_~ret~0=(- 6442450934), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !!(~i~1 < 10); VAL [rangesum_~cnt~0=3, rangesum_~i~1=9, rangesum_~ret~0=(- 6442450934), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume ~i~1 > 5;call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4);~ret~0 := ~ret~0 + #t~mem3;havoc #t~mem3;~cnt~0 := 1 + ~cnt~0; VAL [rangesum_~cnt~0=4, rangesum_~i~1=9, rangesum_~ret~0=(- 8589934581), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; VAL [rangesum_~cnt~0=4, rangesum_~i~1=10, rangesum_~ret~0=(- 8589934581), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume !(~i~1 < 10); VAL [rangesum_~cnt~0=4, rangesum_~i~1=10, rangesum_~ret~0=(- 8589934581), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0] [?] assume 0 != ~cnt~0;#res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); VAL [rangesum_~cnt~0=4, rangesum_~i~1=10, rangesum_~ret~0=(- 8589934581), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0, |rangesum_#res|=(- 2147483645)] [?] assume true; VAL [rangesum_~cnt~0=4, rangesum_~i~1=10, rangesum_~ret~0=(- 8589934581), rangesum_~x.base=14, rangesum_~x.offset=0, |#NULL.base|=0, |#NULL.offset|=0, |rangesum_#in~x.base|=14, |rangesum_#in~x.offset|=0, |rangesum_#res|=(- 2147483645)] [?] RET #88#return; VAL [main_~i~2=9, main_~ret2~0=(- 2147483644), main_~ret~1=(- 2147483644), main_~temp~0=(- 2147483647), |#NULL.base|=0, |#NULL.offset|=0, |main_#t~ret11|=(- 2147483645), |main_~#x~0.base|=14, |main_~#x~0.offset|=0] [?] assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; VAL [main_~i~2=9, main_~ret2~0=(- 2147483644), main_~ret5~0=(- 2147483645), main_~ret~1=(- 2147483644), main_~temp~0=(- 2147483647), |#NULL.base|=0, |#NULL.offset|=0, |main_~#x~0.base|=14, |main_~#x~0.offset|=0] [?] assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; VAL [main_~i~2=9, main_~ret2~0=(- 2147483644), main_~ret5~0=(- 2147483645), main_~ret~1=(- 2147483644), main_~temp~0=(- 2147483647), |#NULL.base|=0, |#NULL.offset|=0, |main_~#x~0.base|=14, |main_~#x~0.offset|=0] [?] assume !false; VAL [main_~i~2=9, main_~ret2~0=(- 2147483644), main_~ret5~0=(- 2147483645), main_~ret~1=(- 2147483644), main_~temp~0=(- 2147483647), |#NULL.base|=0, |#NULL.offset|=0, |main_~#x~0.base|=14, |main_~#x~0.offset|=0] [?] CALL call ULTIMATE.init(); VAL [#NULL.base=11, #NULL.offset=13, old(#NULL.base)=11, old(#NULL.offset)=13] [?] #NULL.base, #NULL.offset := 0, 0; [?] #valid := #valid[0 := 0]; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=11, old(#NULL.offset)=13] [?] ensures true; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=11, old(#NULL.offset)=13] [?] RET call ULTIMATE.init(); VAL [#NULL.base=0, #NULL.offset=0] [?] CALL call #t~ret12 := main(); VAL [#NULL.base=0, #NULL.offset=0] [L31] call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(40); VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0] [L32] CALL call init_nondet(~#x~0.base, ~#x~0.offset); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0] [L4-L9] ~x.base, ~x.offset := #in~x.base, #in~x.offset; [L5] havoc ~i~0; [L6] ~i~0 := 0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=0, ~x.base=14, ~x.offset=0] [L6-L8] assume !!(~i~0 < 10); [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] call write~int(#t~nondet1, ~x.base, ~x.offset + 4 * ~i~0, 4); [L7] havoc #t~nondet1; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=0, ~x.base=14, ~x.offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=1, ~x.base=14, ~x.offset=0] [L6-L8] assume !!(~i~0 < 10); [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] call write~int(#t~nondet1, ~x.base, ~x.offset + 4 * ~i~0, 4); [L7] havoc #t~nondet1; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=1, ~x.base=14, ~x.offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=2, ~x.base=14, ~x.offset=0] [L6-L8] assume !!(~i~0 < 10); [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] call write~int(#t~nondet1, ~x.base, ~x.offset + 4 * ~i~0, 4); [L7] havoc #t~nondet1; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=2, ~x.base=14, ~x.offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=3, ~x.base=14, ~x.offset=0] [L6-L8] assume !!(~i~0 < 10); [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] call write~int(#t~nondet1, ~x.base, ~x.offset + 4 * ~i~0, 4); [L7] havoc #t~nondet1; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=3, ~x.base=14, ~x.offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=4, ~x.base=14, ~x.offset=0] [L6-L8] assume !!(~i~0 < 10); [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] call write~int(#t~nondet1, ~x.base, ~x.offset + 4 * ~i~0, 4); [L7] havoc #t~nondet1; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=4, ~x.base=14, ~x.offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=5, ~x.base=14, ~x.offset=0] [L6-L8] assume !!(~i~0 < 10); [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] call write~int(#t~nondet1, ~x.base, ~x.offset + 4 * ~i~0, 4); [L7] havoc #t~nondet1; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=5, ~x.base=14, ~x.offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=6, ~x.base=14, ~x.offset=0] [L6-L8] assume !!(~i~0 < 10); [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] call write~int(#t~nondet1, ~x.base, ~x.offset + 4 * ~i~0, 4); [L7] havoc #t~nondet1; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=6, ~x.base=14, ~x.offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=7, ~x.base=14, ~x.offset=0] [L6-L8] assume !!(~i~0 < 10); [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] call write~int(#t~nondet1, ~x.base, ~x.offset + 4 * ~i~0, 4); [L7] havoc #t~nondet1; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=7, ~x.base=14, ~x.offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=8, ~x.base=14, ~x.offset=0] [L6-L8] assume !!(~i~0 < 10); [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] call write~int(#t~nondet1, ~x.base, ~x.offset + 4 * ~i~0, 4); [L7] havoc #t~nondet1; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=8, ~x.base=14, ~x.offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=9, ~x.base=14, ~x.offset=0] [L6-L8] assume !!(~i~0 < 10); [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] call write~int(#t~nondet1, ~x.base, ~x.offset + 4 * ~i~0, 4); [L7] havoc #t~nondet1; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=9, ~x.base=14, ~x.offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=10, ~x.base=14, ~x.offset=0] [L6-L8] assume !(~i~0 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=10, ~x.base=14, ~x.offset=0] [L4-L9] ensures true; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=10, ~x.base=14, ~x.offset=0] [L32] RET call init_nondet(~#x~0.base, ~#x~0.offset); VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0] [L33] havoc ~temp~0; [L34] havoc ~ret~1; [L35] havoc ~ret2~0; [L36] havoc ~ret5~0; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0] [L38] CALL call #t~ret4 := rangesum(~#x~0.base, ~#x~0.offset); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0] [L11-L27] ~x.base, ~x.offset := #in~x.base, #in~x.offset; [L13] havoc ~i~1; [L14] havoc ~ret~0; [L15] ~ret~0 := 0; [L16] ~cnt~0 := 0; [L17] ~i~1 := 0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume ~i~1 > 5; [L19] call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=1, ~i~1=6, ~ret~0=-2147483643, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483643, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483643, ~x.base=14, ~x.offset=0] [L18-L21] assume ~i~1 > 5; [L19] call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=2, ~i~1=7, ~ret~0=-4294967288, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x.base=14, ~x.offset=0] [L18-L21] assume ~i~1 > 5; [L19] call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=3, ~i~1=8, ~ret~0=-6442450931, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450931, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450931, ~x.base=14, ~x.offset=0] [L18-L21] assume ~i~1 > 5; [L19] call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=4, ~i~1=9, ~ret~0=-8589934577, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x.base=14, ~x.offset=0] [L17-L22] assume !(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x.base=14, ~x.offset=0] [L23-L26] assume 0 != ~cnt~0; [L24] #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, #res=-2147483644, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x.base=14, ~x.offset=0] [L11-L27] ensures true; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, #res=-2147483644, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x.base=14, ~x.offset=0] [L38] RET call #t~ret4 := rangesum(~#x~0.base, ~#x~0.offset); VAL [#NULL.base=0, #NULL.offset=0, #t~ret4=-2147483644, ~#x~0.base=14, ~#x~0.offset=0] [L38] assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; [L38] ~ret~1 := #t~ret4; [L38] havoc #t~ret4; [L40] call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4); [L40] ~temp~0 := #t~mem5; [L40] havoc #t~mem5; [L40] call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4); [L40] call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4); [L40] havoc #t~mem6; [L40] call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~ret~1=-2147483644, ~temp~0=-2147483648] [L41] CALL call #t~ret7 := rangesum(~#x~0.base, ~#x~0.offset); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0] [L11-L27] ~x.base, ~x.offset := #in~x.base, #in~x.offset; [L13] havoc ~i~1; [L14] havoc ~ret~0; [L15] ~ret~0 := 0; [L16] ~cnt~0 := 0; [L17] ~i~1 := 0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume ~i~1 > 5; [L19] call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=1, ~i~1=6, ~ret~0=-2147483643, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483643, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483643, ~x.base=14, ~x.offset=0] [L18-L21] assume ~i~1 > 5; [L19] call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=2, ~i~1=7, ~ret~0=-4294967288, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x.base=14, ~x.offset=0] [L18-L21] assume ~i~1 > 5; [L19] call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=3, ~i~1=8, ~ret~0=-6442450931, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450931, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450931, ~x.base=14, ~x.offset=0] [L18-L21] assume ~i~1 > 5; [L19] call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=4, ~i~1=9, ~ret~0=-8589934577, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x.base=14, ~x.offset=0] [L17-L22] assume !(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x.base=14, ~x.offset=0] [L23-L26] assume 0 != ~cnt~0; [L24] #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, #res=-2147483644, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x.base=14, ~x.offset=0] [L11-L27] ensures true; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, #res=-2147483644, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x.base=14, ~x.offset=0] [L41] RET call #t~ret7 := rangesum(~#x~0.base, ~#x~0.offset); VAL [#NULL.base=0, #NULL.offset=0, #t~ret7=-2147483644, ~#x~0.base=14, ~#x~0.offset=0, ~ret~1=-2147483644, ~temp~0=-2147483648] [L41] assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647; [L41] ~ret2~0 := #t~ret7; [L41] havoc #t~ret7; [L42] call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4); [L42] ~temp~0 := #t~mem8; [L42] havoc #t~mem8; [L43] ~i~2 := 0; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=0, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] assume !!(~i~2 < 9); [L44] call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4); [L44] call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4); [L44] havoc #t~mem10; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=0, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=1, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] assume !!(~i~2 < 9); [L44] call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4); [L44] call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4); [L44] havoc #t~mem10; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=1, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=2, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] assume !!(~i~2 < 9); [L44] call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4); [L44] call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4); [L44] havoc #t~mem10; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=2, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=3, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] assume !!(~i~2 < 9); [L44] call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4); [L44] call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4); [L44] havoc #t~mem10; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=3, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=4, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] assume !!(~i~2 < 9); [L44] call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4); [L44] call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4); [L44] havoc #t~mem10; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=4, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=5, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] assume !!(~i~2 < 9); [L44] call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4); [L44] call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4); [L44] havoc #t~mem10; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=5, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=6, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] assume !!(~i~2 < 9); [L44] call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4); [L44] call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4); [L44] havoc #t~mem10; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=6, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=7, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] assume !!(~i~2 < 9); [L44] call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4); [L44] call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4); [L44] havoc #t~mem10; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=7, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=8, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] assume !!(~i~2 < 9); [L44] call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4); [L44] call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4); [L44] havoc #t~mem10; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=8, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] assume !(~i~2 < 9); VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L46] call write~int(~temp~0, ~#x~0.base, 36 + ~#x~0.offset, 4); VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L47] CALL call #t~ret11 := rangesum(~#x~0.base, ~#x~0.offset); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0] [L11-L27] ~x.base, ~x.offset := #in~x.base, #in~x.offset; [L13] havoc ~i~1; [L14] havoc ~ret~0; [L15] ~ret~0 := 0; [L16] ~cnt~0 := 0; [L17] ~i~1 := 0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume ~i~1 > 5; [L19] call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=1, ~i~1=6, ~ret~0=-2147483645, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483645, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483645, ~x.base=14, ~x.offset=0] [L18-L21] assume ~i~1 > 5; [L19] call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=2, ~i~1=7, ~ret~0=-4294967288, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x.base=14, ~x.offset=0] [L18-L21] assume ~i~1 > 5; [L19] call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=3, ~i~1=8, ~ret~0=-6442450934, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450934, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450934, ~x.base=14, ~x.offset=0] [L18-L21] assume ~i~1 > 5; [L19] call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=4, ~i~1=9, ~ret~0=-8589934581, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934581, ~x.base=14, ~x.offset=0] [L17-L22] assume !(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934581, ~x.base=14, ~x.offset=0] [L23-L26] assume 0 != ~cnt~0; [L24] #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, #res=-2147483645, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934581, ~x.base=14, ~x.offset=0] [L11-L27] ensures true; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, #res=-2147483645, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934581, ~x.base=14, ~x.offset=0] [L47] RET call #t~ret11 := rangesum(~#x~0.base, ~#x~0.offset); VAL [#NULL.base=0, #NULL.offset=0, #t~ret11=-2147483645, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L47] assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647; [L47] ~ret5~0 := #t~ret11; [L47] havoc #t~ret11; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret5~0=-2147483645, ~ret~1=-2147483644, ~temp~0=-2147483647] [L49-L51] assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret5~0=-2147483645, ~ret~1=-2147483644, ~temp~0=-2147483647] [L50] assert false; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret5~0=-2147483645, ~ret~1=-2147483644, ~temp~0=-2147483647] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.preprocessor.BoogiePreprocessorBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL.base=11, #NULL.offset=13, old(#NULL.base)=11, old(#NULL.offset)=13] [?] #NULL.base, #NULL.offset := 0, 0; [?] #valid := #valid[0 := 0]; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=11, old(#NULL.offset)=13] [?] ensures true; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=11, old(#NULL.offset)=13] [?] RET call ULTIMATE.init(); VAL [#NULL.base=0, #NULL.offset=0] [?] CALL call #t~ret12 := main(); VAL [#NULL.base=0, #NULL.offset=0] [L31] call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(40); VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0] [L32] CALL call init_nondet(~#x~0.base, ~#x~0.offset); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0] [L4-L9] ~x.base, ~x.offset := #in~x.base, #in~x.offset; [L5] havoc ~i~0; [L6] ~i~0 := 0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=0, ~x.base=14, ~x.offset=0] [L6-L8] assume !!(~i~0 < 10); [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] call write~int(#t~nondet1, ~x.base, ~x.offset + 4 * ~i~0, 4); [L7] havoc #t~nondet1; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=0, ~x.base=14, ~x.offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=1, ~x.base=14, ~x.offset=0] [L6-L8] assume !!(~i~0 < 10); [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] call write~int(#t~nondet1, ~x.base, ~x.offset + 4 * ~i~0, 4); [L7] havoc #t~nondet1; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=1, ~x.base=14, ~x.offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=2, ~x.base=14, ~x.offset=0] [L6-L8] assume !!(~i~0 < 10); [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] call write~int(#t~nondet1, ~x.base, ~x.offset + 4 * ~i~0, 4); [L7] havoc #t~nondet1; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=2, ~x.base=14, ~x.offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=3, ~x.base=14, ~x.offset=0] [L6-L8] assume !!(~i~0 < 10); [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] call write~int(#t~nondet1, ~x.base, ~x.offset + 4 * ~i~0, 4); [L7] havoc #t~nondet1; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=3, ~x.base=14, ~x.offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=4, ~x.base=14, ~x.offset=0] [L6-L8] assume !!(~i~0 < 10); [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] call write~int(#t~nondet1, ~x.base, ~x.offset + 4 * ~i~0, 4); [L7] havoc #t~nondet1; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=4, ~x.base=14, ~x.offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=5, ~x.base=14, ~x.offset=0] [L6-L8] assume !!(~i~0 < 10); [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] call write~int(#t~nondet1, ~x.base, ~x.offset + 4 * ~i~0, 4); [L7] havoc #t~nondet1; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=5, ~x.base=14, ~x.offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=6, ~x.base=14, ~x.offset=0] [L6-L8] assume !!(~i~0 < 10); [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] call write~int(#t~nondet1, ~x.base, ~x.offset + 4 * ~i~0, 4); [L7] havoc #t~nondet1; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=6, ~x.base=14, ~x.offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=7, ~x.base=14, ~x.offset=0] [L6-L8] assume !!(~i~0 < 10); [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] call write~int(#t~nondet1, ~x.base, ~x.offset + 4 * ~i~0, 4); [L7] havoc #t~nondet1; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=7, ~x.base=14, ~x.offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=8, ~x.base=14, ~x.offset=0] [L6-L8] assume !!(~i~0 < 10); [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] call write~int(#t~nondet1, ~x.base, ~x.offset + 4 * ~i~0, 4); [L7] havoc #t~nondet1; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=8, ~x.base=14, ~x.offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=9, ~x.base=14, ~x.offset=0] [L6-L8] assume !!(~i~0 < 10); [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] call write~int(#t~nondet1, ~x.base, ~x.offset + 4 * ~i~0, 4); [L7] havoc #t~nondet1; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=9, ~x.base=14, ~x.offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=10, ~x.base=14, ~x.offset=0] [L6-L8] assume !(~i~0 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=10, ~x.base=14, ~x.offset=0] [L4-L9] ensures true; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~i~0=10, ~x.base=14, ~x.offset=0] [L32] RET call init_nondet(~#x~0.base, ~#x~0.offset); VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0] [L33] havoc ~temp~0; [L34] havoc ~ret~1; [L35] havoc ~ret2~0; [L36] havoc ~ret5~0; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0] [L38] CALL call #t~ret4 := rangesum(~#x~0.base, ~#x~0.offset); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0] [L11-L27] ~x.base, ~x.offset := #in~x.base, #in~x.offset; [L13] havoc ~i~1; [L14] havoc ~ret~0; [L15] ~ret~0 := 0; [L16] ~cnt~0 := 0; [L17] ~i~1 := 0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume ~i~1 > 5; [L19] call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=1, ~i~1=6, ~ret~0=-2147483643, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483643, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483643, ~x.base=14, ~x.offset=0] [L18-L21] assume ~i~1 > 5; [L19] call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=2, ~i~1=7, ~ret~0=-4294967288, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x.base=14, ~x.offset=0] [L18-L21] assume ~i~1 > 5; [L19] call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=3, ~i~1=8, ~ret~0=-6442450931, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450931, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450931, ~x.base=14, ~x.offset=0] [L18-L21] assume ~i~1 > 5; [L19] call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=4, ~i~1=9, ~ret~0=-8589934577, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x.base=14, ~x.offset=0] [L17-L22] assume !(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x.base=14, ~x.offset=0] [L23-L26] assume 0 != ~cnt~0; [L24] #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, #res=-2147483644, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x.base=14, ~x.offset=0] [L11-L27] ensures true; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, #res=-2147483644, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x.base=14, ~x.offset=0] [L38] RET call #t~ret4 := rangesum(~#x~0.base, ~#x~0.offset); VAL [#NULL.base=0, #NULL.offset=0, #t~ret4=-2147483644, ~#x~0.base=14, ~#x~0.offset=0] [L38] assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; [L38] ~ret~1 := #t~ret4; [L38] havoc #t~ret4; [L40] call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4); [L40] ~temp~0 := #t~mem5; [L40] havoc #t~mem5; [L40] call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4); [L40] call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4); [L40] havoc #t~mem6; [L40] call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~ret~1=-2147483644, ~temp~0=-2147483648] [L41] CALL call #t~ret7 := rangesum(~#x~0.base, ~#x~0.offset); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0] [L11-L27] ~x.base, ~x.offset := #in~x.base, #in~x.offset; [L13] havoc ~i~1; [L14] havoc ~ret~0; [L15] ~ret~0 := 0; [L16] ~cnt~0 := 0; [L17] ~i~1 := 0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume ~i~1 > 5; [L19] call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=1, ~i~1=6, ~ret~0=-2147483643, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483643, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483643, ~x.base=14, ~x.offset=0] [L18-L21] assume ~i~1 > 5; [L19] call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=2, ~i~1=7, ~ret~0=-4294967288, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x.base=14, ~x.offset=0] [L18-L21] assume ~i~1 > 5; [L19] call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=3, ~i~1=8, ~ret~0=-6442450931, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450931, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450931, ~x.base=14, ~x.offset=0] [L18-L21] assume ~i~1 > 5; [L19] call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=4, ~i~1=9, ~ret~0=-8589934577, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x.base=14, ~x.offset=0] [L17-L22] assume !(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x.base=14, ~x.offset=0] [L23-L26] assume 0 != ~cnt~0; [L24] #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, #res=-2147483644, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x.base=14, ~x.offset=0] [L11-L27] ensures true; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, #res=-2147483644, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x.base=14, ~x.offset=0] [L41] RET call #t~ret7 := rangesum(~#x~0.base, ~#x~0.offset); VAL [#NULL.base=0, #NULL.offset=0, #t~ret7=-2147483644, ~#x~0.base=14, ~#x~0.offset=0, ~ret~1=-2147483644, ~temp~0=-2147483648] [L41] assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647; [L41] ~ret2~0 := #t~ret7; [L41] havoc #t~ret7; [L42] call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4); [L42] ~temp~0 := #t~mem8; [L42] havoc #t~mem8; [L43] ~i~2 := 0; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=0, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] assume !!(~i~2 < 9); [L44] call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4); [L44] call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4); [L44] havoc #t~mem10; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=0, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=1, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] assume !!(~i~2 < 9); [L44] call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4); [L44] call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4); [L44] havoc #t~mem10; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=1, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=2, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] assume !!(~i~2 < 9); [L44] call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4); [L44] call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4); [L44] havoc #t~mem10; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=2, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=3, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] assume !!(~i~2 < 9); [L44] call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4); [L44] call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4); [L44] havoc #t~mem10; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=3, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=4, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] assume !!(~i~2 < 9); [L44] call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4); [L44] call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4); [L44] havoc #t~mem10; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=4, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=5, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] assume !!(~i~2 < 9); [L44] call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4); [L44] call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4); [L44] havoc #t~mem10; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=5, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=6, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] assume !!(~i~2 < 9); [L44] call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4); [L44] call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4); [L44] havoc #t~mem10; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=6, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=7, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] assume !!(~i~2 < 9); [L44] call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4); [L44] call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4); [L44] havoc #t~mem10; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=7, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=8, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] assume !!(~i~2 < 9); [L44] call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4); [L44] call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4); [L44] havoc #t~mem10; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=8, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] assume !(~i~2 < 9); VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L46] call write~int(~temp~0, ~#x~0.base, 36 + ~#x~0.offset, 4); VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L47] CALL call #t~ret11 := rangesum(~#x~0.base, ~#x~0.offset); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0] [L11-L27] ~x.base, ~x.offset := #in~x.base, #in~x.offset; [L13] havoc ~i~1; [L14] havoc ~ret~0; [L15] ~ret~0 := 0; [L16] ~cnt~0 := 0; [L17] ~i~1 := 0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume !(~i~1 > 5); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x.base=14, ~x.offset=0] [L18-L21] assume ~i~1 > 5; [L19] call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=1, ~i~1=6, ~ret~0=-2147483645, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483645, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483645, ~x.base=14, ~x.offset=0] [L18-L21] assume ~i~1 > 5; [L19] call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=2, ~i~1=7, ~ret~0=-4294967288, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x.base=14, ~x.offset=0] [L18-L21] assume ~i~1 > 5; [L19] call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=3, ~i~1=8, ~ret~0=-6442450934, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450934, ~x.base=14, ~x.offset=0] [L17-L22] assume !!(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450934, ~x.base=14, ~x.offset=0] [L18-L21] assume ~i~1 > 5; [L19] call #t~mem3 := read~int(~x.base, ~x.offset + 4 * ~i~1, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=4, ~i~1=9, ~ret~0=-8589934581, ~x.base=14, ~x.offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934581, ~x.base=14, ~x.offset=0] [L17-L22] assume !(~i~1 < 10); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934581, ~x.base=14, ~x.offset=0] [L23-L26] assume 0 != ~cnt~0; [L24] #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, #res=-2147483645, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934581, ~x.base=14, ~x.offset=0] [L11-L27] ensures true; VAL [#in~x.base=14, #in~x.offset=0, #NULL.base=0, #NULL.offset=0, #res=-2147483645, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934581, ~x.base=14, ~x.offset=0] [L47] RET call #t~ret11 := rangesum(~#x~0.base, ~#x~0.offset); VAL [#NULL.base=0, #NULL.offset=0, #t~ret11=-2147483645, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L47] assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647; [L47] ~ret5~0 := #t~ret11; [L47] havoc #t~ret11; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret5~0=-2147483645, ~ret~1=-2147483644, ~temp~0=-2147483647] [L49-L51] assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret5~0=-2147483645, ~ret~1=-2147483644, ~temp~0=-2147483647] [L50] assert false; VAL [#NULL.base=0, #NULL.offset=0, ~#x~0.base=14, ~#x~0.offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret5~0=-2147483645, ~ret~1=-2147483644, ~temp~0=-2147483647] [?] CALL call ULTIMATE.init(); VAL [#NULL!base=11, #NULL!offset=13, old(#NULL!base)=11, old(#NULL!offset)=13] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=11, old(#NULL!offset)=13] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0] [?] CALL call #t~ret12 := main(); VAL [#NULL!base=0, #NULL!offset=0] [L31] FCALL call ~#x~0 := #Ultimate.alloc(40); VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0] [L32] CALL call init_nondet(~#x~0); VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0] [L4-L9] ~x := #in~x; [L5] havoc ~i~0; [L6] ~i~0 := 0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=0, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=0, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=1, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=1, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=2, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=2, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=3, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=3, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=4, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=4, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=5, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=5, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=6, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=6, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=7, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=7, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=8, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=8, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=9, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=9, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=10, ~x!base=14, ~x!offset=0] [L6-L8] COND TRUE !(~i~0 < 10) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=10, ~x!base=14, ~x!offset=0] [L32] RET call init_nondet(~#x~0); VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0] [L33] havoc ~temp~0; [L34] havoc ~ret~1; [L35] havoc ~ret2~0; [L36] havoc ~ret5~0; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0] [L38] CALL call #t~ret4 := rangesum(~#x~0); VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0] [L11-L27] ~x := #in~x; [L13] havoc ~i~1; [L14] havoc ~ret~0; [L15] ~ret~0 := 0; [L16] ~cnt~0 := 0; [L17] ~i~1 := 0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=6, ~ret~0=-2147483643, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483643, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483643, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=7, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=8, ~ret~0=-6442450931, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450931, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450931, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=9, ~ret~0=-8589934577, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x!base=14, ~x!offset=0] [L17-L22] COND TRUE !(~i~1 < 10) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x!base=14, ~x!offset=0] [L23] COND TRUE 0 != ~cnt~0 [L24] #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, #res=-2147483644, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x!base=14, ~x!offset=0] [L38] RET call #t~ret4 := rangesum(~#x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret4=-2147483644, ~#x~0!base=14, ~#x~0!offset=0] [L38] assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; [L38] ~ret~1 := #t~ret4; [L38] havoc #t~ret4; [L40] FCALL call #t~mem5 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset }, 4); [L40] ~temp~0 := #t~mem5; [L40] havoc #t~mem5; [L40] FCALL call #t~mem6 := read~int({ base: ~#x~0!base, offset: 4 + ~#x~0!offset }, 4); [L40] FCALL call write~int(#t~mem6, { base: ~#x~0!base, offset: ~#x~0!offset }, 4); [L40] havoc #t~mem6; [L40] FCALL call write~int(~temp~0, { base: ~#x~0!base, offset: 4 + ~#x~0!offset }, 4); VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~ret~1=-2147483644, ~temp~0=-2147483648] [L41] CALL call #t~ret7 := rangesum(~#x~0); VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0] [L11-L27] ~x := #in~x; [L13] havoc ~i~1; [L14] havoc ~ret~0; [L15] ~ret~0 := 0; [L16] ~cnt~0 := 0; [L17] ~i~1 := 0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=6, ~ret~0=-2147483643, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483643, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483643, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=7, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=8, ~ret~0=-6442450931, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450931, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450931, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=9, ~ret~0=-8589934577, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x!base=14, ~x!offset=0] [L17-L22] COND TRUE !(~i~1 < 10) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x!base=14, ~x!offset=0] [L23] COND TRUE 0 != ~cnt~0 [L24] #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, #res=-2147483644, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x!base=14, ~x!offset=0] [L41] RET call #t~ret7 := rangesum(~#x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret7=-2147483644, ~#x~0!base=14, ~#x~0!offset=0, ~ret~1=-2147483644, ~temp~0=-2147483648] [L41] assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647; [L41] ~ret2~0 := #t~ret7; [L41] havoc #t~ret7; [L42] FCALL call #t~mem8 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset }, 4); [L42] ~temp~0 := #t~mem8; [L42] havoc #t~mem8; [L43] ~i~2 := 0; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=0, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=0, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=1, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=1, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=2, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=2, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=3, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=3, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=4, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=4, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=5, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=5, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=6, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=6, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=7, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=7, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=8, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=8, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND TRUE !(~i~2 < 9) VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L46] FCALL call write~int(~temp~0, { base: ~#x~0!base, offset: 36 + ~#x~0!offset }, 4); VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L47] CALL call #t~ret11 := rangesum(~#x~0); VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0] [L11-L27] ~x := #in~x; [L13] havoc ~i~1; [L14] havoc ~ret~0; [L15] ~ret~0 := 0; [L16] ~cnt~0 := 0; [L17] ~i~1 := 0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=6, ~ret~0=-2147483645, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483645, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483645, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=7, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=8, ~ret~0=-6442450934, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450934, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450934, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=9, ~ret~0=-8589934581, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934581, ~x!base=14, ~x!offset=0] [L17-L22] COND TRUE !(~i~1 < 10) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934581, ~x!base=14, ~x!offset=0] [L23] COND TRUE 0 != ~cnt~0 [L24] #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, #res=-2147483645, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934581, ~x!base=14, ~x!offset=0] [L47] RET call #t~ret11 := rangesum(~#x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret11=-2147483645, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L47] assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647; [L47] ~ret5~0 := #t~ret11; [L47] havoc #t~ret11; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret5~0=-2147483645, ~ret~1=-2147483644, ~temp~0=-2147483647] [L49] COND TRUE ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0 VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret5~0=-2147483645, ~ret~1=-2147483644, ~temp~0=-2147483647] [L50] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret5~0=-2147483645, ~ret~1=-2147483644, ~temp~0=-2147483647] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL!base=11, #NULL!offset=13, old(#NULL!base)=11, old(#NULL!offset)=13] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=11, old(#NULL!offset)=13] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0] [?] CALL call #t~ret12 := main(); VAL [#NULL!base=0, #NULL!offset=0] [L31] FCALL call ~#x~0 := #Ultimate.alloc(40); VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0] [L32] CALL call init_nondet(~#x~0); VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0] [L4-L9] ~x := #in~x; [L5] havoc ~i~0; [L6] ~i~0 := 0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=0, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=0, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=1, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=1, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=2, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=2, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=3, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=3, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=4, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=4, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=5, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=5, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=6, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=6, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=7, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=7, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=8, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=8, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=9, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=9, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=10, ~x!base=14, ~x!offset=0] [L6-L8] COND TRUE !(~i~0 < 10) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=10, ~x!base=14, ~x!offset=0] [L32] RET call init_nondet(~#x~0); VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0] [L33] havoc ~temp~0; [L34] havoc ~ret~1; [L35] havoc ~ret2~0; [L36] havoc ~ret5~0; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0] [L38] CALL call #t~ret4 := rangesum(~#x~0); VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0] [L11-L27] ~x := #in~x; [L13] havoc ~i~1; [L14] havoc ~ret~0; [L15] ~ret~0 := 0; [L16] ~cnt~0 := 0; [L17] ~i~1 := 0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=6, ~ret~0=-2147483643, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483643, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483643, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=7, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=8, ~ret~0=-6442450931, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450931, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450931, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=9, ~ret~0=-8589934577, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x!base=14, ~x!offset=0] [L17-L22] COND TRUE !(~i~1 < 10) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x!base=14, ~x!offset=0] [L23] COND TRUE 0 != ~cnt~0 [L24] #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, #res=-2147483644, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x!base=14, ~x!offset=0] [L38] RET call #t~ret4 := rangesum(~#x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret4=-2147483644, ~#x~0!base=14, ~#x~0!offset=0] [L38] assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; [L38] ~ret~1 := #t~ret4; [L38] havoc #t~ret4; [L40] FCALL call #t~mem5 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset }, 4); [L40] ~temp~0 := #t~mem5; [L40] havoc #t~mem5; [L40] FCALL call #t~mem6 := read~int({ base: ~#x~0!base, offset: 4 + ~#x~0!offset }, 4); [L40] FCALL call write~int(#t~mem6, { base: ~#x~0!base, offset: ~#x~0!offset }, 4); [L40] havoc #t~mem6; [L40] FCALL call write~int(~temp~0, { base: ~#x~0!base, offset: 4 + ~#x~0!offset }, 4); VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~ret~1=-2147483644, ~temp~0=-2147483648] [L41] CALL call #t~ret7 := rangesum(~#x~0); VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0] [L11-L27] ~x := #in~x; [L13] havoc ~i~1; [L14] havoc ~ret~0; [L15] ~ret~0 := 0; [L16] ~cnt~0 := 0; [L17] ~i~1 := 0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=6, ~ret~0=-2147483643, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483643, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483643, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=7, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=8, ~ret~0=-6442450931, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450931, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450931, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=9, ~ret~0=-8589934577, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x!base=14, ~x!offset=0] [L17-L22] COND TRUE !(~i~1 < 10) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x!base=14, ~x!offset=0] [L23] COND TRUE 0 != ~cnt~0 [L24] #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, #res=-2147483644, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x!base=14, ~x!offset=0] [L41] RET call #t~ret7 := rangesum(~#x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret7=-2147483644, ~#x~0!base=14, ~#x~0!offset=0, ~ret~1=-2147483644, ~temp~0=-2147483648] [L41] assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647; [L41] ~ret2~0 := #t~ret7; [L41] havoc #t~ret7; [L42] FCALL call #t~mem8 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset }, 4); [L42] ~temp~0 := #t~mem8; [L42] havoc #t~mem8; [L43] ~i~2 := 0; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=0, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=0, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=1, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=1, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=2, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=2, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=3, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=3, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=4, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=4, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=5, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=5, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=6, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=6, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=7, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=7, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=8, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=8, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND TRUE !(~i~2 < 9) VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L46] FCALL call write~int(~temp~0, { base: ~#x~0!base, offset: 36 + ~#x~0!offset }, 4); VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L47] CALL call #t~ret11 := rangesum(~#x~0); VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0] [L11-L27] ~x := #in~x; [L13] havoc ~i~1; [L14] havoc ~ret~0; [L15] ~ret~0 := 0; [L16] ~cnt~0 := 0; [L17] ~i~1 := 0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=6, ~ret~0=-2147483645, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483645, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483645, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=7, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=8, ~ret~0=-6442450934, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450934, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450934, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=9, ~ret~0=-8589934581, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934581, ~x!base=14, ~x!offset=0] [L17-L22] COND TRUE !(~i~1 < 10) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934581, ~x!base=14, ~x!offset=0] [L23] COND TRUE 0 != ~cnt~0 [L24] #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, #res=-2147483645, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934581, ~x!base=14, ~x!offset=0] [L47] RET call #t~ret11 := rangesum(~#x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret11=-2147483645, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L47] assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647; [L47] ~ret5~0 := #t~ret11; [L47] havoc #t~ret11; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret5~0=-2147483645, ~ret~1=-2147483644, ~temp~0=-2147483647] [L49] COND TRUE ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0 VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret5~0=-2147483645, ~ret~1=-2147483644, ~temp~0=-2147483647] [L50] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret5~0=-2147483645, ~ret~1=-2147483644, ~temp~0=-2147483647] [?] CALL call ULTIMATE.init(); VAL [#NULL!base=11, #NULL!offset=13, old(#NULL!base)=11, old(#NULL!offset)=13] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=11, old(#NULL!offset)=13] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0] [?] CALL call #t~ret12 := main(); VAL [#NULL!base=0, #NULL!offset=0] [L31] FCALL call ~#x~0 := #Ultimate.alloc(40); VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0] [L32] CALL call init_nondet(~#x~0); VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0] [L4-L9] ~x := #in~x; [L5] havoc ~i~0; [L6] ~i~0 := 0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=0, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=0, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=1, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=1, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=2, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=2, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=3, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=3, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=4, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=4, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=5, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=5, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=6, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=6, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=7, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=7, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=8, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=8, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=9, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=9, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=10, ~x!base=14, ~x!offset=0] [L6-L8] COND TRUE !(~i~0 < 10) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=10, ~x!base=14, ~x!offset=0] [L32] RET call init_nondet(~#x~0); VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0] [L33] havoc ~temp~0; [L34] havoc ~ret~1; [L35] havoc ~ret2~0; [L36] havoc ~ret5~0; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0] [L38] CALL call #t~ret4 := rangesum(~#x~0); VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0] [L11-L27] ~x := #in~x; [L13] havoc ~i~1; [L14] havoc ~ret~0; [L15] ~ret~0 := 0; [L16] ~cnt~0 := 0; [L17] ~i~1 := 0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=6, ~ret~0=-2147483643, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483643, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483643, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=7, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=8, ~ret~0=-6442450931, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450931, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450931, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=9, ~ret~0=-8589934577, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x!base=14, ~x!offset=0] [L17-L22] COND TRUE !(~i~1 < 10) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x!base=14, ~x!offset=0] [L23] COND TRUE 0 != ~cnt~0 [L24] #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, #res=-2147483644, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x!base=14, ~x!offset=0] [L38] RET call #t~ret4 := rangesum(~#x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret4=-2147483644, ~#x~0!base=14, ~#x~0!offset=0] [L38] assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; [L38] ~ret~1 := #t~ret4; [L38] havoc #t~ret4; [L40] FCALL call #t~mem5 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset }, 4); [L40] ~temp~0 := #t~mem5; [L40] havoc #t~mem5; [L40] FCALL call #t~mem6 := read~int({ base: ~#x~0!base, offset: 4 + ~#x~0!offset }, 4); [L40] FCALL call write~int(#t~mem6, { base: ~#x~0!base, offset: ~#x~0!offset }, 4); [L40] havoc #t~mem6; [L40] FCALL call write~int(~temp~0, { base: ~#x~0!base, offset: 4 + ~#x~0!offset }, 4); VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~ret~1=-2147483644, ~temp~0=-2147483648] [L41] CALL call #t~ret7 := rangesum(~#x~0); VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0] [L11-L27] ~x := #in~x; [L13] havoc ~i~1; [L14] havoc ~ret~0; [L15] ~ret~0 := 0; [L16] ~cnt~0 := 0; [L17] ~i~1 := 0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=6, ~ret~0=-2147483643, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483643, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483643, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=7, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=8, ~ret~0=-6442450931, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450931, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450931, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=9, ~ret~0=-8589934577, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x!base=14, ~x!offset=0] [L17-L22] COND TRUE !(~i~1 < 10) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x!base=14, ~x!offset=0] [L23] COND TRUE 0 != ~cnt~0 [L24] #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, #res=-2147483644, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x!base=14, ~x!offset=0] [L41] RET call #t~ret7 := rangesum(~#x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret7=-2147483644, ~#x~0!base=14, ~#x~0!offset=0, ~ret~1=-2147483644, ~temp~0=-2147483648] [L41] assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647; [L41] ~ret2~0 := #t~ret7; [L41] havoc #t~ret7; [L42] FCALL call #t~mem8 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset }, 4); [L42] ~temp~0 := #t~mem8; [L42] havoc #t~mem8; [L43] ~i~2 := 0; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=0, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=0, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=1, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=1, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=2, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=2, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=3, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=3, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=4, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=4, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=5, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=5, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=6, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=6, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=7, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=7, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=8, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=8, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND TRUE !(~i~2 < 9) VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L46] FCALL call write~int(~temp~0, { base: ~#x~0!base, offset: 36 + ~#x~0!offset }, 4); VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L47] CALL call #t~ret11 := rangesum(~#x~0); VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0] [L11-L27] ~x := #in~x; [L13] havoc ~i~1; [L14] havoc ~ret~0; [L15] ~ret~0 := 0; [L16] ~cnt~0 := 0; [L17] ~i~1 := 0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=6, ~ret~0=-2147483645, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483645, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483645, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=7, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=8, ~ret~0=-6442450934, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450934, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450934, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=9, ~ret~0=-8589934581, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934581, ~x!base=14, ~x!offset=0] [L17-L22] COND TRUE !(~i~1 < 10) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934581, ~x!base=14, ~x!offset=0] [L23] COND TRUE 0 != ~cnt~0 [L24] #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, #res=-2147483645, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934581, ~x!base=14, ~x!offset=0] [L47] RET call #t~ret11 := rangesum(~#x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret11=-2147483645, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L47] assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647; [L47] ~ret5~0 := #t~ret11; [L47] havoc #t~ret11; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret5~0=-2147483645, ~ret~1=-2147483644, ~temp~0=-2147483647] [L49] COND TRUE ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0 VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret5~0=-2147483645, ~ret~1=-2147483644, ~temp~0=-2147483647] [L50] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret5~0=-2147483645, ~ret~1=-2147483644, ~temp~0=-2147483647] ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL!base=11, #NULL!offset=13, old(#NULL!base)=11, old(#NULL!offset)=13] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=11, old(#NULL!offset)=13] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0] [?] CALL call #t~ret12 := main(); VAL [#NULL!base=0, #NULL!offset=0] [L31] FCALL call ~#x~0 := #Ultimate.alloc(40); VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0] [L32] CALL call init_nondet(~#x~0); VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0] [L4-L9] ~x := #in~x; [L5] havoc ~i~0; [L6] ~i~0 := 0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=0, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=0, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=1, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=1, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=2, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=2, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=3, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=3, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=4, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=4, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=5, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=5, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=6, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=6, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=7, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=7, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=8, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=8, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=9, ~x!base=14, ~x!offset=0] [L6-L8] COND FALSE !(!(~i~0 < 10)) [L7] assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; [L7] FCALL call write~int(#t~nondet1, { base: ~x!base, offset: ~x!offset + 4 * ~i~0 }, 4); [L7] havoc #t~nondet1; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=9, ~x!base=14, ~x!offset=0] [L6] #t~post0 := ~i~0; [L6] ~i~0 := 1 + #t~post0; [L6] havoc #t~post0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=10, ~x!base=14, ~x!offset=0] [L6-L8] COND TRUE !(~i~0 < 10) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~i~0=10, ~x!base=14, ~x!offset=0] [L32] RET call init_nondet(~#x~0); VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0] [L33] havoc ~temp~0; [L34] havoc ~ret~1; [L35] havoc ~ret2~0; [L36] havoc ~ret5~0; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0] [L38] CALL call #t~ret4 := rangesum(~#x~0); VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0] [L11-L27] ~x := #in~x; [L13] havoc ~i~1; [L14] havoc ~ret~0; [L15] ~ret~0 := 0; [L16] ~cnt~0 := 0; [L17] ~i~1 := 0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=6, ~ret~0=-2147483643, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483643, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483643, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=7, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=8, ~ret~0=-6442450931, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450931, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450931, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=9, ~ret~0=-8589934577, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x!base=14, ~x!offset=0] [L17-L22] COND TRUE !(~i~1 < 10) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x!base=14, ~x!offset=0] [L23] COND TRUE 0 != ~cnt~0 [L24] #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, #res=-2147483644, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x!base=14, ~x!offset=0] [L38] RET call #t~ret4 := rangesum(~#x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret4=-2147483644, ~#x~0!base=14, ~#x~0!offset=0] [L38] assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; [L38] ~ret~1 := #t~ret4; [L38] havoc #t~ret4; [L40] FCALL call #t~mem5 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset }, 4); [L40] ~temp~0 := #t~mem5; [L40] havoc #t~mem5; [L40] FCALL call #t~mem6 := read~int({ base: ~#x~0!base, offset: 4 + ~#x~0!offset }, 4); [L40] FCALL call write~int(#t~mem6, { base: ~#x~0!base, offset: ~#x~0!offset }, 4); [L40] havoc #t~mem6; [L40] FCALL call write~int(~temp~0, { base: ~#x~0!base, offset: 4 + ~#x~0!offset }, 4); VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~ret~1=-2147483644, ~temp~0=-2147483648] [L41] CALL call #t~ret7 := rangesum(~#x~0); VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0] [L11-L27] ~x := #in~x; [L13] havoc ~i~1; [L14] havoc ~ret~0; [L15] ~ret~0 := 0; [L16] ~cnt~0 := 0; [L17] ~i~1 := 0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=6, ~ret~0=-2147483643, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483643, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483643, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=7, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=8, ~ret~0=-6442450931, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450931, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450931, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=9, ~ret~0=-8589934577, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x!base=14, ~x!offset=0] [L17-L22] COND TRUE !(~i~1 < 10) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x!base=14, ~x!offset=0] [L23] COND TRUE 0 != ~cnt~0 [L24] #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, #res=-2147483644, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934577, ~x!base=14, ~x!offset=0] [L41] RET call #t~ret7 := rangesum(~#x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret7=-2147483644, ~#x~0!base=14, ~#x~0!offset=0, ~ret~1=-2147483644, ~temp~0=-2147483648] [L41] assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647; [L41] ~ret2~0 := #t~ret7; [L41] havoc #t~ret7; [L42] FCALL call #t~mem8 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset }, 4); [L42] ~temp~0 := #t~mem8; [L42] havoc #t~mem8; [L43] ~i~2 := 0; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=0, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=0, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=1, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=1, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=2, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=2, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=3, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=3, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=4, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=4, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=5, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=5, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=6, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=6, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=7, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=7, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=8, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND FALSE !(!(~i~2 < 9)) [L44] FCALL call #t~mem10 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset + 4 * (1 + ~i~2) }, 4); [L44] FCALL call write~int(#t~mem10, { base: ~#x~0!base, offset: ~#x~0!offset + 4 * ~i~2 }, 4); [L44] havoc #t~mem10; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=8, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43] #t~post9 := ~i~2; [L43] ~i~2 := 1 + #t~post9; [L43] havoc #t~post9; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L43-L45] COND TRUE !(~i~2 < 9) VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L46] FCALL call write~int(~temp~0, { base: ~#x~0!base, offset: 36 + ~#x~0!offset }, 4); VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L47] CALL call #t~ret11 := rangesum(~#x~0); VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0] [L11-L27] ~x := #in~x; [L13] havoc ~i~1; [L14] havoc ~ret~0; [L15] ~ret~0 := 0; [L16] ~cnt~0 := 0; [L17] ~i~1 := 0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=0, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=1, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=2, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=3, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=4, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND FALSE !(~i~1 > 5) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=5, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=0, ~i~1=6, ~ret~0=0, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=6, ~ret~0=-2147483645, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483645, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=1, ~i~1=7, ~ret~0=-2147483645, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=7, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=2, ~i~1=8, ~ret~0=-4294967288, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=8, ~ret~0=-6442450934, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450934, ~x!base=14, ~x!offset=0] [L17-L22] COND FALSE !(!(~i~1 < 10)) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=3, ~i~1=9, ~ret~0=-6442450934, ~x!base=14, ~x!offset=0] [L18] COND TRUE ~i~1 > 5 [L19] FCALL call #t~mem3 := read~int({ base: ~x!base, offset: ~x!offset + 4 * ~i~1 }, 4); [L19] ~ret~0 := ~ret~0 + #t~mem3; [L19] havoc #t~mem3; [L20] ~cnt~0 := 1 + ~cnt~0; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=9, ~ret~0=-8589934581, ~x!base=14, ~x!offset=0] [L17] #t~post2 := ~i~1; [L17] ~i~1 := 1 + #t~post2; [L17] havoc #t~post2; VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934581, ~x!base=14, ~x!offset=0] [L17-L22] COND TRUE !(~i~1 < 10) VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934581, ~x!base=14, ~x!offset=0] [L23] COND TRUE 0 != ~cnt~0 [L24] #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % ~cnt~0 then (if ~cnt~0 < 0 then ~ret~0 / ~cnt~0 - 1 else 1 + ~ret~0 / ~cnt~0) else ~ret~0 / ~cnt~0) % 4294967296 - 4294967296); VAL [#in~x!base=14, #in~x!offset=0, #NULL!base=0, #NULL!offset=0, #res=-2147483645, ~cnt~0=4, ~i~1=10, ~ret~0=-8589934581, ~x!base=14, ~x!offset=0] [L47] RET call #t~ret11 := rangesum(~#x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret11=-2147483645, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret~1=-2147483644, ~temp~0=-2147483647] [L47] assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647; [L47] ~ret5~0 := #t~ret11; [L47] havoc #t~ret11; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret5~0=-2147483645, ~ret~1=-2147483644, ~temp~0=-2147483647] [L49] COND TRUE ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0 VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret5~0=-2147483645, ~ret~1=-2147483644, ~temp~0=-2147483647] [L50] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#x~0!base=14, ~#x~0!offset=0, ~i~2=9, ~ret2~0=-2147483644, ~ret5~0=-2147483645, ~ret~1=-2147483644, ~temp~0=-2147483647] [L31] int x[10]; VAL [x={14:0}] [L32] CALL init_nondet(x) VAL [x={14:0}] [L5] int i; [L6] i = 0 VAL [i=0, x={14:0}, x={14:0}] [L6] COND TRUE i < 10 [L7] x[i] = __VERIFIER_nondet_int() [L6] i++ VAL [i=1, x={14:0}, x={14:0}] [L6] COND TRUE i < 10 [L7] x[i] = __VERIFIER_nondet_int() [L6] i++ VAL [i=2, x={14:0}, x={14:0}] [L6] COND TRUE i < 10 [L7] x[i] = __VERIFIER_nondet_int() [L6] i++ VAL [i=3, x={14:0}, x={14:0}] [L6] COND TRUE i < 10 [L7] x[i] = __VERIFIER_nondet_int() [L6] i++ VAL [i=4, x={14:0}, x={14:0}] [L6] COND TRUE i < 10 [L7] x[i] = __VERIFIER_nondet_int() [L6] i++ VAL [i=5, x={14:0}, x={14:0}] [L6] COND TRUE i < 10 [L7] x[i] = __VERIFIER_nondet_int() [L6] i++ VAL [i=6, x={14:0}, x={14:0}] [L6] COND TRUE i < 10 [L7] x[i] = __VERIFIER_nondet_int() [L6] i++ VAL [i=7, x={14:0}, x={14:0}] [L6] COND TRUE i < 10 [L7] x[i] = __VERIFIER_nondet_int() [L6] i++ VAL [i=8, x={14:0}, x={14:0}] [L6] COND TRUE i < 10 [L7] x[i] = __VERIFIER_nondet_int() [L6] i++ VAL [i=9, x={14:0}, x={14:0}] [L6] COND TRUE i < 10 [L7] x[i] = __VERIFIER_nondet_int() [L6] i++ VAL [i=10, x={14:0}, x={14:0}] [L6] COND FALSE !(i < 10) VAL [i=10, x={14:0}, x={14:0}] [L32] RET init_nondet(x) VAL [x={14:0}] [L33] int temp; [L34] int ret; [L35] int ret2; [L36] int ret5; VAL [x={14:0}] [L38] CALL, EXPR rangesum(x) VAL [x={14:0}] [L13] int i; [L14] long long ret; [L15] ret = 0 [L16] int cnt = 0; [L17] i = 0 VAL [cnt=0, i=0, ret=0, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=0, i=0, ret=0, x={14:0}, x={14:0}] [L18] COND FALSE !(i > 10/2) VAL [cnt=0, i=0, ret=0, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=0, i=1, ret=0, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=0, i=1, ret=0, x={14:0}, x={14:0}] [L18] COND FALSE !(i > 10/2) VAL [cnt=0, i=1, ret=0, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=0, i=2, ret=0, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=0, i=2, ret=0, x={14:0}, x={14:0}] [L18] COND FALSE !(i > 10/2) VAL [cnt=0, i=2, ret=0, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=0, i=3, ret=0, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=0, i=3, ret=0, x={14:0}, x={14:0}] [L18] COND FALSE !(i > 10/2) VAL [cnt=0, i=3, ret=0, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=0, i=4, ret=0, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=0, i=4, ret=0, x={14:0}, x={14:0}] [L18] COND FALSE !(i > 10/2) VAL [cnt=0, i=4, ret=0, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=0, i=5, ret=0, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=0, i=5, ret=0, x={14:0}, x={14:0}] [L18] COND FALSE !(i > 10/2) VAL [cnt=0, i=5, ret=0, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=0, i=6, ret=0, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=0, i=6, ret=0, x={14:0}, x={14:0}] [L18] COND TRUE i > 10/2 [L19] EXPR x[i] [L19] ret = ret + x[i] [L20] cnt = cnt + 1 VAL [cnt=1, i=6, ret=-2147483643, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=1, i=7, ret=-2147483643, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=1, i=7, ret=-2147483643, x={14:0}, x={14:0}] [L18] COND TRUE i > 10/2 [L19] EXPR x[i] [L19] ret = ret + x[i] [L20] cnt = cnt + 1 VAL [cnt=2, i=7, ret=-4294967288, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=2, i=8, ret=-4294967288, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=2, i=8, ret=-4294967288, x={14:0}, x={14:0}] [L18] COND TRUE i > 10/2 [L19] EXPR x[i] [L19] ret = ret + x[i] [L20] cnt = cnt + 1 VAL [cnt=3, i=8, ret=-6442450931, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=3, i=9, ret=-6442450931, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=3, i=9, ret=-6442450931, x={14:0}, x={14:0}] [L18] COND TRUE i > 10/2 [L19] EXPR x[i] [L19] ret = ret + x[i] [L20] cnt = cnt + 1 VAL [cnt=4, i=9, ret=-8589934577, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=4, i=10, ret=-8589934577, x={14:0}, x={14:0}] [L17] COND FALSE !(i < 10) VAL [cnt=4, i=10, ret=-8589934577, x={14:0}, x={14:0}] [L23] COND TRUE cnt !=0 [L24] return ret / cnt; VAL [\result=-2147483644, cnt=4, i=10, ret=-8589934577, x={14:0}, x={14:0}] [L38] RET, EXPR rangesum(x) VAL [rangesum(x)=-2147483644, x={14:0}] [L38] ret = rangesum(x) [L40] EXPR x[0] [L40] temp=x[0] [L40] EXPR x[1] [L40] x[0] = x[1] [L40] x[1] = temp VAL [ret=-2147483644, temp=-2147483648, x={14:0}] [L41] CALL, EXPR rangesum(x) VAL [x={14:0}] [L13] int i; [L14] long long ret; [L15] ret = 0 [L16] int cnt = 0; [L17] i = 0 VAL [cnt=0, i=0, ret=0, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=0, i=0, ret=0, x={14:0}, x={14:0}] [L18] COND FALSE !(i > 10/2) VAL [cnt=0, i=0, ret=0, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=0, i=1, ret=0, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=0, i=1, ret=0, x={14:0}, x={14:0}] [L18] COND FALSE !(i > 10/2) VAL [cnt=0, i=1, ret=0, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=0, i=2, ret=0, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=0, i=2, ret=0, x={14:0}, x={14:0}] [L18] COND FALSE !(i > 10/2) VAL [cnt=0, i=2, ret=0, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=0, i=3, ret=0, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=0, i=3, ret=0, x={14:0}, x={14:0}] [L18] COND FALSE !(i > 10/2) VAL [cnt=0, i=3, ret=0, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=0, i=4, ret=0, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=0, i=4, ret=0, x={14:0}, x={14:0}] [L18] COND FALSE !(i > 10/2) VAL [cnt=0, i=4, ret=0, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=0, i=5, ret=0, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=0, i=5, ret=0, x={14:0}, x={14:0}] [L18] COND FALSE !(i > 10/2) VAL [cnt=0, i=5, ret=0, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=0, i=6, ret=0, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=0, i=6, ret=0, x={14:0}, x={14:0}] [L18] COND TRUE i > 10/2 [L19] EXPR x[i] [L19] ret = ret + x[i] [L20] cnt = cnt + 1 VAL [cnt=1, i=6, ret=-2147483643, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=1, i=7, ret=-2147483643, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=1, i=7, ret=-2147483643, x={14:0}, x={14:0}] [L18] COND TRUE i > 10/2 [L19] EXPR x[i] [L19] ret = ret + x[i] [L20] cnt = cnt + 1 VAL [cnt=2, i=7, ret=-4294967288, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=2, i=8, ret=-4294967288, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=2, i=8, ret=-4294967288, x={14:0}, x={14:0}] [L18] COND TRUE i > 10/2 [L19] EXPR x[i] [L19] ret = ret + x[i] [L20] cnt = cnt + 1 VAL [cnt=3, i=8, ret=-6442450931, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=3, i=9, ret=-6442450931, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=3, i=9, ret=-6442450931, x={14:0}, x={14:0}] [L18] COND TRUE i > 10/2 [L19] EXPR x[i] [L19] ret = ret + x[i] [L20] cnt = cnt + 1 VAL [cnt=4, i=9, ret=-8589934577, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=4, i=10, ret=-8589934577, x={14:0}, x={14:0}] [L17] COND FALSE !(i < 10) VAL [cnt=4, i=10, ret=-8589934577, x={14:0}, x={14:0}] [L23] COND TRUE cnt !=0 [L24] return ret / cnt; VAL [\result=-2147483644, cnt=4, i=10, ret=-8589934577, x={14:0}, x={14:0}] [L41] RET, EXPR rangesum(x) VAL [rangesum(x)=-2147483644, ret=-2147483644, temp=-2147483648, x={14:0}] [L41] ret2 = rangesum(x) [L42] EXPR x[0] [L42] temp=x[0] [L43] int i =0 ; VAL [i=0, ret=-2147483644, ret2=-2147483644, temp=-2147483647, x={14:0}] [L43] COND TRUE i<10 -1 [L44] EXPR x[i+1] [L44] x[i] = x[i+1] [L43] i++ VAL [i=1, ret=-2147483644, ret2=-2147483644, temp=-2147483647, x={14:0}] [L43] COND TRUE i<10 -1 [L44] EXPR x[i+1] [L44] x[i] = x[i+1] [L43] i++ VAL [i=2, ret=-2147483644, ret2=-2147483644, temp=-2147483647, x={14:0}] [L43] COND TRUE i<10 -1 [L44] EXPR x[i+1] [L44] x[i] = x[i+1] [L43] i++ VAL [i=3, ret=-2147483644, ret2=-2147483644, temp=-2147483647, x={14:0}] [L43] COND TRUE i<10 -1 [L44] EXPR x[i+1] [L44] x[i] = x[i+1] [L43] i++ VAL [i=4, ret=-2147483644, ret2=-2147483644, temp=-2147483647, x={14:0}] [L43] COND TRUE i<10 -1 [L44] EXPR x[i+1] [L44] x[i] = x[i+1] [L43] i++ VAL [i=5, ret=-2147483644, ret2=-2147483644, temp=-2147483647, x={14:0}] [L43] COND TRUE i<10 -1 [L44] EXPR x[i+1] [L44] x[i] = x[i+1] [L43] i++ VAL [i=6, ret=-2147483644, ret2=-2147483644, temp=-2147483647, x={14:0}] [L43] COND TRUE i<10 -1 [L44] EXPR x[i+1] [L44] x[i] = x[i+1] [L43] i++ VAL [i=7, ret=-2147483644, ret2=-2147483644, temp=-2147483647, x={14:0}] [L43] COND TRUE i<10 -1 [L44] EXPR x[i+1] [L44] x[i] = x[i+1] [L43] i++ VAL [i=8, ret=-2147483644, ret2=-2147483644, temp=-2147483647, x={14:0}] [L43] COND TRUE i<10 -1 [L44] EXPR x[i+1] [L44] x[i] = x[i+1] [L43] i++ VAL [i=9, ret=-2147483644, ret2=-2147483644, temp=-2147483647, x={14:0}] [L43] COND FALSE !(i<10 -1) VAL [i=9, ret=-2147483644, ret2=-2147483644, temp=-2147483647, x={14:0}] [L46] x[10 -1] = temp VAL [i=9, ret=-2147483644, ret2=-2147483644, temp=-2147483647, x={14:0}] [L47] CALL, EXPR rangesum(x) VAL [x={14:0}] [L13] int i; [L14] long long ret; [L15] ret = 0 [L16] int cnt = 0; [L17] i = 0 VAL [cnt=0, i=0, ret=0, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=0, i=0, ret=0, x={14:0}, x={14:0}] [L18] COND FALSE !(i > 10/2) VAL [cnt=0, i=0, ret=0, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=0, i=1, ret=0, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=0, i=1, ret=0, x={14:0}, x={14:0}] [L18] COND FALSE !(i > 10/2) VAL [cnt=0, i=1, ret=0, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=0, i=2, ret=0, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=0, i=2, ret=0, x={14:0}, x={14:0}] [L18] COND FALSE !(i > 10/2) VAL [cnt=0, i=2, ret=0, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=0, i=3, ret=0, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=0, i=3, ret=0, x={14:0}, x={14:0}] [L18] COND FALSE !(i > 10/2) VAL [cnt=0, i=3, ret=0, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=0, i=4, ret=0, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=0, i=4, ret=0, x={14:0}, x={14:0}] [L18] COND FALSE !(i > 10/2) VAL [cnt=0, i=4, ret=0, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=0, i=5, ret=0, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=0, i=5, ret=0, x={14:0}, x={14:0}] [L18] COND FALSE !(i > 10/2) VAL [cnt=0, i=5, ret=0, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=0, i=6, ret=0, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=0, i=6, ret=0, x={14:0}, x={14:0}] [L18] COND TRUE i > 10/2 [L19] EXPR x[i] [L19] ret = ret + x[i] [L20] cnt = cnt + 1 VAL [cnt=1, i=6, ret=-2147483645, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=1, i=7, ret=-2147483645, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=1, i=7, ret=-2147483645, x={14:0}, x={14:0}] [L18] COND TRUE i > 10/2 [L19] EXPR x[i] [L19] ret = ret + x[i] [L20] cnt = cnt + 1 VAL [cnt=2, i=7, ret=-4294967288, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=2, i=8, ret=-4294967288, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=2, i=8, ret=-4294967288, x={14:0}, x={14:0}] [L18] COND TRUE i > 10/2 [L19] EXPR x[i] [L19] ret = ret + x[i] [L20] cnt = cnt + 1 VAL [cnt=3, i=8, ret=-6442450934, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=3, i=9, ret=-6442450934, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=3, i=9, ret=-6442450934, x={14:0}, x={14:0}] [L18] COND TRUE i > 10/2 [L19] EXPR x[i] [L19] ret = ret + x[i] [L20] cnt = cnt + 1 VAL [cnt=4, i=9, ret=-8589934581, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=4, i=10, ret=-8589934581, x={14:0}, x={14:0}] [L17] COND FALSE !(i < 10) VAL [cnt=4, i=10, ret=-8589934581, x={14:0}, x={14:0}] [L23] COND TRUE cnt !=0 [L24] return ret / cnt; VAL [\result=-2147483645, cnt=4, i=10, ret=-8589934581, x={14:0}, x={14:0}] [L47] RET, EXPR rangesum(x) VAL [i=9, rangesum(x)=-2147483645, ret=-2147483644, ret2=-2147483644, temp=-2147483647, x={14:0}] [L47] ret5 = rangesum(x) [L49] COND TRUE ret != ret2 || ret !=ret5 VAL [i=9, ret=-2147483644, ret2=-2147483644, ret5=-2147483645, temp=-2147483647, x={14:0}] [L50] __VERIFIER_error() VAL [i=9, ret=-2147483644, ret2=-2147483644, ret5=-2147483645, temp=-2147483647, x={14:0}] ----- [2018-11-23 14:20:06,070 INFO L145 WitnessManager]: Wrote witness to /tmp/vcloud-vcloud-master/worker/working_dir_b98a0242-ee8a-4f92-a2f9-1da3047ed98d/bin-2019/uautomizer/witness.graphml [2018-11-23 14:20:06,071 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-23 14:20:06,071 INFO L168 Benchmark]: Toolchain (without parser) took 23941.36 ms. Allocated memory was 1.0 GB in the beginning and 1.3 GB in the end (delta: 310.9 MB). Free memory was 959.1 MB in the beginning and 1.3 GB in the end (delta: -310.8 MB). Peak memory consumption was 115.1 kB. Max. memory is 11.5 GB. [2018-11-23 14:20:06,072 INFO L168 Benchmark]: CDTParser took 0.12 ms. Allocated memory is still 1.0 GB. Free memory is still 985.4 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 14:20:06,072 INFO L168 Benchmark]: CACSL2BoogieTranslator took 202.84 ms. Allocated memory is still 1.0 GB. Free memory was 959.1 MB in the beginning and 948.2 MB in the end (delta: 10.9 MB). Peak memory consumption was 10.9 MB. Max. memory is 11.5 GB. [2018-11-23 14:20:06,073 INFO L168 Benchmark]: Boogie Procedure Inliner took 16.77 ms. Allocated memory is still 1.0 GB. Free memory was 948.2 MB in the beginning and 945.5 MB in the end (delta: 2.7 MB). Peak memory consumption was 2.7 MB. Max. memory is 11.5 GB. [2018-11-23 14:20:06,073 INFO L168 Benchmark]: Boogie Preprocessor took 55.69 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 140.5 MB). Free memory was 945.5 MB in the beginning and 1.1 GB in the end (delta: -193.0 MB). Peak memory consumption was 14.7 MB. Max. memory is 11.5 GB. [2018-11-23 14:20:06,073 INFO L168 Benchmark]: RCFGBuilder took 185.94 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 21.2 MB). Peak memory consumption was 21.2 MB. Max. memory is 11.5 GB. [2018-11-23 14:20:06,073 INFO L168 Benchmark]: TraceAbstraction took 20388.02 ms. Allocated memory was 1.2 GB in the beginning and 1.3 GB in the end (delta: 170.4 MB). Free memory was 1.1 GB in the beginning and 1.3 GB in the end (delta: -181.5 MB). Peak memory consumption was 446.5 MB. Max. memory is 11.5 GB. [2018-11-23 14:20:06,073 INFO L168 Benchmark]: Witness Printer took 3088.05 ms. Allocated memory is still 1.3 GB. Free memory was 1.3 GB in the beginning and 1.3 GB in the end (delta: 28.9 MB). Peak memory consumption was 28.9 MB. Max. memory is 11.5 GB. [2018-11-23 14:20:06,074 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.12 ms. Allocated memory is still 1.0 GB. Free memory is still 985.4 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 202.84 ms. Allocated memory is still 1.0 GB. Free memory was 959.1 MB in the beginning and 948.2 MB in the end (delta: 10.9 MB). Peak memory consumption was 10.9 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 16.77 ms. Allocated memory is still 1.0 GB. Free memory was 948.2 MB in the beginning and 945.5 MB in the end (delta: 2.7 MB). Peak memory consumption was 2.7 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 55.69 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 140.5 MB). Free memory was 945.5 MB in the beginning and 1.1 GB in the end (delta: -193.0 MB). Peak memory consumption was 14.7 MB. Max. memory is 11.5 GB. * RCFGBuilder took 185.94 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 21.2 MB). Peak memory consumption was 21.2 MB. Max. memory is 11.5 GB. * TraceAbstraction took 20388.02 ms. Allocated memory was 1.2 GB in the beginning and 1.3 GB in the end (delta: 170.4 MB). Free memory was 1.1 GB in the beginning and 1.3 GB in the end (delta: -181.5 MB). Peak memory consumption was 446.5 MB. Max. memory is 11.5 GB. * Witness Printer took 3088.05 ms. Allocated memory is still 1.3 GB. Free memory was 1.3 GB in the beginning and 1.3 GB in the end (delta: 28.9 MB). Peak memory consumption was 28.9 MB. Max. memory is 11.5 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - CounterExampleResult [Line: 50]: a call of __VERIFIER_error() is reachable a call of __VERIFIER_error() is reachable We found a FailurePath: [L31] int x[10]; VAL [x={14:0}] [L32] CALL init_nondet(x) VAL [x={14:0}] [L5] int i; [L6] i = 0 VAL [i=0, x={14:0}, x={14:0}] [L6] COND TRUE i < 10 [L7] x[i] = __VERIFIER_nondet_int() [L6] i++ VAL [i=1, x={14:0}, x={14:0}] [L6] COND TRUE i < 10 [L7] x[i] = __VERIFIER_nondet_int() [L6] i++ VAL [i=2, x={14:0}, x={14:0}] [L6] COND TRUE i < 10 [L7] x[i] = __VERIFIER_nondet_int() [L6] i++ VAL [i=3, x={14:0}, x={14:0}] [L6] COND TRUE i < 10 [L7] x[i] = __VERIFIER_nondet_int() [L6] i++ VAL [i=4, x={14:0}, x={14:0}] [L6] COND TRUE i < 10 [L7] x[i] = __VERIFIER_nondet_int() [L6] i++ VAL [i=5, x={14:0}, x={14:0}] [L6] COND TRUE i < 10 [L7] x[i] = __VERIFIER_nondet_int() [L6] i++ VAL [i=6, x={14:0}, x={14:0}] [L6] COND TRUE i < 10 [L7] x[i] = __VERIFIER_nondet_int() [L6] i++ VAL [i=7, x={14:0}, x={14:0}] [L6] COND TRUE i < 10 [L7] x[i] = __VERIFIER_nondet_int() [L6] i++ VAL [i=8, x={14:0}, x={14:0}] [L6] COND TRUE i < 10 [L7] x[i] = __VERIFIER_nondet_int() [L6] i++ VAL [i=9, x={14:0}, x={14:0}] [L6] COND TRUE i < 10 [L7] x[i] = __VERIFIER_nondet_int() [L6] i++ VAL [i=10, x={14:0}, x={14:0}] [L6] COND FALSE !(i < 10) VAL [i=10, x={14:0}, x={14:0}] [L32] RET init_nondet(x) VAL [x={14:0}] [L33] int temp; [L34] int ret; [L35] int ret2; [L36] int ret5; VAL [x={14:0}] [L38] CALL, EXPR rangesum(x) VAL [x={14:0}] [L13] int i; [L14] long long ret; [L15] ret = 0 [L16] int cnt = 0; [L17] i = 0 VAL [cnt=0, i=0, ret=0, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=0, i=0, ret=0, x={14:0}, x={14:0}] [L18] COND FALSE !(i > 10/2) VAL [cnt=0, i=0, ret=0, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=0, i=1, ret=0, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=0, i=1, ret=0, x={14:0}, x={14:0}] [L18] COND FALSE !(i > 10/2) VAL [cnt=0, i=1, ret=0, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=0, i=2, ret=0, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=0, i=2, ret=0, x={14:0}, x={14:0}] [L18] COND FALSE !(i > 10/2) VAL [cnt=0, i=2, ret=0, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=0, i=3, ret=0, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=0, i=3, ret=0, x={14:0}, x={14:0}] [L18] COND FALSE !(i > 10/2) VAL [cnt=0, i=3, ret=0, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=0, i=4, ret=0, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=0, i=4, ret=0, x={14:0}, x={14:0}] [L18] COND FALSE !(i > 10/2) VAL [cnt=0, i=4, ret=0, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=0, i=5, ret=0, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=0, i=5, ret=0, x={14:0}, x={14:0}] [L18] COND FALSE !(i > 10/2) VAL [cnt=0, i=5, ret=0, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=0, i=6, ret=0, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=0, i=6, ret=0, x={14:0}, x={14:0}] [L18] COND TRUE i > 10/2 [L19] EXPR x[i] [L19] ret = ret + x[i] [L20] cnt = cnt + 1 VAL [cnt=1, i=6, ret=-2147483643, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=1, i=7, ret=-2147483643, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=1, i=7, ret=-2147483643, x={14:0}, x={14:0}] [L18] COND TRUE i > 10/2 [L19] EXPR x[i] [L19] ret = ret + x[i] [L20] cnt = cnt + 1 VAL [cnt=2, i=7, ret=-4294967288, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=2, i=8, ret=-4294967288, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=2, i=8, ret=-4294967288, x={14:0}, x={14:0}] [L18] COND TRUE i > 10/2 [L19] EXPR x[i] [L19] ret = ret + x[i] [L20] cnt = cnt + 1 VAL [cnt=3, i=8, ret=-6442450931, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=3, i=9, ret=-6442450931, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=3, i=9, ret=-6442450931, x={14:0}, x={14:0}] [L18] COND TRUE i > 10/2 [L19] EXPR x[i] [L19] ret = ret + x[i] [L20] cnt = cnt + 1 VAL [cnt=4, i=9, ret=-8589934577, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=4, i=10, ret=-8589934577, x={14:0}, x={14:0}] [L17] COND FALSE !(i < 10) VAL [cnt=4, i=10, ret=-8589934577, x={14:0}, x={14:0}] [L23] COND TRUE cnt !=0 [L24] return ret / cnt; VAL [\result=-2147483644, cnt=4, i=10, ret=-8589934577, x={14:0}, x={14:0}] [L38] RET, EXPR rangesum(x) VAL [rangesum(x)=-2147483644, x={14:0}] [L38] ret = rangesum(x) [L40] EXPR x[0] [L40] temp=x[0] [L40] EXPR x[1] [L40] x[0] = x[1] [L40] x[1] = temp VAL [ret=-2147483644, temp=-2147483648, x={14:0}] [L41] CALL, EXPR rangesum(x) VAL [x={14:0}] [L13] int i; [L14] long long ret; [L15] ret = 0 [L16] int cnt = 0; [L17] i = 0 VAL [cnt=0, i=0, ret=0, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=0, i=0, ret=0, x={14:0}, x={14:0}] [L18] COND FALSE !(i > 10/2) VAL [cnt=0, i=0, ret=0, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=0, i=1, ret=0, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=0, i=1, ret=0, x={14:0}, x={14:0}] [L18] COND FALSE !(i > 10/2) VAL [cnt=0, i=1, ret=0, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=0, i=2, ret=0, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=0, i=2, ret=0, x={14:0}, x={14:0}] [L18] COND FALSE !(i > 10/2) VAL [cnt=0, i=2, ret=0, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=0, i=3, ret=0, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=0, i=3, ret=0, x={14:0}, x={14:0}] [L18] COND FALSE !(i > 10/2) VAL [cnt=0, i=3, ret=0, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=0, i=4, ret=0, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=0, i=4, ret=0, x={14:0}, x={14:0}] [L18] COND FALSE !(i > 10/2) VAL [cnt=0, i=4, ret=0, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=0, i=5, ret=0, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=0, i=5, ret=0, x={14:0}, x={14:0}] [L18] COND FALSE !(i > 10/2) VAL [cnt=0, i=5, ret=0, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=0, i=6, ret=0, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=0, i=6, ret=0, x={14:0}, x={14:0}] [L18] COND TRUE i > 10/2 [L19] EXPR x[i] [L19] ret = ret + x[i] [L20] cnt = cnt + 1 VAL [cnt=1, i=6, ret=-2147483643, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=1, i=7, ret=-2147483643, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=1, i=7, ret=-2147483643, x={14:0}, x={14:0}] [L18] COND TRUE i > 10/2 [L19] EXPR x[i] [L19] ret = ret + x[i] [L20] cnt = cnt + 1 VAL [cnt=2, i=7, ret=-4294967288, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=2, i=8, ret=-4294967288, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=2, i=8, ret=-4294967288, x={14:0}, x={14:0}] [L18] COND TRUE i > 10/2 [L19] EXPR x[i] [L19] ret = ret + x[i] [L20] cnt = cnt + 1 VAL [cnt=3, i=8, ret=-6442450931, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=3, i=9, ret=-6442450931, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=3, i=9, ret=-6442450931, x={14:0}, x={14:0}] [L18] COND TRUE i > 10/2 [L19] EXPR x[i] [L19] ret = ret + x[i] [L20] cnt = cnt + 1 VAL [cnt=4, i=9, ret=-8589934577, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=4, i=10, ret=-8589934577, x={14:0}, x={14:0}] [L17] COND FALSE !(i < 10) VAL [cnt=4, i=10, ret=-8589934577, x={14:0}, x={14:0}] [L23] COND TRUE cnt !=0 [L24] return ret / cnt; VAL [\result=-2147483644, cnt=4, i=10, ret=-8589934577, x={14:0}, x={14:0}] [L41] RET, EXPR rangesum(x) VAL [rangesum(x)=-2147483644, ret=-2147483644, temp=-2147483648, x={14:0}] [L41] ret2 = rangesum(x) [L42] EXPR x[0] [L42] temp=x[0] [L43] int i =0 ; VAL [i=0, ret=-2147483644, ret2=-2147483644, temp=-2147483647, x={14:0}] [L43] COND TRUE i<10 -1 [L44] EXPR x[i+1] [L44] x[i] = x[i+1] [L43] i++ VAL [i=1, ret=-2147483644, ret2=-2147483644, temp=-2147483647, x={14:0}] [L43] COND TRUE i<10 -1 [L44] EXPR x[i+1] [L44] x[i] = x[i+1] [L43] i++ VAL [i=2, ret=-2147483644, ret2=-2147483644, temp=-2147483647, x={14:0}] [L43] COND TRUE i<10 -1 [L44] EXPR x[i+1] [L44] x[i] = x[i+1] [L43] i++ VAL [i=3, ret=-2147483644, ret2=-2147483644, temp=-2147483647, x={14:0}] [L43] COND TRUE i<10 -1 [L44] EXPR x[i+1] [L44] x[i] = x[i+1] [L43] i++ VAL [i=4, ret=-2147483644, ret2=-2147483644, temp=-2147483647, x={14:0}] [L43] COND TRUE i<10 -1 [L44] EXPR x[i+1] [L44] x[i] = x[i+1] [L43] i++ VAL [i=5, ret=-2147483644, ret2=-2147483644, temp=-2147483647, x={14:0}] [L43] COND TRUE i<10 -1 [L44] EXPR x[i+1] [L44] x[i] = x[i+1] [L43] i++ VAL [i=6, ret=-2147483644, ret2=-2147483644, temp=-2147483647, x={14:0}] [L43] COND TRUE i<10 -1 [L44] EXPR x[i+1] [L44] x[i] = x[i+1] [L43] i++ VAL [i=7, ret=-2147483644, ret2=-2147483644, temp=-2147483647, x={14:0}] [L43] COND TRUE i<10 -1 [L44] EXPR x[i+1] [L44] x[i] = x[i+1] [L43] i++ VAL [i=8, ret=-2147483644, ret2=-2147483644, temp=-2147483647, x={14:0}] [L43] COND TRUE i<10 -1 [L44] EXPR x[i+1] [L44] x[i] = x[i+1] [L43] i++ VAL [i=9, ret=-2147483644, ret2=-2147483644, temp=-2147483647, x={14:0}] [L43] COND FALSE !(i<10 -1) VAL [i=9, ret=-2147483644, ret2=-2147483644, temp=-2147483647, x={14:0}] [L46] x[10 -1] = temp VAL [i=9, ret=-2147483644, ret2=-2147483644, temp=-2147483647, x={14:0}] [L47] CALL, EXPR rangesum(x) VAL [x={14:0}] [L13] int i; [L14] long long ret; [L15] ret = 0 [L16] int cnt = 0; [L17] i = 0 VAL [cnt=0, i=0, ret=0, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=0, i=0, ret=0, x={14:0}, x={14:0}] [L18] COND FALSE !(i > 10/2) VAL [cnt=0, i=0, ret=0, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=0, i=1, ret=0, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=0, i=1, ret=0, x={14:0}, x={14:0}] [L18] COND FALSE !(i > 10/2) VAL [cnt=0, i=1, ret=0, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=0, i=2, ret=0, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=0, i=2, ret=0, x={14:0}, x={14:0}] [L18] COND FALSE !(i > 10/2) VAL [cnt=0, i=2, ret=0, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=0, i=3, ret=0, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=0, i=3, ret=0, x={14:0}, x={14:0}] [L18] COND FALSE !(i > 10/2) VAL [cnt=0, i=3, ret=0, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=0, i=4, ret=0, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=0, i=4, ret=0, x={14:0}, x={14:0}] [L18] COND FALSE !(i > 10/2) VAL [cnt=0, i=4, ret=0, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=0, i=5, ret=0, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=0, i=5, ret=0, x={14:0}, x={14:0}] [L18] COND FALSE !(i > 10/2) VAL [cnt=0, i=5, ret=0, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=0, i=6, ret=0, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=0, i=6, ret=0, x={14:0}, x={14:0}] [L18] COND TRUE i > 10/2 [L19] EXPR x[i] [L19] ret = ret + x[i] [L20] cnt = cnt + 1 VAL [cnt=1, i=6, ret=-2147483645, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=1, i=7, ret=-2147483645, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=1, i=7, ret=-2147483645, x={14:0}, x={14:0}] [L18] COND TRUE i > 10/2 [L19] EXPR x[i] [L19] ret = ret + x[i] [L20] cnt = cnt + 1 VAL [cnt=2, i=7, ret=-4294967288, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=2, i=8, ret=-4294967288, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=2, i=8, ret=-4294967288, x={14:0}, x={14:0}] [L18] COND TRUE i > 10/2 [L19] EXPR x[i] [L19] ret = ret + x[i] [L20] cnt = cnt + 1 VAL [cnt=3, i=8, ret=-6442450934, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=3, i=9, ret=-6442450934, x={14:0}, x={14:0}] [L17] COND TRUE i < 10 VAL [cnt=3, i=9, ret=-6442450934, x={14:0}, x={14:0}] [L18] COND TRUE i > 10/2 [L19] EXPR x[i] [L19] ret = ret + x[i] [L20] cnt = cnt + 1 VAL [cnt=4, i=9, ret=-8589934581, x={14:0}, x={14:0}] [L17] i++ VAL [cnt=4, i=10, ret=-8589934581, x={14:0}, x={14:0}] [L17] COND FALSE !(i < 10) VAL [cnt=4, i=10, ret=-8589934581, x={14:0}, x={14:0}] [L23] COND TRUE cnt !=0 [L24] return ret / cnt; VAL [\result=-2147483645, cnt=4, i=10, ret=-8589934581, x={14:0}, x={14:0}] [L47] RET, EXPR rangesum(x) VAL [i=9, rangesum(x)=-2147483645, ret=-2147483644, ret2=-2147483644, temp=-2147483647, x={14:0}] [L47] ret5 = rangesum(x) [L49] COND TRUE ret != ret2 || ret !=ret5 VAL [i=9, ret=-2147483644, ret2=-2147483644, ret5=-2147483645, temp=-2147483647, x={14:0}] [L50] __VERIFIER_error() VAL [i=9, ret=-2147483644, ret2=-2147483644, ret5=-2147483645, temp=-2147483647, x={14:0}] - StatisticsResult: Ultimate Automizer benchmark data CFG has 5 procedures, 37 locations, 1 error locations. UNSAFE Result, 20.3s OverallTime, 28 OverallIterations, 30 TraceHistogramMax, 0.7s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: 967 SDtfs, 161 SDslu, 1730 SDs, 0 SdLazy, 399 SolverSat, 65 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 0.4s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 2542 GetRequests, 2417 SyntacticMatches, 0 SemanticMatches, 125 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.7s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=96occurred in iteration=27, 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: 0.1s AutomataMinimizationTime, 27 MinimizatonAttempts, 30 StatesRemovedByMinimization, 22 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TraceCheckStatistics: 0.2s SsaConstructionTime, 15.2s SatisfiabilityAnalysisTime, 1.1s InterpolantComputationTime, 2851 NumberOfCodeBlocks, 2320 NumberOfCodeBlocksAsserted, 107 NumberOfCheckSat, 2620 ConstructedInterpolants, 0 QuantifiedInterpolants, 340902 SizeOfPredicates, 26 NumberOfNonLiveVariables, 5818 ConjunctsInSsa, 163 ConjunctsInUnsatCore, 29 InterpolantComputations, 5 PerfectInterpolantSequences, 13908/14478 InterpolantCoveringCapability, InvariantSynthesisStatistics: No data available, InterpolantConsolidationStatistics: No data available, ReuseStatistics: No data available RESULT: Ultimate proved your program to be incorrect! Received shutdown request...